🔥 Java 的 LLM 框架,Agents-Flex v1.0.0 正式版发布
Agents-Flex: 一个基于 Java 的 LLM 应用开发及编排框架。
经过近 1 年的开发和迭代,Agents-Flex 发布了 30+ 个版本,终于迎来了 v1.0.0 正式版本。
目前,我们也基于 Agents-Flex 开发了许多有趣的应用,如下图所示:
工作流编排等:
Agents-Flex 的基本能力
- LLM 的访问能力
- Prompt、Prompt Template 定义加载的能力
- Function Calling 定义、调用和执行等能力
- 记忆的能力(Memory)
- Embedding
- Vector Store
- 文档处理
- 加载器(Loader)
- Http
- FileSystem
- 分割器(Splitter)
- 解析器(Parser)
- PoiParser
- PdfBoxParser
- 加载器(Loader)
- Chain 执行链
- SequentialChain 顺序执行链
- ParallelChain 并发(并行)执行链
- LoopChain 循环执行连
- ChainNode
简单对话
使用 OpenAi 大语言模型:
@Test public void testChat() { OpenAiLlmConfig config = new OpenAiLlmConfig(); config.setApiKey("sk-rts5NF6n*******"); Llm llm = new OpenAiLlm(config); String response = llm.chat("请问你叫什么名字"); System.out.println(response); }
使用 “通义千问” 大语言模型:
@Test public void testChat() { QwenLlmConfig config = new QwenLlmConfig(); config.setApiKey("sk-28a6be3236****"); config.setModel("qwen-turbo"); Llm llm = new QwenLlm(config); String response = llm.chat("请问你叫什么名字"); System.out.println(response); }
使用 “讯飞星火” 大语言模型:
@Test public void testChat() { SparkLlmConfig config = new SparkLlmConfig(); config.setAppId("****"); config.setApiKey("****"); config.setApiSecret("****"); Llm llm = new SparkLlm(config); String response = llm.chat("请问你叫什么名字"); System.out.println(response); }
历史对话示例
public static void main(String[] args) { SparkLlmConfig config = new SparkLlmConfig(); config.setAppId("****"); config.setApiKey("****"); config.setApiSecret("****"); Llm llm = new SparkLlm(config); HistoriesPrompt prompt = new HistoriesPrompt(); System.out.println("您想问什么?"); Scanner scanner = new Scanner(System.in); String userInput = scanner.nextLine(); while (userInput != null) { prompt.addMessage(new HumanMessage(userInput)); llm.chatStream(prompt, (context, response) -> { System.out.println(">>>> " + response.getMessage().getContent()); }); userInput = scanner.nextLine(); } }
Function Calling
- 第一步:通过注解定义本地方法
public class WeatherUtil { @FunctionDef(name = "get_the_weather_info", description = "get the weather info") public static String getWeatherInfo( @FunctionParam(name = "city", description = "the city name") String name ) { //在这里,我们应该通过第三方接口调用 api 信息 return name + "的天气是阴转多云。 "; } }
- 第二步:通过 Prompt、Functions 传入给大模型,然后得到结果
public static void main(String[] args) { OpenAiLlmConfig config = new OpenAiLlmConfig(); config.setApiKey("sk-rts5NF6n*******"); OpenAiLlm llm = new OpenAiLlm(config); FunctionPrompt prompt = new FunctionPrompt("今天北京的天气怎么样", WeatherUtil.class); FunctionResultResponse response = llm.chat(prompt); Object result = response.getFunctionResult(); System.out.println(result); //"北京的天气是阴转多云。 " }
Agents-Flex v1.0.0 更新记录:
- 修复:NodeContext.isUpstreamFullyExecuted() 方法判断错误的问题
- 新增: SparkLlm 添加 concurrencyLimitSleepMillis 配置
- 新增: openai 添加 chatPath 配置和 embed path 配置
- 新增: HistoriesPrompt 添加 temporaryMessages 配置
源码下载

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
RXThinkCMF 敏捷开发框架 ThinkPhp8+Layui 版本 v2.4.0 发布
v2.4.0 更新内容: 1、新增 `DevOps` 兼容解决方案; 2、优化 `Docker` 容器化脚本; 3、修复近期用户反馈的问题; 项目介绍 一款基于 ThinkPHP8、Layui、MySQL 等技术栈研发的敏捷开发框架,拥有整套完善的 RBAC 权限架构体系,以用户、角色、菜单为维度设计了一套按钮节点级别的颗粒度权限控制,官方打造了一套组件化、插件化系统核心组件,包括但不限于单图、多图上传组件、图片裁剪组件、下拉选择组件、富文本组件、单选框组件、复选框组件、日期组件、开关组件、穿梭组件、行政区划组件等,在需要使用的模块表单直接引入组件即可,实现了轻量化、敏捷化、高可用的开发模式,简化了开发方式、提高了研发效率,降低了维护成本,目前官方发行版已集成了用户、角色、菜单、职级、岗位、部门、日志、字典、配置、广告、友链、CMS 文章、行政区划、通知公告、网站设置等基础模块;此外软件框架基于官方定制化模板引擎研发并集成了代码生成器,实现了一键生成 CURD 整个模块的增、删、改、查等功能,同步生成后端、前端以及菜单节点权限数据等,赋予权限后即可访问使用;为了企业、政府、开发者提供了...
- 下一篇
go-carbon v2.6.2 正式版发布,轻量级、语义化的 golang 时间处理库
carbon 是一个轻量级、语义化、对开发者友好的 Golang 时间处理库,提供了对时间穿越、时间差值、时间极值、时间判断、星座、星座、农历、儒略日 / 简化儒略日、波斯历 / 伊朗历的支持。 carbon 目前已捐赠给 dromara 开源组织和被 awesome-go 收录,并获得 gitee 2024 年最有价值项目(GVP)和 gitcode 2024 年度 G-Star 项目,如果您觉得不错,请给个 star 吧 github.com/golang-module/carbon gitee.com/golang-module/carbon gitcode.com/golang-module/carbon 更新日志 CreateFromLunar, CreateFromPersian 方法去掉 hour, minute, second 参数 更改部分格式符号定义,涉及到的符号有 U, V, X,S,T Z,u,v,x,z 修复农历中 IsLeapMonth 判断错误的 bug 修复 AtomFormat 和 AtomLayout 格式返回值不一致的 bug 修复 RFC3339...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS关闭SELinux安全模块
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Mario游戏-低调大师作品
- CentOS8编译安装MySQL8.0.19
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果