diff --git a/docs/changes.md b/docs/changes.md new file mode 100644 index 0000000..cec108d --- /dev/null +++ b/docs/changes.md @@ -0,0 +1,658 @@ +# Agents-Flex ChangeLog + +## v1.3.4 20250817 +- 新增:Parameter 新增 formPlaceholder 属性 + + +## v1.3.3 20250806 +- 优化:优化合并 ConfirmParameter 到 Parameter,以支持更多的场景 + + +## v1.3.2 20250731 +- 优化:优化 AiMessageResponse.getFunctionCallers 方法 +- 修复:多轮 function call 时,获取最后一条 HumanMessage 错误的问题 +- 修复:Chain 的 Parameter 类型为 Array 时,内容固定值无法解析的问题 + + +## v1.3.1 20250722 +- 新增:ChatOptions 新增 extra 配置,用于自定义大模型的参数内容 +- 修复:节点异步执行的情况下,可能出现 check 不正确的问题 +- 修复:jsExecNode 无法转换结果为 JsonObject 的问题 +- 优化:优化 getNodeContext 方法,只需要传入 id 值 +- 优化:移除 Moonshot ,使用 openai 替代 + + +## v1.2.9 20250718 +- 优化:优化 parent 和 children 的过度设计,使之逻辑更加简洁 +- 修复:修复 Node 包含子的 chain 时,会导致 json 解析错误的问题 + + +## v1.2.8 20250715 +- 新增: ReActAgent 添加 ChatOptions 的设置能力 +- 新增: ConfirmParameter 添加更多的配置参数支持 +- 优化: 优化 getParameterValues 的错误信息 +- 优化: 移除 chain 非必要的 error 日志 +- 优化: 优化 Chain.getParameterValues + + +## v1.2.7 20250713 +- 新增:代码执行节点添加 “_context” 对象 +- 新增:新增 Chain.toJSON() 和 Chain.fromJSON() 方法 +- 新增:新增 ConfirmNode 用于支持用户手动确认的场景 +- 优化:优化 Chain.getParameterValues 方法 +- 优化:移动 Chain 监听器的相关类到 listener 包里去 + + +## v1.2.6 20250709 +- 新增: Chain 新增 getNodeExecuteResult 方法 +- 优化:优化重构 EdgeCondition 和 NodeCondition 方法 + + +## v1.2.5 20250707 +- 新增:新增 Audio 多模态的支持 +- 新增:新增 ReActMessageBuilder,允许用户构建自定义的消息 +- 优化:feat: 修改 TextAndImageMessage 和 TextAndAudioMessage 为 HumanImageMessage 和 HumanAudioMessage +- 修复:DeepseekLlm 无法自动注入,配置 factories 文件 + + +## v1.2.4 20250701 +- 新增:在节点执行出错时,添加必要的错误日志输出 +- 新增:大模型 Parameter 添加子 Parameter 的配置支持 +- 新增:ReActAgent 添加 continueOnActionJsonParseError 和 continueOnActionInvokeError 配置 +- 修复:修复 EmbeddingModel.dimensions() 错误信息不友好的问题 +- 修复:function call第二次请求模型时缺少了tools信息 close #ICG584 + + +## v1.2.3 20250626 +- 新增:节点添加循环执行的配置能力 +- 新增:新增 starter 中 deepseek 的配置支持,openai 可以指定 chatpath 属性 +- 新增:OpenAILlm 支持自定义 HttpClient +- 优化:优化 bom 模块依赖冲突 close #ICG2TD +- 优化:优化 ReActAgent 代码,新增更多的监听支持 +- 优化:优化 OkHttpClientUtil 的默认参数 +- 优化:重命名 JavascriptStringCondition 为 JsCodeCondition +- 修复:修复 Gitee 生成图片错误的问题 +- 文档:更新 chain 的相关文档 +- 文档:更新优化 LLM 示例代码 +- 文档:优化 prompt 示例代码 +- 文档:节点循环示例代码 + + +## v1.2.2 20250618 +- 新增:新增 es 和 lucene 搜索引擎 + + +## v1.2.0 20250614 +- 新增:新增 "default" rerank 模型,用于对接多个不同的 rerank 服务 +- 新增:新增 ReAct Agent +- 优化:挂起-恢复执行逻辑优化,每次执行节点移除挂起节点列表中该节点 + + +## v1.1.8 20250605 +- 新增:阿里云增加余弦相似度得分回显 +- 修复: 修正 Milvus 下 COSINE 相似度计算方法 + + + +## v1.1.7 20250604 +- 修复:使用 qwen-plus 调用 function_call 没有正确拼接大模型返回的参数问题 +- 修复: 修复 DeepseekLlmUtil 类型转换错误 +- 修复: HistoriesPrompt 的 toMessages 可能多次添加 systemMessage 的问题 + + + +## v1.1.5 20250603 +- 修复:修复 CodeNode 的 js 无法通过 "." 调用 map 数据的问题 + + + +## v1.1.4 20250530 +- 新增: 为 ChainStartEvent 和 ChainResumeEvent 添加获取初始化参数的功能 +- 优化: 优化 JsExecNode 在每次执行脚本时新建一个独立 Context +- 优化: 优化 Event 的 toString +- 修复: node 的状态在执行时未自动变化的问题 + + + +## v1.1.3 20250527 +- 修复:修复阿里云百炼 text-embedding-v3 向量化使用 milvus 使用默认向量模型导致两次维度不一致问题 +- 修复:qwen3 非流式返回设置 enable_thinking 为 false + + + +## v1.1.2 20250524 +- 新增: StreamResponseListener 添加 onMatchedFunction 方法 +- 新增: 添加 openai 兼容 api 的其他第三方 api 测试 +- 优化: 添加 FunctionPrompt 的 toString 方法 +- 优化: 优化 ImagePrompt 的方法 +- 优化: 优化 ToolPrompt 支持多个方法调用 +- 优化: 优化 Stream 模型下的 Function Call +- 优化: 优化 SseClient 的 tryToStop 方法 +- 优化: 优化 FunctionCall 以及添加 toString 方法 +- 优化: 优化 OpenAILlm.java + + + +## v1.1.1 20250522 +- 新增:新增 NodeErrorListener 用于监听 node 的错误情况 +- 优化:重构 ChainErrorListener 的参数顺序 +- 优化:优化 getParameterValues 的默认值获取 + + + +## v1.1.0 20250516 +- 优化:增强 LLM 的 markdown 包裹优化 +- 优化:重命名 StringUtil.obtainFirstHasText 方法名称为 getFirstWithText +- 修复:修复大模型节点,返回 json 内容时不正确的问题 +- 修复:修复 EndNode 在输出固定值时出现 NPE 的问题 + + + +## v1.0.9 20250513 +- 新增: Chain 添加 reset 方法,使之调用后可以执行多次 +- 优化:不允许设置默认 EmbeddingOptions 配置的 encodingFormat +- 优化:修改模型思考过程的设置,让 content 和 reasoningContent 输出内容一致,感谢 @Alex + + + +## v1.0.8 20250511 +- 优化:优化 elasticSearch 用户自定义集合名称就用用户自定义集合,没有传就用默认集合名称 +- 优化:从命名 TextPromptTemplate.create 方法名称为 TextPromptTemplate.of,更加符合 “缓存” 的特征 +- 修复:修复 openSearch 存储报错问题 +- 文档:添加提示词相关文档 +- 文档:添加 “模板缓存” 的相关文档 +- 测试:添加 milvus 向量存储用法示例测试类,感谢 @lyg + + + +## v1.0.7 20250508 +- 新增: 添加 Milvus 的相识度返回 +- 新增: Chain.getParameterValues 添加对固定数据格式填充的能力 +- 优化: Parameter 添加 dataType 默认数据 +- 优化: TextPromptTemplate.create 添加缓存以提高性能 + + + +## v1.0.6 20250507 +- 新增: 增加 qdrant 向量数据库支持 +- 优化: 重构 TextPromptTemplate,使其支持更多的语法 +- 优化: 优化 pom 管理 + + + +## v1.0.5 20250430 +- 新增: 允许通过 ChatOptions 在运行时动态替换模型名称 +- 新增:增加是否开启思考模式参数,适用于 Qwen3 模型 +- 新增:Document 增加文档标题 +- 新增:增强知识库查询条件 +- 新增:优化 Chain 的 get 逻辑,支持获取对象的属性内容 +- 测试:添加通过 OpenAI 的 API 调用 Gitee 进行图片识别 +- 测试:添加 chain 的数据获取测试 + + + +## v1.0.4 20250427 +- 新增: 为 VectorData 添加 score 属性,统一文档 score 字段 +- 优化:重构 Chain 的异步执行逻辑 + + + +## v1.0.3 20250425 +- 新增: deepseek-r1 推理过程增量输出改为完整输出和内容的输出保持一致,感谢 @liutf +- 新增: 增加 QwenChatOptions,让通义千问支持更多的参数,感谢 @liutf +- 新增:新增 ChainHolder,用于序列化 ChainNode,以支持分布式执行 +- 优化:优化 Chain,在暂停时抛出异常 + + + +## v1.0.2 20250412 +- feat: add JavascriptStringCondition +- refactor: move "description" property to ChainNode +- test: add ChainConditionStringTest + +--- +- 新增:添加 JavascriptStringCondition 条件 +- 重构:移动 "description" 属性到 ChainNode +- 测试:添加 ChainConditionStringTest 测试 + + + +## v1.0.1 20250411 +- fix: LlmNode can not return the correct result if outType is text +- fix: TextPromptTemplate can not parse `{{}}` + +--- +- 修复:修复 LlmNode 当配置 outType 时,不能返回正确结果的问题 +- 修复:TextPromptTemplate 无法可以解析 `{{}}` 的问题 + + + +## v1.0.0 20250407 +- fix: fixed NodeContext.isUpstreamFullyExecuted() method +- feat: add "concurrencyLimitSleepMillis" config for SparkLlm +- feat: openai add chatPath config and embed path config +- feat: HistoriesPrompt add temporaryMessages config + +--- +- 修复:NodeContext.isUpstreamFullyExecuted() 方法判断错误的问题 +- 新增: SparkLlm 添加 concurrencyLimitSleepMillis 配置 +- 新增: openai 添加 chatPath 配置和 embed path 配置 +- 新增: HistoriesPrompt 添加 temporaryMessages 配置 + + + +## v1.0.0-rc.9 20250331 +- feat: Added support for vector database Pgvector, thanks @daxian1218 +- feat: Chain added "SUSPEND" state and ChainSuspendListener listener +- feat: Chain's RefType added "fixed" type. +- feat: Chain's Parameter added "defaultValue" +- feat: Chain added ChainResumeEvent event +- feat: ChainNode added "awaitAsyncResult" property configuration +- refactor: Return the complete response and answer information of coze chat to obtain complete information such as conversation_id, thanks @knowpigxia +- refactor: Optimize the implementation details of RedisVectorStore +- refactor: Chain removed OnErrorEvent and added ChainErrorListener instead +- refactor: Rename BaseNode's "getParameters" method to "getParameterValues" +- refactor: Rename Chain's event and remove the On prefix + +--- +- 新增:新增向量数据库 Pgvector 的支持,感谢 @daxian1218 +- 新增:Chain 新增 "SUSPEND" 状态以及 ChainSuspendListener 监听 +- 新增:Chain 的 RefType 新增 "fixed" 类型。 +- 新增:Chain 的 Parameter 新增 "defaultValue" +- 新增:Chain 新增 ChainResumeEvent 事件 +- 新增:ChainNode 新增 "awaitAsyncResult" 属性配置 +- 优化:返回 coze chat 完整的 response、answer 信息,以便获取 conversation_id 等完整信息,感谢 @knowpigxia +- 优化:优化 RedisVectorStore 的实现细节 +- 优化:Chain 移除 OnErrorEvent 并新增 ChainErrorListener 代替 +- 优化:重命名 BaseNode 的 "getParameters" 方法为 "getParameterValues" +- 优化:重命名 Chain 的事件,移除 On 前缀 + + + +## v1.0.0-rc.8 20250318 +- feat: Added LLM support for siliconflow, thanks @daxian1218 +- feat: Chain's dynamic code node supports running Javascript scripts, thanks @hhongda +- feat: Removed deepseek's invalid dependency on openai module, thanks @daxian1218 +- feat: Optimized EmbeddingModel and added direct embedding of String + +--- +- 新增:新增 LLM 对 siliconflow(硅基流动)的支持,感谢 @daxian1218 +- 新增:Chain 的动态代码节点支持运行 Javascript 脚本,感谢 @hhongda +- 优化:移除 deepseek 无效的依赖 openai 模块,感谢 @daxian1218 +- 优化:优化 EmbeddingModel,添加直接对 String 的 embed + + + +## v1.0.0-rc.7 20250312 +- feat: Added the function of adding reasoning content to the return message, supporting deepseek's reasoning return, thanks @rirch +- feat: Added support for vectorexdb embedded version, no need to deploy database separately, thanks @javpower +- feat: Added support for accessing Tencent's large model language, Wensheng graph model and vectorization interface, thanks @sunchanghuilinqing +- feat: Support for docking Doubao doubao-1-5-vision-pro-32k multimodal model and Wensheng graph, thanks @wang110wyy +- feat: Added Wensheng graph model of Alibaba Bailian platform, thanks @sunchanghuilinqing +- feat: Added VLLM-based large model access, thanks @sunchanghuilinqing +- feat: Added LogUtil for log output +- feat: Optimized the relevant code logic of DnjsonClient +- fix: The problem of too long uid of Spark large model, thanks @wu-zhihao +- fix: ChatStream of Ollama Llm An error occurred when actively closing the stream +- fix: Fixed an issue where the endpoint configuration of OllamaProperties was incorrect by default + +--- +- 新增:添加在在返回消息中增加推理内容的功能,支持 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 配置错误的问题 + + + +## v1.0.0-rc.6 20250220 +- feat: Springboot's automatic configuration class for Ollama +- feat: Added ToolPrompt function to facilitate the use with Function Call +- refactor: Change openAi to openAI +- refactor: Optimize LlmNode and TextPromptTemplate +- refactor: Upgrade related dependencies to the latest version +- refactor: Optimize the empty user prompt words defined during the LlmNode runtime +- refactor: Move the package name of functions to the directory llm (destructive update!!!) +- refactor: Refactor InputParameter and OutputKey to merge into Parameter (destructive update!!!) +- fix: Use the openai interface to connect to the local ollama to build a large model, and multiple function definitions are called abnormally +- fix: Fix the problem that agents-flex-bom cannot pull group code + +--- +- 新增:Springboot 对 Ollama 的自动配置类 +- 新增:新增 ToolPrompt 功能,方便配合 Function Call 的使用 +- 优化:修改 openAi 为 openAI +- 优化:优化 LlmNode 和 TextPromptTemplate +- 优化:升级相关依赖到最新版本 +- 优化:优化 LlmNode 运行期定义空的用户提示词 +- 优化:移动 functions 的包名到目录 llm(破坏性更新 !!!) +- 优化:重构 InputParameter 和 OutputKey 合并到 Parameter(破坏性更新 !!!) +- 修复:使用 openai 接口对接本地 ollama 搭建大模型,多个函数定义调用异常 +- 修复:修复 agents-flex-bom 无法拉群代码的问题 + + + +## v1.0.0-rc.5 20250210 +- feat: Added support for VectoRex vector database +- feat: Added support for DeepSeek large models +- feat: ImagePrompt adds support for local files, Stream and Base64 configurations +- refactor: agents-flex-bom facilitates one-click import of all modules + +--- +- 新增:添加 VectoRex 向量数据库的支持 +- 新增:增加 DeepSeek 大模型的支持 +- 新增:ImagePrompt 添加本地文件、Stream 和 Base64 配置的支持 +- 优化:agents-flex-bom 方便一键导入所有模块 + + + +## v1.0.0-rc.4 20241230 +- refactor: Use pom to build and only manage versions +- refactor: Optimize the relevant code of RedisVectorStore +- refactor: BaseNode.getChainParameters() method +- refactor: Optimize Chain.executeForResult method + +--- +- 优化: 采用 pom方式构建并只做版本统一管理 +- 优化: 优化 RedisVectorStore 的相关代码 +- 优化: BaseNode.getChainParameters() 方法 +- 优化: 优化 Chain.executeForResult 方法 + + + +## v1.0.0-rc.3 20241126 +- refactor: optimize Chain.executeForResult() method +- refactor: optimize Chain events +- fix: fixed Spark payload build error +- fix: fixed qwen model unable to embed + +--- +- 优化: 优化 Chain.executeForResult() 方法 +- 优化: 优化 Chain 的相关 event 事件 +- 修复: 修复星火大模型 payload 构建错误 +- 修复: 修复 qwen 大模型无法使用 Embedding 的问题 + + + +## v1.0.0-rc.2 20241118 +- feat: Gitee AI adds support for Function Calling +- feat: HumanMessage adds support for toolChoice configuration +- refactor: Optimize editing node BaseNode and Maps tool classes + +--- +- 新增: Gitee AI 添加对 Function Calling 的支持 +- 新增: HumanMessage 添加 toolChoice 配置的支持 +- 优化: 优化编辑节点 BaseNode 和 Maps 工具类 + + + +## v1.0.0-rc.1 20241106 +- refactor: add BaseFunction.java +- fix: spark LLM can not support v4.0 +- fix: fix code node can not get the parameters + +--- +- 优化:新增 BaseFunction 类 +- 修复:修复星火大模型不支持 v4.0 的问题 +- 修复:修复代码节点无法获取参数的问题 + + + +## v1.0.0-rc.0 20241104 +- refactor: refactor llm apis +- refactor: refactor chain and nodes +- refactor: optimize agents-flex-solon-plugin @noear_admin + +--- +- 优化:重构 llm api +- 优化:重构 chain 链路 及其相关节点 +- 优化:优化 agents-flex-solon-plugin @noear_admin + + + +## v1.0.0-beta.13 20241026 +- feat: add plugin for solon framework +- refactor: optimize VectorStore delete methods +- refactor: optimize RedisVectorStore for sort by desc +- refactor: optimize SparkLLM embedding + +--- +- 新增:添加 solon 添加新的插件支持 +- 优化: 重构 VectorStore 的 delete 方法 +- 优化: 优化 RedisVectorStore 的搜索排序 +- 优化: 星火大模型新增秒级并发超过授权路数限制进行重试 + + +## v1.0.0-beta.12 20241025 +- refactor:add DocumentStoreConfig +- refactor:optimize HistoriesPrompt.java +- refactor: update pom.xml in agents-flex-bom +- refactor: upgrade jedis version to "5.2.0" +- refactor: optimize RedisVectorStore +- fix: NoClassDefFoundError in jdk17: javax/xml/bind/DatatypeConverter 感谢 @songyinyin #I9AELG + +--- +- 优化:添加 DocumentStoreConfig,向量数据库的配置都实现 DocumentStoreConfig +- 优化:重构优化 HistoriesPrompt,使其支持更多的属性配置 +- 优化:更新 agents-flex-bom 的 pom.xml +- 优化:升级 jedis 版本为 "5.2.0" +- 优化:重构 RedisVectorStore 的错误信息,使之错误信息更加友好 +- 修复:修复 jdk17 下出现 NoSuchMethodError 问题,感谢 @songyinyin #I9AELG + + + +## v1.0.0-beta.11 20240918 +- feat: GenerateImageRequest add negativePrompt property +- feat: Maps Util add putOrDefault method +- feat: add siliconFlow image models +- feat: ChatOptions add "seed" property +- feat: Maps can put a child map by key +- feat: Ollama add options config +- feat: Ollama function calling support +- feat: add StringUtil.isJsonObject method +- refactor: BaseImageRequest add extend options property +- refactor: make ImagePrompt to extends HumanMessage +- refactor: ImageResponse add error flag and errorMessage properties +- refactor: rename Image.writeBytesToFile to writeToFile +- refactor: rename "giteesd3" to "gitee" +- refactor: optimize VectorData.toString + + +--- +- 新增:GenerateImageRequest 添加反向提示词相关属性 +- 新增:Maps 工具类添加 putOrDefault 方法 +- 新增:添加 siliconFlow 的图片模型的支持 +- 新增: ChatOptions 添加 "seed" 属性 +- 新增:Maps 可以 put 一个子 map 的功能 +- 新增:新增 Ollama 的函数调用(Function Calling)的支持 +- 新增:添加 StringUtil.isJsonObject 方法 +- 优化:重构 BaseImageRequest 类,添加 options 属性 +- 优化:重构 ImagePrompt 使之继承于 HumanMessage +- 优化:重构 ImageResponse 类,添加 error 和 errorMessage 属性 +- 优化:修改 Image.writeBytesToFile 方法为 writeToFile +- 优化:重命名 "giteesd3" 为 "gitee" +- 优化:重构 VectorData.toString 方法 + + + + +## v1.0.0-beta.10 20240909 +- feat: Added support for RedisStore vector storage, thanks to @giteeClass +- feat: Added support for large model dialogues for Coze Bot, thanks to @yulongsheng +- feat: Automatic configuration of Springboot for ElasticSearch Store, thanks to @songyinyin +- feat: Added support for Embedding of Tongyi Qianwen, thanks to @sssllg +- feat: Added support for all text generation models of Gitee AI's serverless +- feat: Added support for all image generation models of Gitee AI's serverless +- docs: Corrected sample code errors in the documentation + +--- +- 新增:添加 RedisStore 的向量存储支持,感谢 @giteeClass +- 新增:新增 Coze Bot 的大模型对话支持,感谢 @yulongsheng +- 新增: ElasticSearch Store 对 Springboot 的自动配置功能,感谢@songyinyin +- 新增:新增通义千问的 Embedding 支持,感谢 @sssllg +- 新增:新增对 Gitee AI 的 serverless 所有文本生成模型的支持 +- 新增:新增对 Gitee AI 的 serverless 所有图片生成模型的支持 +- 文档:修正文档的示例代码错误 + + + +## v1.0.0-beta.9 20240813 +- feat: add custom request header in openaiLLM https://github.com/agents-flex/agents-flex/issues/5 +- feat: add https.proxyHost config for the http client, close https://github.com/agents-flex/agents-flex/issues/1 +- feat: add SpringBoot3 auto config support @songyinyin +- feat: add openSearch store support @songyinyin +- fix: fix config error in QwenAutoConfiguration @songyinyin +- fix: NPE in OpenAILLmUtil.promptToEmbeddingsPayload +- fix: fix FunctionMessageResponse error in BaseLlmClientListener, @imayou +- refactor: update bom module +- refactor: optimize SparkLlm.java + +--- +- 新增: 添加自定义 openaiLLM 请求 api 的支持 https://github.com/agents-flex/agents-flex/issues/5 +- 新增: 添加 https.proxyHost 配置的支持 https://github.com/agents-flex/agents-flex/issues/1 +- 新增: 添加对 SpringBoot3 自动配置的支持 @songyinyin +- 新增: 添加使用 openSearch 用于向量数据存储的支持 @songyinyin +- 修复: 修复 QwenAutoConfiguration 配置错误的问题 @songyinyin +- 修复: 修复 OpenAILLmUtil.promptToEmbeddingsPayload 空指针异常的问题 +- 修复: 修复 FunctionMessageResponse 在某些情况下出错的问题, @imayou +- 优化: 更新重构 bom 模块 +- 优化: 优化 SparkLlm.java 的相关代码 + + + +## v1.0.0-beta.8 20240714 +- feat: add "async" flag for the ChainNode +- feat: add Ollama LLM +- feat: add DnjsonClient for OllamaLlm +- refactor: refactor ChainCondition.java +- refactor: add throw LlmException if LLMs has error +- refactor: refactor DocumentParser +- refactor: refactor chain module +- refactor: rename GroovyExecNode.java and QLExpressExecNode.java +- refactor: add children property in Parameter +- refactor: remove unused code AsyncHttpClient.java +- refactor: use LlmException to replace LLMClientException + fix: Milvus type mismatch for filed 'id' +- test: add LoopChain test +- test: add ollama test use openai instance +- docs: add Japanese README + +--- +- 新增:为 ChainNode 添加 "async" 属性标识的设置 +- 新增:添加基于 Ollama 大语言模型的对接,非 openai 适配模式 +- 新增:新增 DnjsonClient 用于和 Ollama 的 stream 模型对接 +- 优化:重构 ChainCondition +- 优化:chat 时当大语言模型发生错误时抛出异常,之前返回 null +- 优化:重构 DocumentParser +- 优化:Parameter 支持子参数的配置能力 +- 修复:Milvus 向量数据库当传入 number 类型是出错的问题 +- 测试:添加对 LoopChain 的测试 +- 测试:添加文使用 openai 兼容 api 对 Ollama 对接的测试 + + + + +## v1.0.0-beta.7 20240705 +- feat: add image models support +- feat: add SimpleTokenizeSplitter +- feat: add OmniParseDocumentParser +- feat: add openai,stability AI and gitee-sd3 AI support +- feat: add moonshot support +- feat: add chain dsl support +- refactor: optimize llm clients +- refactor: optimize SparkLLM +- refactor: optimize slf4j dependencies +- refactor: optimize Agent define +- refactor: optimize chain +- test: add .pdf and .doc parse test +- test: add SimpleDocumentSplitterTest.java + +--- +- 新增:新增图片模型的支持 +- 新增:新增 SimpleTokenizeSplitter 分割器 +- 新增:新增 OmniParseDocumentParser 文档解析器 +- 新增:新增 openai、stability ai 以及 gitee ai 对图片生成的支持 +- 新增:新增月之暗面的支持 +- 优化:优化 llm 客户端的细节 +- 优化:优化星火大模型的细节 +- 优化:优化 slf4j 依赖的细节 +- 优化:优化 Agent 和 Chain 的定义细节 +- 测试:添加 .pdf 和 .doc 的解析测试 +- 测试:添加文档分割器的测试 +- 测试:添加 token 文档分割器的测试 + + + +## v1.0.0-beta.5 20240617 +- feat: add ImagePrompt to send image to LLM +- feat: chatOptions add topP/topK and stop config +- refactor: rename TextMessage.java to AbstractTextMessage.java +- refactor: refactor llm methods +- refactor: refactor FunctionMessageResponse.java +- refactor: optimize HttpClient.java And SseClient.java +- fix: fix function calling error in QwenLLM +- test: add chat with image test + + +--- +- 新增:新增 ImagePrompt 用于发送图片对话的场景 +- 新增:对话模型下的 ChatOptions 添加 topK 和 topP 配置的支持 +- 优化:重命名 TextMessage 为 AbstractTextMessage +- 优化:重构 LLM 的方法定义,使之更加简单易用 +- 优化:优化 HttpClient.java 和 SseClient.java 的相关代码 +- 修复:通义千问 QwenLLM 在 function calling 下无法正常调用的问题 +- 测试:添加发送图片相关的测试内容 + + + + + +## v1.0.0-beta.4 20240531 +- feat: OpenAILlm support embedding model config +- feat: add get dimensions method in EmbeddingModel +- feat: SparkLlm support embedding +- feat: optimize MilvusVectorStore +- feat: MilvusVectorStore add username and password config +- refactor: optimize HttpClient.java +- refactor: optimize AliyunVectorStore +- refactor: update StoreOptions to extends Metadata +- refactor: optimize StoreResult and Metadata +- fix: fix AIMessage tokens parse + + +--- +- 新增:OpenAILlm 添加自定义 embedding 模型的支持 +- 新增:EmbeddingModel 添加获取向量维度的支持 +- 新增:SparkLlm 星火大模型添加对 embedding 的支持 +- 新增:添加 Milvus 向量数据库的支持 +- 优化:优化 HttpClient 的代码 +- 优化:优化 AliyunVectorStore 的代码 +- 优化:优化 StoreOptions 和 Metadata 的代码 +- 修复:AIMessage 的 tokens 消耗解析不正确的问题 + + + + +## v1.0.0-beta.3 20240516 +- feat:add "description" to agent for automatic arrangement by LLM +- feat: StoreResult can return ids if document store success +- feat: StoreOptions support set multi partitionNames +- feat: add DocumentIdGenerator for Document and Store +- feat: add ChainException for Chain.executeForResult +- refactor: rename "SimplePrompt" to "TextPrompt" + +--- +- 新增:为 Agent 添加 description 属性,方便用于 AI 自动编排的场景 +- 新增:Agent 添加对 outputDefs 的定义支持 +- 新增:添加 DocumentIdGenerator 用于在对文档存储时自动生成 id 的功能 +- 新增:StoreOptions 添加多个 partitionName 配置的支持 +- 新增:当 Document 保存成功时,自动返回保存的 id +- 优化:Chain.executeForResult 会抛出异常 ChainException +- 修复:ChatGLM 的 Chat JSON 解析错误的问题 +- 测试:优化 SparkLlmTest 的测试代码 +- 文档:完善基础文档