Wenjie Zhang
f28adaaff8
feat(chat): 优化工具调用输出处理,确保兼容性和稳定性
...
- 在 chat_agent 函数中,确保工具调用输出为字符串类型,避免 SQLite 不支持列表类型的问题
- 更新 load_chat_model 函数,新增 stream_usage 参数以支持流式使用
- 移除不必要的代码,简化 utils.py 文件,提升可读性
- 优化 AgentStatsComponent.vue,移除冗余样式,提升性能和用户体验
2025-10-06 21:07:33 +08:00
Wenjie Zhang
52ce5f51bd
feat(dashboard): 新增用户活跃度、工具调用、知识库和智能体分析统计功能
...
- 在后端新增用户活跃度、工具调用、知识库和智能体分析的统计接口
- 前端实现相应的统计组件,展示各类统计信息
- 更新样式以提升用户体验,增加图表和数据展示
- 优化仪表板布局,整合各类统计信息,提升可视化效果
2025-10-05 21:45:39 +08:00
Wenjie Zhang
cdb381b0e9
feat(feedback): 新增消息反馈功能,支持用户对消息的点赞和点踩
...
- 在 chat_router 中添加了提交和获取消息反馈的 API 接口
- 在 dashboard_router 中更新统计信息,包含反馈统计数据
- 新增 MessageFeedback 数据模型,存储用户反馈信息
- 前端实现反馈提交和状态获取功能,优化用户体验
- 更新 DashboardView 以展示用户反馈统计信息
2025-10-05 14:50:34 +08:00
Wenjie Zhang
a3028d17b5
fix(datetime): 统一时间戳字段的导入方式,使用 datetime 模块别名
...
- 将所有时间戳字段的导入方式统一为使用 datetime 模块的别名 dt,确保代码一致性
- 更新了 ConversationManager 和数据库模型中的时间戳字段,确保使用正确的 UTC 时间
2025-10-04 23:03:41 +08:00
Wenjie Zhang
804bcc1abc
feat(chat): 更新工具调用管理,支持 LangGraph tool_call_id 精确匹配
...
- 在 chat_agent 函数中,新增对 LangGraph tool_call_id 的支持,优化工具调用的保存和更新逻辑
- 修改数据库模型,新增 langgraph_tool_call_id 字段以便于匹配
- 更新时间戳字段命名为 created_at 和 updated_at,确保一致性
- 优化前端时间处理,确保使用正确的时间字段
2025-10-04 22:59:25 +08:00
Wenjie Zhang
c46dd7b073
feat! (memory)!: 重新实现了对话管理的存储与管理,不再依赖于 MemorySaver
...
BREAKING CHANGE: 使用了新的存储结构,因此之前存储的历史记录将不再支持迁移
2025-10-04 22:21:30 +08:00
Wenjie Zhang
af4bb9f48e
style(docs): 更新变更日志,添加网络搜索和绘制图片选项说明
...
- 在变更日志中新增网络搜索和绘制图片的选项,提供工具调用的相关信息
- 优化知识库架构,提升文档的可读性和完整性
2025-10-02 19:59:35 +08:00
Wenjie Zhang
2112d4833d
refactor(knowledge): 重构知识库模块,优化架构和实现
...
- 优化知识库文件夹结构,增强可维护性
- 新增知识库管理器和工厂类,统一管理不同类型的知识库实例
- 实现知识库的基本操作接口,包括创建、更新和删除数据库
- 引入新的知识库实现类(ChromaKB、MilvusKB、LightRagKB),支持多种存储后端
- 增强文件路径验证,确保安全性
- 更新文档,提供新的知识库接口说明
2025-09-23 13:07:50 +08:00
Wenjie Zhang
790c068eb6
fix(docs): 更新 README 和文档路径,添加 MinIO 存储模块文档
...
- 修改 README 中的模型配置路径,确保指向正确的配置文件位置
- 新增 MinIO 存储模块文档,提供基本使用和高级使用示例
- 更新内容审查机制和品牌信息配置的相关路径
- 移除旧的用户模型和线程模型,重构数据库模型管理
- 优化代码结构,确保数据库管理器和模型的导入路径一致
2025-09-23 10:48:44 +08:00
Wenjie Zhang
59c60fa879
fix(security): 增强文件路径验证,防止路径遍历攻击
...
- 在知识库路由中添加文件路径安全检查,确保上传和下载的文件路径在允许的目录内
- 新增 validate_file_path 函数,规范化并验证文件路径,抛出相应的异常信息
- 更新文档,修复部分已知BUG,提升系统稳定性
2025-09-23 04:42:04 +08:00
Wenjie Zhang
f1fe10f22c
feat(models): 添加嵌入和聊天模型状态检查接口 #282
...
- 在知识路由中新增获取指定嵌入模型和聊天模型状态的接口
- 实现获取所有嵌入模型和聊天模型状态的功能
- 更新前端API以支持模型状态检查,增强用户体验
- 优化日志记录格式,提升调试信息的可读性
2025-09-22 22:02:57 +08:00
Wenjie Zhang
a337cba3f7
fix(migrate): 修复用户字段迁移脚本,优化异常处理和字段检查逻辑
...
- 更新迁移脚本以确保在数据库中添加缺失的字段(user_id、phone_number、avatar)
- 优化异常处理,确保在迁移过程中发生错误时能够正确回滚
- 统一字符串引号格式,提升代码可读性
- 添加必要的导入语句,确保脚本正常运行
2025-09-22 17:18:07 +08:00
Wenjie Zhang
6d7e3ea2ef
feat(knowledge): 添加文档基本信息和内容信息的获取接口,支持文件下载功能
...
- 在知识库路由中新增获取文档基本信息和内容信息的接口
- 实现文档下载功能,支持中文文件名处理
- 更新相关文档和API调用,确保前端能够正确下载文件
2025-09-21 23:48:56 +08:00
Wenjie Zhang
2a3e18b444
test(tests): 添加全面的API接口测试套件
...
- 新增认证API测试,覆盖登录、权限验证、用户管理等关键流程
- 新增对话API测试,包含智能体调用、线程管理、工具获取及配置查询
- 新增系统API测试,涵盖系统健康检查、信息查询及配置管理权限控制
- 配置pytest支持异步测试、标记分类及详细输出
- 添加测试环境配置示例文件 .env.test.example
- 新增测试用例README文档,说明测试架构及运行方法
- 优化Makefile,添加格式化差异检查任务 format_diff
- 更新.gitignore,支持忽略测试环境配置文件 .env.test
2025-09-20 22:53:37 +08:00
Wenjie Zhang
680dd92457
lint: Python Ruff Lint
2025-09-19 01:32:07 +08:00
Wenjie Zhang
c6c2d588a8
docs(readme): 更新文档内容及示例配置说明
2025-09-19 01:30:32 +08:00
Wenjie Zhang
63cceb4562
feat(chat): 添加调用重试机制提升接口稳定性
...
- 引入 tenacity 库实现自动重试功能
- 在调用 OpenAI 接口的 call 方法上增加重试装饰器
- 设定重试次数、指数退避等待策略及日志记录
- 调整流式和非流式响应处理逻辑,保证重试生效
- 在 pyproject.toml 中添加 tenacity 依赖声明
2025-09-19 01:10:20 +08:00
Wenjie Zhang
782eb4ae31
refactor(chat): 优化异步调用及增强内容审查机制
...
- 将chat_router中的predict_async重命名为call_async并调用model.call替代model.predict
- 在流式消息处理中新增加基于LLM的内容审查
- 配置类中增加enable_content_guard_llm及对应LLM模型配置项
- 兼容models.private.yaml替代旧的models.private.yml文件名
- chat_model及embedding模块统一将predict方法重命名为call或encode,增强接口语义
- ContentGuard新增基于LLM的内容合规检测功能,支持动态加载审查模型
- 更新静态模型配置提示,建议使用models.private.yaml文件
- 新增示例CSV测试数据文件,补充测试用例基础数据
2025-09-19 00:57:53 +08:00
Wenjie Zhang
e5e39d25ef
lint(src): 规范导入语句及代码格式
2025-09-18 23:18:58 +08:00
Wenjie Zhang
33dbe78914
refactor(models): move model selection logic to chat_model and embedding modules
2025-09-18 20:34:10 +08:00
Wenjie Zhang
342c541645
feat(guard): 添加内容审查模块并集成至聊天服务(默认关闭)
...
- 新增内容审查关键词库 src/static/bad_keywords.txt,支持自定义敏感词
- 实现内容审查插件 src/plugins/guard.py,提供敏感词检测功能
- 配置新增 enable_content_guard 选项,支持开关内容审查功能
- 聊天路由 chat_router.py 集成输入和输出内容审查逻辑,拦截敏感内容
- 前端设置页增加内容审查开关,方便管理员启用或禁用该功能
- 错误时前端显示详细错误信息,并停止消息流,提升用户体验
- README 添加服务安全说明文档,介绍内容审查机制与配置方法
2025-09-18 20:33:38 +08:00
Wenjie Zhang
aebe63ce1c
lint: 代码格式化
2025-09-18 20:32:33 +08:00
Wenjie Zhang
66c550c18c
refactor: 重构配置/知识库模块,拆分为独立app.py文件
2025-09-18 15:20:39 +08:00
Wenjie Zhang
166990bc81
feat(MySQL): 集成 MySQL 数据库查询功能
...
- 添加 MySQL 连接管理器,支持连接和查询数据库
- 实现获取表名、描述表结构和执行 SQL 查询的工具
- 增强安全性,防止 SQL 注入和限制查询结果大小
- 更新 README.md,提供 MySQL 配置示例和使用说明
- 添加 MySQL 连接测试脚本,验证连接和工具功能
2025-09-16 15:23:18 +08:00
Wenjie Zhang
fc63025118
feat(graphbase): 优化图数据库查询逻辑,增强关键词检索和去重功能 #263
2025-09-16 00:33:40 +08:00
Wenjie Zhang
45fb5c1b0d
fix(graphbase): 修复检索过程中的 limit 不生效的问题 #260
2025-09-11 03:19:56 +08:00
Wenjie Zhang
04f49f48d5
feat(agent): 添加智能体元数据支持和示例问题展示
...
- 新增智能体元数据配置文件及图标资源
- 在聊天界面中显示智能体图标和示例问题
- 更新 changelog 中已完成的任务项
2025-09-09 20:25:48 +08:00
Wenjie Zhang
2acbd4b93a
feat: 添加HOST_IP环境变量支持并更新图片生成工具
...
- 在docker-compose中添加HOST_IP环境变量配置
- 修改minio_utils以支持通过HOST_IP配置公开端点
- 移除本地MCP服务器配置
- 将text_to_img工具替换为基于Kolors API的实现
2025-09-07 20:25:42 +08:00
Wenjie Zhang
7a23ce4742
refactor: 优化界面组件和样式,简化代码结构
...
- 移除知识图谱查看器的图例和部分控制按钮
- 调整数据库信息视图的面板宽度和背景色
- 简化知识库工厂注册参数
- 移除文件表格的自动刷新和面板切换按钮
- 优化代理配置侧边栏的系统提示词编辑体验
2025-09-06 14:04:33 +08:00
Wenjie Zhang
91fa5c903e
fix(graphbase): 优化连通查询并修复节点重复添加问题
2025-09-03 11:55:40 +08:00
Wenjie Zhang
08ac557028
feat(agent): implement text-to-img tool with MinIO storage
...
Adds a new agent tool `text_to_img` that generates a placeholder image
from text and uploads it to a MinIO server, returning a public URL.
Key changes:
- Adds `minio` and `Pillow` to project dependencies.
- Creates a reusable MinIO utility module in `src/utils/minio_utils.py`
to handle file uploads and bucket management.
- Refactors the agent tool to use this new utility, separating concerns
and simplifying the tool's implementation.
- Replaces the previous hardcoded URL with a real, functional image
upload process.
2025-09-02 14:00:06 +08:00
Wenjie Zhang
f1c843addc
refactor: 清理未使用的导入和优化代码格式
2025-09-02 01:08:42 +08:00
Wenjie Zhang
7641ab3699
stylle: 使用更加严格的风格检查以及代码格式化方法
2025-09-01 22:37:03 +08:00
Wenjie Zhang
a1080a4641
perf(graph): 优化图布局性能并改进节点查询算法
...
调整力导向图布局参数以加快收敛速度并减少节点重叠
重构节点查询逻辑,优先返回连通的子图结构
完善关系查询,确保双向关系的完整性
2025-09-01 20:04:05 +08:00
Wenjie Zhang
2648bec1be
refactor(mcp): 移除deepwiki服务器配置
...
清理不再使用的deepwiki MCP服务器配置,简化配置列表
2025-09-01 19:13:57 +08:00
Wenjie Zhang
165ec73ca8
refactor(mcp): 移除全局MCP客户端缓存并优化工具加载逻辑
...
移除全局MCP客户端缓存,改为每次调用时创建新客户端实例
优化工具加载逻辑,添加服务器名称校验并改进错误处理
清理未使用的导入和冗余代码
2025-09-01 12:25:15 +08:00
Wenjie Zhang
63da8d9733
feat(chatbot): 添加MCP工具支持并优化工具管理逻辑
...
实现MCP服务器工具的动态加载和管理功能
重构工具获取逻辑以支持MCP工具和本地工具的混合使用
优化前端工具调用结果显示样式
移除未使用的工具相关代码
添加工具序列化转换工具函数
2025-09-01 03:38:46 +08:00
Wenjie Zhang
221f4af213
fix(chatbot): 修复智能体工具获取和权限问题
...
- 修改工具获取逻辑,使用智能体实例的工具列表
- 将工具获取接口的权限从管理员改为普通用户
- 更新日志格式,添加行号信息
- 修复前端工具获取时未传递智能体ID的问题
2025-08-31 10:27:58 +08:00
Wenjie Zhang
b524ca687b
feat(agents): 重构智能体系统,引入Context替代Configuration
...
- 将Configuration重构为Context,支持动态工具配置
- 新增state.py和tools.py模块,优化状态管理和工具处理
- 移除旧的tools_factory.py和registry.py
- 更新前端API引用路径,修复brandApi命名错误
- 调整README和更新日志,反映架构变更
- 优化智能体历史记录管理,改进SQLite检查点
- 修复默认智能体加载和工具展示问题
2025-08-31 00:34:26 +08:00
Wenjie Zhang
808485aa5e
refactor(tools): 重构工具工厂返回工具列表而非字典
...
feat(ui): 在代理视图头部添加品牌名称显示
style(ui): 调整代理视图头部内边距和样式
fix(chatbot): 修复工具选择逻辑以匹配新工具结构
chore: 删除未使用的深度研究代理相关代码文件
2025-08-29 20:54:49 +08:00
Wenjie Zhang
92fe65fecf
refactor(embedding): 重构嵌入模型代码,添加异步支持并改进错误处理
...
- 将BaseEmbeddingModel改为抽象基类(ABC)
- 添加异步预测方法apredict
- 重构批量编码方法,添加任务状态跟踪
- 为Ollama和Other嵌入实现添加异步支持
- 改进错误处理和日志记录
- 添加类型注解提高代码可读性
docs: 更新changelog记录已知问题
2025-08-28 13:50:48 +08:00
Wenjie Zhang
85e13b6481
feat: 添加Makefile并改进错误日志记录
...
docs: 更新项目文档结构并删除旧文档
refactor: 优化工具工厂的错误处理逻辑
2025-08-28 13:16:19 +08:00
Wenjie Zhang
b8ba85654f
feat(知识库): 完善知识库检索结果展示逻辑和样式
...
refactor(工具): 更新知识库工具元数据结构
style(UI): 优化配置侧边栏和消息组件样式
docs: 更新开发计划文档
perf(调试): 增强智能体配置调试信息输出
2025-08-27 00:13:38 +08:00
Wenjie Zhang
afaba5c8cb
fix(milvus_kb): 修正相似度计算逻辑
...
移除未使用的auth_api导出并更新相关注释
2025-08-25 02:26:50 +08:00
Wenjie Zhang
51c0af517b
fix: 修复知识图谱查询日志中的类型判断错误并支持品牌文件路径配置
...
修复 tools_factory.py 中知识图谱查询结果日志记录时的类型判断错误,将 'd' 改为 'dict'
在 system_router.py 中添加对环境变量 YUXI_BRAND_FILE_PATH 的支持,用于配置品牌文件路径
2025-08-24 21:07:55 +08:00
Wenjie Zhang
402ff52739
refactor(tools_factory): 重构工具工厂模块,优化工具管理和错误处理
...
- 重命名工具获取函数为 get_buildin_tools 和 get_buildin_tools_info
- 改进工具ID生成和描述构建逻辑
- 添加详细的日志记录和错误处理
- 优化知识库工具创建流程,避免闭包问题
- 分离静态工具和知识库工具获取逻辑
- 增强计算器和知识图谱查询工具的错误处理
2025-08-24 20:12:15 +08:00
Wenjie Zhang
e3bb35a383
refactor(knowledge): 移除未使用的HistoryManager类及其引用
...
清理不再使用的历史管理功能,简化代码结构
2025-08-24 13:01:52 +08:00
Wenjie Zhang
fa56bca143
refactor: 移除未使用的代码和注释,优化代码结构
...
- 删除 SettingView.vue 中的 TODO 注释
- 移除 AgentView.vue 和 AgentChatComponent.vue 中侧边栏互斥逻辑
- 删除 kb_manager.py 中未实现的 migrate_database 方法
- 将操作日志功能提取到 common_utils.py
- 修复文件末尾缺少换行符的问题
2025-08-23 17:39:47 +08:00
Wenjie Zhang
fe6c9ea364
feat(知识库): 实现知识库删除时清理Milvus和Neo4j数据
...
添加delete_database方法,在删除知识库时同步清理Milvus集合和Neo4j节点关系
移除graphbase.py中未使用的txt_add_entity和format_query_result_to_graph方法
更新README.md中关于Neo4j节点标签和关系类型的说明
2025-08-19 13:08:41 +08:00
Wenjie Zhang
e6145657c5
feat(lightrag): 添加LightRAG知识库的语言选择和LLM模型选择功能
...
- 支持在创建LightRAG知识库时选择语言和LLM模型
- 修复知识图谱加载按钮在没有文件时仍可点击的问题
- 更新README中的分支说明
- 简化chroma和milvus的集合命名方式
- 修复知识库创建失败的情况
2025-08-16 20:07:12 +08:00