基于 Java 的 LLM 应用开发及编排框架,Agents-Flex beta.8 发布
Agents-Flex: 一个基于 Java 的 LLM(大语言模型)应用开发及编排框架。
基本能力
- LLM 的访问能力
- Prompt、Prompt Template 定义加载的能力
- Function Calling 定义、调用和执行等能力
- 记忆的能力(Memory)
- Embedding
- Vector Store
- 文档处理
- 加载器(Loader)
- Http
- FileSystem
- 分割器(Splitter)
- 解析器(Parser)
- PoiParser
- PdfBoxParser
- 加载器(Loader)
- Agent
- LLM Agent
- IOAgent
- Chain 执行链
- SequentialChain 顺序执行链
- ParallelChain 并发(并行)执行链
- LoopChain 循环执行连
- ChainNode
- AgentNode Agent 执行节点
- EndNode 终点节点
- RouterNode 路由节点
- GroovyRouterNode Groovy 规则路由
- QLExpressRouterNode QLExpress 规则路由
- LLMRouterNode LLM 路由(由 AI 自行判断路由规则)
Agents-Flex beta.8 更新细节:
- 新增:为 ChainNode 添加 "async" 属性标识的设置
- 新增:添加基于 Ollama 大语言模型的对接,非 openai 适配模式
- 新增:新增 DnjsonClient 用于和 Ollama 的 stream 模型对接
- 优化:重构 ChainCondition
- 优化:chat 时当大语言模型发生错误时抛出异常,之前返回 null
- 优化:重构 DocumentParser
- 优化:Parameter 支持子参数的配置能力
- 修复:Milvus 向量数据库当传入 number 类型是出错的问题
- 测试:添加对 LoopChain 的测试
- 测试:添加文使用 openai 兼容 api 对 Ollama 对接的测试
简单对话
使用 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.invoke(); System.out.println(result); //"北京的天气是阴转多云。 " }
模块构成
开源地址:

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
基于 Tailwind CSS + Shadcn 的 Vue3 后台管理模版 2024.0.6 发布
推荐一套为 Java 开发人员提供方便易用的 SDK 来与目前提供服务的的 Open AI 进行交互组件:https://github.com/devlive-community/openai-java-sdk 推荐一套功能强大的开源数据中台系统:https://github.com/devlive-community/datacap Shadcn UI Vue Admin 是一个使用 Shadcn UI (基于 Tailwind CSS) 和 Vite 和 Vue 制作的管理面板。在构建时考虑了响应能力和可访问性。 本次版本为公开版本,支持了Tree和Timeline模版功能。以下是该模版的目前支持的功能截图。 移除 Shadcn UI 原始代码优化启动编译方式 树形组件 树形组件自定义 Slot + 右键菜单 时间线组件 时间线组件 Milestone 时间线组件 Progress 时间线组件 Discussion 该模版的使用方式比较简单只要传递相应的数据即可,也支持多个 slot 用户自定义,欢迎大家使用。 推荐一套全平台数据库管理工具,建议下载使用:https://githu...
- 下一篇
smart-doc 3.0.6 发布,基于 SPI 机制支持企业自定义扩展解析内部框架
smart-doc 是一款同时支持 JAVA REST API 和 Apache Dubbo RPC 接口文档生成的工具,smart-doc 利用接口泛型和 javadoc 注释自动分析生成 api 接口文档,不采用任何注解侵入到业务代码中。只需要在项目中引入 smart-doc 提供的 maven 或者是 gradle 插件,然后按照规范写好 javadoc 注释即可生成 api 文档。同时 smart-doc 也支持生成 openapi 和 postman 这些规范的文档,生成后可以直接导入相关工具做测试。 目前在国内已被小米、科大讯飞、同程旅行、快手、马蜂窝、顺丰等知名公司所使用。 仓库地址 https://github.com/TongchengOpenSource/smart-doc 重要更新内容 新增 对Jackson框架JsonFormat的支持 修复使用`@order` 指定接口自定义序号排序错误 bug 基于 SPI 机制开放 smart-doc 的解析扩展能力,支持企业扩展解析内部自定义 Java Web 框架 社区基于 vitePress 重构了官方文档 本次版本...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- Mario游戏-低调大师作品
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Docker快速安装Oracle11G,搭建oracle11g学习环境