🔥 基于 Java 的 LLM 开发框架,Agents-Flex rc.7 发布
Agents-Flex: 一个基于 Java 的 LLM 应用开发及编排框架。
经过近 1 年的开发和迭代,Agents-Flex 终于迎来了 RC,也就意味着 API 基本稳定,接下来的主要工作和完善文档和细节优化,进化在几个 RC 版本后,推出正式的版本。
目前,我们也基于 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 rc.7 更新记录:
- 新增:添加在在返回消息中增加推理内容的功能,支持 deepseek 的推理返回,感谢 @rirch
- 新增:添加 vectorexdb 内嵌版本支持,无需额外部署数据库,感谢 @javpower
- 新增:添加接入腾讯大模型语言、文生图模型与向量化接口的支持,感谢 @sunchanghuilinqing
- 新增:对接豆包 doubao-1-5-vision-pro-32k 多模态模型以及文生图的支持,感谢 @wang110wyy
- 新增:新增阿里百炼平台的文生图模型,感谢 @sunchanghuilinqing
- 新增:新增基于 VLLM 部署大模型接入,感谢 @sunchanghuilinqing
- 新增:新增 LogUtil 用于输出日志
- 优化:优化 DnjsonClient 的相关代码逻辑
- 修复:星火大模型的 uid 太长的问题,感谢 @wu-zhihao
- 修复:Ollama Llm 的 chatStream 主动关闭流时发生错误的问题
- 修复:修复默认情况下 OllamaProperties 的 endpoint 配置错误的问题
源码下载

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
🎉 模型即服务 - Wow 框架 v5.6.5 震撼发布!🎉
领域驱动|事件驱动|测试驱动|声明式设计|响应式编程|命令查询职责分离|事件溯源 官方文档:https://wow.ahoo.me/ 🌟 Wow 框架 v5.6.5 震撼发布!仅需编写领域模型,即可以完成服务开发! 🌟 核心优化概览 🔧框架增强 强化状态聚合根解析与异常处理机制 新增命令后置处理器(AfterCommand)支持:支持优先级排序与执行策略配置 重构事件溯源处理流程,优化消息流性能 🗃️缓存革新 深度集成CoCache 3.x系列,新增StateCacheRefresher智能刷新机制 解耦缓存数据源,独立状态缓存与查询服务缓存逻辑 优化缓存键值映射策略,简化数据类型转换流程 📡开放能力升级 全面升级OpenAPI 3.1规范支持 新增Joda Money数据类型自动转换 重构API客户端层级架构: 分离响应式/同步查询接口 优化快照查询API设计 ⚡性能调优 重构JSON序列化核心算法 动态调整Gradle编译器参数提升反射效率 优化单元测试框架集成配置 依赖矩阵更新 基础框架 🛠️Spring Boot➔ v3.4.3 🪢OpenTelemetry➔ 工...
- 下一篇
《灯灯》多租户快速开发平台 5.0.7 发布,适配 vue-vben5
升级内容 feat(lamp-generator): 代码生成器支持生成 lamp-web-max-vben 版前端的单表页面 refactor(lamp-oauth): 获取前端菜单接口支持meta对象的activePath属性 refactor(lamp-oauth): 获取前端菜单接口支持2级以及多级隐藏菜单 feat(lamp-web-max-vben): 新增hasAnyPermission、withoutAnyPermission、withoutPermission、hasPermission指令 feat(lamp-web-max-vben): 租户维护 开发完成 feat(lamp-web-max-vben): 用户维护 开发完成 feat(lamp-web-max-vben): 资源维护 开发完成 feat(lamp-web-max-vben): 应用资源授权 开发完成 feat(lamp-web-max-vben): 应用授权记录 开发完成 feat(lamp-web-max-vben): 字典维护 开发完成 feat(lamp-web-max-vben): 数据字...
相关文章
文章评论
共有0条评论来说两句吧...