Commit Graph

265 Commits

Author SHA1 Message Date
Wenjie Zhang
f463f80386 fix: 部分场景下 env 不生效的 bug 2025-07-21 13:10:15 +08:00
Wenjie Zhang
5ed016298c feat: 更新 Docker 配置,添加 Milvus 令牌支持,优化健康检查命令,移除 PostgreSQL 配置,调整环境变量,增强系统稳定性 2025-07-18 11:29:12 +08:00
Wenjie Zhang
9a162d5197 feat: 更新环境模板,添加知识图谱模型名称配置;重构工具工厂,移除冗余代码并优化工具注册逻辑;增强图数据库类,添加数据库连接检查和嵌入模型获取功能;调整设置视图,移除不必要的开关和选择项 2025-07-02 02:58:13 +08:00
Wenjie Zhang
6810f1f84e feat: 在依赖组中添加 ruff 依赖,并优化代码中的类型提示和异常处理,提升代码可读性和稳定性 2025-07-02 02:38:36 +08:00
Wenjie Zhang
9233ba64fb refactor(lightrag): 优化Python类型提示以及代码稳健型 2025-07-01 13:26:17 +08:00
Wenjie Zhang
c89ba37617 style: 优化部分细节样式 2025-06-29 15:43:40 +08:00
Wenjie Zhang
7b846ff76b fix: 更新数据库路径和日志配置,确保兼容性和可维护性 2025-06-28 20:19:26 +08:00
Wenjie Zhang
a91d57f274 fix: 更新嵌入模型配置,修复相关信息获取逻辑
- 修改数据路由器中的嵌入模型信息获取方式,确保使用正确的配置项。
- 在 LightRagBasedKB 类中,增强 LLM 和嵌入函数的获取逻辑,支持动态配置。
- 更新嵌入模型和重排序模型的 URL 获取方式,统一为 base_url。
- 前端数据库视图中,调整嵌入模型选择的样式和信息展示,提升用户体验。
2025-06-27 12:22:35 +08:00
Wenjie Zhang
30163baed4 feat: !important 讲知识库的后端修改为 LightRAG 添加 PostgreSQL 支持和环境变量配置
- 在 docker-compose.yml 中新增 PostgreSQL 服务配置,包括健康检查和环境变量设置。
- 添加 PostgreSQL 初始化脚本,确保数据库和用户的创建及权限配置。
- 更新 pyproject.toml,新增 asyncpg 和 graspologic 依赖。
- 重构知识库管理逻辑,使用 LightRagBasedKB 替代原有 KnowledgeBase 类,优化知识库的管理和查询功能。
- 更新前端 API 接口,调整文件处理和数据库创建逻辑,支持新的嵌入模型配置。
2025-06-27 01:55:04 +08:00
Wenjie Zhang
9bc5b086f9 chore: 移除 Chat 、Retriever 相关代码,知识库与知识图谱默认开启且无法修改
- 删除 retriever.py 文件,移除不再使用的检索器逻辑。
- 更新 base_router.py,简化重启逻辑,移除 retriever.restart() 调用。
- 修改 config.py,移除知识库和知识图谱的配置项。
- 更新前端组件,调整与知识库相关的显示逻辑,确保界面一致性。
- 修改路由配置,移除与聊天相关的路由,优化用户导航体验。
2025-06-27 01:52:59 +08:00
Wenjie Zhang
a9b5e84618 feat: 添加异步工具支持,优化工具检索和 LLM 调用逻辑
- 在 tools_factory.py 中引入异步检索器包装函数,确保异步工具的正确处理。
- 更新 ChatbotAgent 类的 llm_call 方法为异步版本,以支持异步工具调用。
2025-06-27 01:49:31 +08:00
Wenjie Zhang
db38035577 chore: 移除不再使用的脚本和优化日志信息
- 删除了 download_models.sh 和 migrate_kb_to_sqlite.py 脚本,清理不必要的代码。
- 在 base_router.py 中更新日志信息,调整为英文以提高可读性。
- 移除 retriever.restart() 调用,简化重启逻辑。
- 优化 OCRPlugin 中的注释,去除冗余代码。
2025-06-27 01:47:52 +08:00
Wenjie Zhang
57299fda8d chore: 更新配置文件和日志路径
- 在 docker-compose.yml 中新增测试目录挂载。
- 修改 __init__.py 文件,更新配置文件路径以使用 save_dir 变量。
- 更新 logging_config.py 文件,调整日志文件路径至 tmp/logs,并确保相应目录存在。
- 移动 test/test_neo4j.py 文件
2025-06-26 02:13:46 +08:00
Wenjie Zhang
4afbb42f96 feat: 添加自动索引功能,优化文件处理流程
- 在知识库中新增自动索引参数,支持在文件处理后自动触发索引。
- 更新前端界面,允许用户配置自动索引选项,并在处理结果中反馈索引状态。
- 调整定时器刷新间隔,提高数据库信息更新的实时性。
2025-06-25 02:45:57 +08:00
Wenjie Zhang
5000afc3ca feat: 更新模型服务脚本和配置,支持 Qwen3 系列模型
- 修改 run.sh 脚本,新增对 Qwen3-32B、Qwen3-Embedding-0.6B 和 Qwen3-Reranker-0.6B 模型的支持。
- 更新 rerank_model.py,优化 API URL 获取逻辑,使用 get_docker_safe_url 函数。
- 在 models.yaml 中添加 Qwen3 系列模型的配置信息,包括名称、维度和 API 密钥。
2025-06-25 02:12:19 +08:00
Wenjie Zhang
cfb6700dcf refactor: 优化知识库获取逻辑,提升性能和数据处理效率
- 修改 get_all_databases 方法,避免预加载文件数据,直接构造返回数据,减少查询时间。
- 批量获取集合信息,减少对 Milvus 的单独查询,提高数据获取效率。
2025-06-24 16:02:56 +08:00
Wenjie Zhang
04aaa2e55f feat: 添加 indexing 的队列机制,当遇到高并发处理的时候不会出现显存资源不够的情况 2025-06-24 15:43:39 +08:00
Wenjie Zhang
b87f2f2e02 fix: 修复获取知识库信息加载时间过久的问题 2025-06-24 15:42:59 +08:00
Wenjie Zhang
3e64a4249b feat: 更新文件索引状态处理逻辑
- 在 knowledgebase.py 中将文件索引失败时的状态更新为 "pending_indexing"。
- 在 DataBaseInfoView.vue 中调整条件判断,允许在文件状态为 "pending_indexing" 或 "failed" 时显示操作按钮。
2025-06-24 00:14:34 +08:00
Wenjie Zhang
c90e2e0b26 feat: 移除零一万物模型支持并更新相关文档和配置
- 从 README.md 和 .env.template 中移除 LINGYIWANWU_API_KEY 相关内容。
- 更新 select_model 函数以支持 dashscope 和 deepseek 模型提供者的逻辑。
- 修改模型配置文件,更新 dashscope 的默认模型和相关信息。
- 移除与零一万物相关的图标和配置,简化模型选择逻辑。
2025-06-24 00:14:12 +08:00
Wenjie Zhang
fd7cd8cf25 feat: 更新工具工厂和聊天机器人逻辑,增强前端多选组件
- 在 tools_factory.py 中修改工具名称生成逻辑,确保兼容 Deepseek 的要求。
- 在 graph.py 中优化聊天模型与工具的绑定逻辑,增加条件判断以提高灵活性。
- 在 AgentView.vue 中新增环境变量显示部分,增强用户界面,添加多选卡片组件以改善选项选择体验。
- 更新样式以支持多选卡片的响应式设计,提升整体用户体验。
2025-06-24 00:13:11 +08:00
Wenjie Zhang
286e06f25b style: ruff check fix 2025-06-23 10:32:01 +08:00
Wenjie Zhang
eeb53f4774 feat: 添加 PaddleX OCR 支持及示例更新
- 在 example_usage.py 中更新分析文档的示例,使用新的 PaddleX OCR 服务。
- 在 data_router.py 中优化文件处理反馈信息,增加处理失败文件的统计。
- 在 indexing.py 中新增对 PaddleX OCR 的支持。
- 在 _ocr.py 中添加 process_pdf_paddlex 方法,集成 PaddleX OCR 处理逻辑。
- 新增 paddlex.py 文件,封装 PaddleX 版面解析服务的 API 调用。
- 更新前端 DataBaseInfoView.vue,增加 PaddleX OCR 选项。
- 新增测试文件 PixPin_2025-06-19_23-42-17.png 以支持 OCR 测试。
2025-06-23 10:09:51 +08:00
Wenjie Zhang
4ecf9a8cd6 feat: 添加系统信息配置功能
- 在 API 路由中新增获取和重新加载系统信息配置的接口。
- 实现信息配置的加载逻辑,并提供默认配置。
- 更新前端以支持动态加载和展示信息配置。
- 修改 Dockerfile,移除代理设置。
2025-06-22 23:07:57 +08:00
Wenjie Zhang
6671c920c3 refactor: 更新 Docker 配置,优化服务连接和健康检查 2025-06-20 17:32:49 +08:00
Wenjie Zhang
c6ab72cd5b refactor: 项目配置重构及 OCR 功能增强
- 更新 .gitignore,忽略本地文件。
- 调整 docker-compose.yml,优化服务配置及端口设置。
- api.Dockerfile 更换为基于 NVIDIA CUDA 的镜像,支持 GPU。
- pyproject.toml 新增依赖 langchain-tavily,并升级 mineru。
- tools_factory.py 重构,采用 langchain_tavily 的 TavilySearch。
- knowledgebase.py 增强 Milvus 连接异常的错误日志。
- _ocr.py 中 OCRPlugin 升级,使用 mineru 新解析方法,并调整健康检查 URL。
- 新增 mineru.py,实现文档解析逻辑。
- logging_config.py 优化日志配置,采用 loguru 管理日志。
- DataBaseInfoView.vue 新增分块参数配置及文件上传相关弹窗和功能。
2025-06-18 19:07:29 +08:00
Wenjie Zhang
22c473d370 fix: 重命名查询参数为 query_text 2025-06-16 23:07:28 +08:00
Wenjie Zhang
589894720c feat: 添加标记等待状态文件为失败的功能 2025-05-27 11:14:48 +08:00
Wenjie Zhang
b10edefe17 feat: 优化知识库和文件展示逻辑
- 更新了 KnowledgeDatabase 和 KnowledgeFile 的 to_dict 方法,支持选择性加载节点信息。
- 在 KnowledgeBase 中调整了数据库获取逻辑,确保在获取数据库时不加载文件节点。
- 在前端组件中添加了加载状态指示,改善了用户体验。
- 增强了数据库信息视图的交互性,支持批量索引和删除文件功能。
2025-05-26 20:39:31 +08:00
Wenjie Zhang
9d2604801d feat: 优化知识库和文件详情展示
- 在知识库中简化了文件加载逻辑,移除了不必要的节点加载。
- 将文件详情展示从抽屉组件改为模态框,增强用户体验。
- 添加了加载状态指示,改善了文件详情的展示效果。
- 新增分页功能,提升了文件列表的可用性。
2025-05-26 13:59:05 +08:00
Wenjie Zhang
d9802414f1 feat: 更新依赖和优化数据处理接口
-  优化了数据路由器中的文件和 URL 分块处理逻辑,增加了错误处理和日志记录。
- 更新了前端 API 接口以支持新的文件索引流程,移除了过时的接口。
2025-05-26 13:12:17 +08:00
Wenjie Zhang
a6857c3e21 style: fix ruff check 2025-05-24 11:29:45 +08:00
Wenjie Zhang
911f88d7eb feat: 添加mineru健康检查端点并优化类型注解
- 在 app.py 中新增健康检查端点以确认 API 正在运行。
- 优化了类型注解,使用更简洁的语法。
- 在 db_manager.py 中修正了日志信息的语言。
- 在 OCR 插件中添加了对 MinerU OCR 服务健康检查的逻辑。
2025-05-23 22:16:34 +08:00
Wenjie Zhang
b0db3c6b0d feat: 更新 Docker 配置和添加 MinerU OCR 服务
- 修改了 docker-compose.yml,更新了 API 和 Web 服务的镜像名称,并添加了 MinerU OCR 服务。
- 在 pyproject.toml 中添加了 Ruff 代码检查工具的配置。
- 更新了 API 和 Web Dockerfile,添加了代理环境变量。
- 新增了用于拉取 Docker 镜像的脚本。
- 在文档中添加了关于如何使用 MinerU OCR 的说明。
- 优化了代码结构和日志记录,提升了可读性和维护性。
2025-05-23 15:30:14 +08:00
Wenjie Zhang
6475170c4b refactor: 重构智能体管理和基础代理类
- 将 AgentManager 类中的方法重命名为更具描述性的名称,并优化了代理的注册和实例化逻辑。
- 添加了线程ID和用户ID字段到基础代理类,并改进了获取历史消息的逻辑,增加了错误处理。
- 在 ChatbotAgent 中确保创建图时设置 checkpointer,并处理可能的异常。
2025-05-20 22:21:51 +08:00
Wenjie Zhang
44fad724bf feat: 更新依赖并优化组件
- 在 pyproject.toml 中添加了 colorlog、langchain-deepseek 和 langchain-together 依赖。
- 修改了 chat_router.py 中的日志记录方式。
- 重命名 tools_factory.py 中的函数以更好地描述其功能。
- 更新了配置文件以支持新的模型选择。
- 优化了前端组件的样式和功能,包括侧边栏和消息输入框的交互体验。
2025-05-20 20:49:50 +08:00
Wenjie Zhang
9429a819ee refactor: 合并database数据库和server数据库
- 同时合并管理器,将事务相关的内容修改到knowledgebase中
- 添加数据库迁移的检测脚本
2025-05-17 23:36:01 +08:00
Wenjie Zhang
8c8abdc06b fix: 修复工具调用问题 2025-05-17 10:06:56 +08:00
Wenjie Zhang
77ce5a25da feat: Agent 消息保存在SQLite 中 2025-05-16 23:46:25 +08:00
Wenjie Zhang
548b018501 perf 暂时屏蔽ReActAgent 2025-05-15 23:17:22 +08:00
Wenjie Zhang
a292e69b22 feat: 添加消息记录云端保存
主要修改:
1. 服务端新增 Thread 模型,用于存储对话列表信息,但不保存实际的历史记录
2. langgraph 配置了 InMemorySaver,添加 thread_id 参数,消息对话保存在内存中(服务重启后丢失)
3. 添加获取历史记录的 API 接口,从内存中获取
4. 添加 Graph 的单例模式,get_runnable_agent 导致的重复创建 Agent 实例的情况。
5. 优化 Agent 管理页面,更容易配置,更容易调试
6. 添加独立页面的侧边栏。
2025-05-15 22:37:50 +08:00
Wenjie Zhang
b01abfcf71 feat: Agent配置可以同步在用户侧了,用户侧会使用 config file 中的配置 2025-05-13 19:49:54 +08:00
Wenjie Zhang
8a6664758e 添加 知识库信息更新方法,支持修改标题和描述 2025-05-10 10:53:15 +08:00
Wenjie Zhang
ea40fa4d1b 优化改写逻辑,默认启用改写查询 2025-05-10 10:53:15 +08:00
Wenjie Zhang
144632b703 进一步优化并行处理能力:file-to-chunk 部分优化完成 2025-05-10 10:53:15 +08:00
Wenjie Zhang
ab809f748f 优化本地 embedding 的GPU 处理问题,添加 GPU 部署映射 2025-05-10 10:53:15 +08:00
Wenjie Zhang
7449938775 支持使用URL添加到知识库; 2025-05-10 10:53:14 +08:00
Wenjie Zhang
044de7e8fd 修复system prompt 对于 DeepSeek 接口要求 system prompt 必须在第一个的 bug 2025-05-10 10:53:14 +08:00
Wenjie Zhang
67a15229f4 优化配置更新方法 2025-05-10 10:53:14 +08:00
Wenjie Zhang
a454389f6e 继续优化接口,移除无关模块:(1)移除原本的 Token 管理模块;(2)所有 API 请求使用 /api 前缀;(3)移除重复的中间件验证;(4)前后端都移除工具模块;(5)移除原本的 safe_config 模块;(6)其他小细节优化 2025-05-10 10:53:14 +08:00