新增对 Gitee AI Function Call 的支持,Agents-Flex rc.2 发布
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); //"北京的天气是阴转多云。 " }
生态支持
大语言模型
大语言模型名称 | 支持情况 | 描述 |
---|---|---|
ChatGPT | ✅ 已支持 | - |
Ollama 部署模型 | ✅ 已支持 | - |
星火大模型 | ✅ 已支持 | - |
通义千问 | ✅ 已支持 | - |
智普 ChatGLM | ✅ 已支持 | - |
月之暗面 Moonshot | ✅ 已支持 | - |
扣子 Coze | ✅ 已支持 | - |
GiteeAI - Qwen2-7B-Instruct | ✅ 已支持 | - |
GiteeAI - Qwen2-72B-Instruct | ✅ 已支持 | - |
GiteeAI - Yi-1.5-34B-Chat | ✅ 已支持 | - |
GiteeAI - glm-4-9b-chat | ✅ 已支持 | - |
文心一言 | 计划中... | 期待 PR |
图片生成模型
大语言模型名称 | 支持情况 | 描述 |
---|---|---|
Openai | ✅ 已支持 | - |
Stability | ✅ 已支持 | - |
GiteeAI - stable-diffusion-3-medium | ✅ 已支持 | - |
GiteeAI - FLUX.1-schnell | ✅ 已支持 | - |
GiteeAI - stable-diffusion-xl-base-1.0 | ✅ 已支持 | - |
GiteeAI - Kolors | ✅ 已支持 | - |
更多 | 计划中... | 期待 PR |
向量化模型
大语言模型名称 | 支持情况 | 描述 |
---|---|---|
Openai | ✅ 已支持 | - |
星火大模型 | ✅ 已支持 | - |
智普 ChatGLM | ✅ 已支持 | - |
Ollama | ✅ 已支持 | - |
通义千问 | ✅ 已支持 | - |
GiteeAI - bge-small-zh-v1.5 | ✅ 已支持 | - |
GiteeAI - bge-large-zh-v1.5 | ✅ 已支持 | - |
GiteeAI - bge-m3 | ✅ 已支持 | - |
更多 | 计划中... | 期待 PR |
向量存储(向量数据库)
向量数据库名称 | 支持情况 | 描述 |
---|---|---|
Milvus | ✅ 已支持 | - |
阿里云向量数据存储服务 | ✅ 已支持 | - |
腾讯云向量数据存储服务 | ✅ 已支持 | - |
OpenSearch | ✅ 已支持 | - |
ElasticSearch | ✅ 已支持 | - |
Redis | ✅ 已支持 | - |
Chroma | 计划中... | 期待 PR |
Cassandra | 计划中... | 期待 PR |
Gemfire | 计划中... | 期待 PR |
Weaviate | 计划中... | 期待 PR |
文档解析器
向量数据库名称 | 支持情况 | 描述 |
---|---|---|
PDFBox | ✅ 已支持 | 用于解析 PDF 文档 |
POI | ✅ 已支持 | 用于解析 Word 文档 |
OmniParse | ✅ 已支持 | 更丰富的解析能力 |
更多 | 计划中... | 期待 PR |
模块构成
更新记录:
- 新增: Gitee AI 添加对 Function Calling 的支持
- 新增: HumanMessage 添加 toolChoice 配置的支持
- 优化: 优化编辑节点 BaseNode 和 Maps 工具类

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
🔥高质量代码 SmartAdmin V3.10 重磅更新
SmartAdmin「高质量代码、简洁、高效、安全」的快速开发平台 v3.10 版本 发布,更新如下: 【新增】全屏模式Modal等终极解决方案 【新增】生成环境去掉跨域 【优化】其他一些小细节 SmartAdmin由中国·洛阳1024创新实验室基于SpringBoot2/3+Sa-Token+Mybatis-Plus 和 Vue3+Ant Design Vue+Uni-App+Uni-UI,并以「高质量代码」为核心,「简洁、高效、安全」的快速开发平台。 国内首个满足《网络安全-三级等保》、《数据安全》功能要求,支持登录限制、接口国产加解密、数据脱敏等一系列安全要求。 前端提供JavaScript和TypeScript双版本,后端提供Java8+SpringBoot2.X和Java17+SpringBoot3.X 双版本。 同时重磅开源开源六年来千余家企业验证过且正在使用的代码规范:《高质量代码思想》、《Vue3规范》、《Java规范》,让大家在这浮躁的世界里感受到一股把代码写好的清流!同时又能节省大量时间,减少加班,快乐工作,保持谦逊,保持学习,热爱代码,更热爱生活! 技术体系 前端...
- 下一篇
【支持国产】mica-mqtt 2.3.9 发布,兼容 solon 2.8.x 到 3.x
一、简介 mica-mqtt 基于 java aio 实现的简单、低延迟、高性能 的 mqtt 物联网开源组件。mica-mqtt 更加易于集成到已有服务和二次开发,降低自研物联网平台开发成本。 二、功能 支持 MQTT v3.1、v3.1.1 以及 v5.0 协议。 支持 websocket mqtt 子协议(支持 mqtt.js)。 支持 http rest api,http api 文档详见:https://gitee.com/596392912/mica-mqtt/blob/master/docs/http-api.md 支持 MQTT client 客户端。 支持 MQTT server 服务端。 支持 MQTT 遗嘱消息。 支持 MQTT 保留消息。 支持自定义消息(mq)处理转发实现集群。 MQTT 客户端 阿里云 mqtt 连接 demo。 支持 GraalVM 编译成本机可执行程序。 支持 Spring boot、Solon 和 JFinal 项目快速接入。 mica-mqtt-spring-boot-starter 支持对接 Prometheus + Grafana...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS关闭SELinux安全模块
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Hadoop3单机部署,实现最简伪集群
- CentOS6,7,8上安装Nginx,支持https2.0的开启