Commit Graph

136 Commits

Author SHA1 Message Date
Wenjie Zhang
a5d55d6c37 refactor(storage): 重构对话数据库模型与存储管理
将业务数据模型从SQLite迁移至PostgreSQL,统一使用models_business.py
删除旧的SQLite模型和ConversationManager,新增repository和服务层
优化时间处理工具函数,增加utc_now_naive和format_utc_datetime
重构前端组件代码格式,统一多行导入和长字符串的换行风格
2026-01-24 10:56:31 +08:00
Wenjie Zhang
3da0d57c1c refactor: 重构数据库访问层,用户/对话/消息都统一迁移至PostgreSQL并添加业务模型支持 2026-01-24 10:56:31 +08:00
Wenjie Zhang
a1812f2e97 feat(知识库): 重构知识库元数据存储为PostgreSQL数据库
- 新增知识库、知识文件、评估基准、评估结果等数据模型
- 实现知识库相关Repository类提供CRUD操作
- 修改知识库实现类使用PostgreSQL存储元数据
- 添加PostgreSQL数据库管理器和初始化逻辑
- 更新相关路由和工具类适配新的存储方式
- 添加数据库迁移脚本和测试工具
- 在docker-compose中配置PostgreSQL服务
2026-01-24 10:56:31 +08:00
Wenjie Zhang
f3da61b10a 功能:增强知识库访问控制和共享配置 #480
- 在save_agent_config中实现了基于用户角色的知识库访问控制。
- 添加了新端点以检索当前用户可访问的数据库。
- 在数据库创建和更新过程中引入了share_config以管理共享设置。
- 创建了ShareConfigForm组件用于在UI中管理共享设置。
- 更新了部门和知识API以支持新的访问控制功能。
- 增强了用户管理组件以显示用户角色和部门名称。
- 重构了数据库视图以包含共享配置设置。
2026-01-24 10:56:31 +08:00
Wenjie Zhang
e0adda65fc fix(lightrag): 修复 lightrag 知识库 embedding dim 的错误 Fixes: Error: 知识库上传PDF检索测试失败
Fixes #498 Error: ValueError: Embedding dimension mismatch detected: total elements (1024) cannot be evenly divided by expected dimension (1536)
Fixes #491
2026-01-23 22:29:24 +08:00
Wenjie Zhang
08573a6de4 fix(kb_utils): 从 content_hashes 映射中获取 content_hash,添加缺失时的异常处理 #486 2026-01-20 13:05:44 +08:00
Wenjie Zhang
67bcd26565 fix(lightrag): 过滤掉引用不存在节点的边以确保查询结果的有效性 #477 2026-01-19 16:01:27 +08:00
GitHub Actions
0f684851bc style: auto-format with ruff [skip ci] 2026-01-18 14:55:37 +00:00
Wenjie Zhang
62af84eea9 fix(graph-minio): 修复未配置 HOST_IP 的情况下导致的错误 Fixes: Question: 不允许的外部 URL: localhost:通过图谱功能上传jsonl文件后无法解析
Fixes #479
2026-01-18 15:17:27 +08:00
Wenjie Zhang
c7a417c68b feat: 添加时间戳到上传的图片文件名,以避免文件名冲突 2026-01-15 12:29:01 +08:00
Wenjie Zhang
937355e390 feat: 添加加载状态和空内容提示,优化文件详情展示 2026-01-15 12:17:18 +08:00
Wenjie Zhang
22921fdec7 feat(parsing): 使用 docling 处理 docx/xlsx/pptx #439 2026-01-15 00:29:00 +08:00
Wenjie Zhang
9fa8ce288f feat: 添加知识库名称检查,防止重复创建相同名称的知识库 #466 2026-01-14 22:00:53 +08:00
Wenjie Zhang
9430cba037 feat: 增强LLM查询功能,lightrag 中支持选择返回内容范围(默认仅 chunk) #437 2026-01-14 21:03:11 +08:00
Wenjie Zhang
5a5b105769 feat: 更新日志配置,添加日志桥接功能 #462 2026-01-12 19:22:41 +08:00
GitHub Actions
9ffc058d6d style: auto-format with ruff [skip ci] 2026-01-08 17:23:00 +00:00
Wenjie Zhang
05a67c24f8 fix(knowledge): 修复智能体调用场景下,知识库查询参数不生效的问题。
- 将查询参数从全局元数据迁移到知识库实例元数据
- 废弃 reranker_config 配置,统一通过 query_params.options 管理
- 修改 Milvus 和 LightRAG 实现以使用新的查询参数结构
- 更新前端界面移除旧的 reranker 配置表单
- 添加测试用例验证新的查询参数配置流程
2026-01-09 01:21:41 +08:00
Wenjie Zhang
c00949778d feat(lightrag): 添加对结构化查询结果的支持并优化前端展示
- 在 KnowledgeBase 及其实现类中添加 agent_call 参数以区分不同调用场景
- 为 LightRAG 实现结构化查询结果返回,包括实体、关系和文档块
- 在前端添加完整的结构化结果展示组件,包含元数据、实体卡片、关系卡片等
- 优化查询结果样式和交互体验
2026-01-08 23:17:28 +08:00
Wenjie Zhang
98c73a90c9 refactor(knowledge): 将知识库检索参数从 router 移动到对应的实现文件中 2026-01-08 22:13:17 +08:00
Wenjie Zhang
3c77755a78 feat: 重构知识库文件处理流程,支持分阶段处理【!important】
refactor(lightrag/milvus): 将文件处理拆分为上传、解析和入库三个阶段
feat(base): 新增文件状态枚举和分阶段处理方法
feat(api): 添加手动触发解析和入库的API接口
fix(utils): 修复MinIO URL解析逻辑,支持更多协议格式
style(components): 优化UI组件样式和交互
test: 移除过时的测试文件
2026-01-04 21:35:25 +08:00
Wenjie Zhang
fffe237780 feat(知识库): 在生成描述时支持传入文件列表
在知识库描述生成功能中增加文件列表参数,使AI能参考文件内容生成更准确的描述
前端组件传递文件列表至API,后端处理时将其包含在提示词中
2026-01-03 19:02:08 +08:00
Wenjie Zhang
dd5dc53a64 feat(security): 对于图谱文件上传,添加从MinIO URL下载文件的临时文件上下文管理器
重构文件上传服务以使用新的MinIO上下文管理器
移除本地文件路径支持,仅允许MinIO URL
2026-01-02 22:52:33 +08:00
Wenjie Zhang
302175e0b0 refactor: 移除 ChromaDB 相关代码和依赖
移除项目中所有与 ChromaDB 相关的代码、依赖和文档引用,统一使用 Milvus 作为向量数据库实现
2026-01-02 14:44:00 +08:00
Wenjie Zhang
9c48eee7dc Merge branch 'main' of https://github.com/xerrors/Yuxi-Know 2026-01-02 14:20:35 +08:00
Wenjie Zhang
450911eaad refactor(kb): 移除QA分割功能并改进分隔符处理
移除不再使用的QA分割功能及相关代码,简化文本分块逻辑
添加分隔符转义处理以支持前端传入的转义字符
改进分块参数配置界面的描述和默认值
2026-01-02 14:20:18 +08:00
GitHub Actions
09fc577ec3 style: auto-format with ruff [skip ci] 2026-01-01 15:40:44 +00:00
Wenjie Zhang
c5fcbc6374 fix(logging): 移除lightrag中的重复日志配置并增强日志线程安全
禁止lightrag重复配置日志,避免覆盖主程序日志配置
在logging_config中添加enqueue参数确保日志线程安全
2026-01-01 23:39:24 +08:00
Wenjie Zhang
9c1747667c feat(知识图谱): 添加批处理大小配置并优化上传功能
- 在知识图谱上传功能中添加批处理大小配置选项
- 将同步操作改为异步以提高性能
- 优化前端上传配置界面布局
- 更新文档中的路线图信息
2026-01-01 23:39:17 +08:00
Wenjie Zhang
20f0f793dc feat(knowledge-graph): 添加嵌入模型选择功能到图数据库实体上传(仅初次)
允许用户在上传图数据库实体时选择嵌入模型
添加前端模型选择组件和后端支持
确保模型选择与现有数据兼容
2026-01-01 22:19:48 +08:00
Wenjie Zhang
295d019d16 style: 统一文件夹图标样式并修复缩进问题
更新前端文件夹相关图标为更一致的填充样式
修复后端Python代码中的缩进不一致问题
2025-12-31 00:00:24 +08:00
Justin Gao
192da56fca feat(知识库): 实现文件夹功能支持
添加文件夹创建、移动和删除功能
- 后端添加文件夹相关API和逻辑处理
- 前端实现文件夹树形展示和操作界面
- 支持文件上传到指定文件夹
- 添加拖拽移动文件功能
2025-12-31 00:00:24 +08:00
Wenjie Zhang
610b60e204 feat(knowledge): 智能体查询知识库时,支持基于文件名的模糊过滤功能,不支持 LightRAG
实现知识库检索时可按文件名进行模糊匹配过滤
在Milvus知识库中支持文件名的like表达式过滤
前端展示添加文件名显示
添加相关测试用例验证过滤功能
2025-12-30 20:10:42 +08:00
Wenjie Zhang
4eb2c4977e fix(lightrag): 修复查询结果节点数量未限制的问题 2025-12-23 23:01:58 +08:00
Wenjie Zhang
2e9fd9cbe0 fix(graph): 修正上传节点查询时未过滤Upload标签的问题
确保所有查询操作仅针对Upload类型的节点,避免返回不相关的实体数据
2025-12-20 15:45:03 +08:00
Wenjie Zhang
ac848ea165 refactor(graph): 重构图谱适配器与服务层架构
将 GraphDatabase 重构为 UploadGraphService 并引入 BaseNeo4jAdapter 作为基础查询层
优化适配器工厂支持自动检测图谱类型,统一查询接口
添加 GraphMetadata 元数据管理,增强类型安全与能力声明
重构 LightRAGGraphAdapter 使用标准查询接口,改进节点边规范化处理
更新路由层使用新的适配器工厂方法,简化图谱类型检测逻辑
2025-12-20 15:00:49 +08:00
Wenjie Zhang
8d97a33ea4 style(lint): 优化代码格式和错误处理 2025-12-19 21:24:19 +08:00
Wenjie Zhang
28e02b8d0e refactor(lightrag): 使用统一日志工具替换直接logging导入
移除直接导入logging并创建logger实例,改为使用src.utils中的统一logger工具
2025-12-19 19:14:46 +08:00
limbo
6ea920e7e2 style: lint 2025-12-18 21:43:26 +08:00
Wenjie Zhang
7a24179913 refactor(parser): 将同步zip文件处理改为异步实现 Fixes: #377
修改mineru_parser.py和mineru_official_parser.py中的zip处理逻辑,使用asyncio.run调用异步_process_zip_file函数
更新indexing.py中的_process_zip_file和相关辅助函数为异步实现
调整docker-compose.yml中的容器命名和文档中的服务启动命令
2025-12-18 20:58:48 +08:00
Wenjie Zhang
cd5c6947e2 refactor(kb_utils): 重构获取嵌入配置的逻辑以提高可维护性
优先使用新版配置格式并添加断言检查
移除旧版兼容性代码,简化逻辑
添加异常处理和日志记录
2025-12-18 11:29:17 +08:00
Wenjie Zhang
98fdce0e79 refactor: 移除对.doc文件格式的支持 2025-12-18 11:27:21 +08:00
Wenjie Zhang
a3edaa8129 feat(server): 添加访问日志中间件并优化日志配置
1. 实现自定义访问日志中间件以记录请求处理时间
2. 禁用uvicorn默认访问日志处理器
优化日志格式化配置
2025-12-17 22:55:12 +08:00
Wenjie Zhang
545723d78a Merge branch 'main' of https://github.com/xerrors/Yuxi-Know 2025-12-16 12:17:00 +08:00
Wenjie Zhang
5f6047849c refactor: 优化代码格式和结构,改进错误提示信息
- 统一代码格式,移除多余空格和注释
- 改进MySQL连接错误提示信息
- 优化GraphDatabase查询格式和响应结构
- 简化测试用例参数传递方式
- 调整前端GraphCanvas组件样式
2025-12-16 10:28:44 +08:00
Wenjie Zhang
cb9edfdb5e feat(graph): 支持带属性的知识图谱节点和关系导入
- 扩展三元组导入功能,支持节点和关系的属性存储
- 新增测试数据文件和单元测试验证功能
- 更新文档说明支持新旧两种数据格式
- 优化查询结果处理,保留并返回节点和关系的属性
2025-12-16 00:10:05 +08:00
Wenjie Zhang
3d63418adf feat: 实现统一图谱适配器及前端组件重构
重构图谱系统架构,引入适配器模式支持多种图数据库类型。主要变更包括:

1. 新增 GraphAdapter 基类及 LightRAG/Upload 适配器实现
2. 重构前端组件结构,新增 GraphDetailPanel 等可复用组件
3. 实现 useGraph 组合式函数统一管理图谱状态
4. 优化 Neo4j 节点/边数据标准化处理
5. 新增统一图谱 API 接口及对应测试用例
6. 改进前端交互体验,增加节点详情展示等功能

前端组件库重构为模块化结构,提升代码复用性。适配器模式使系统可灵活支持不同图数据源,为后续扩展奠定基础。

Next:上传图谱文件的时候,支持属性解析
2025-12-15 23:25:56 +08:00
Wenjie Zhang
b8e83b71a4 fix(embedding): 修复嵌入模型配置中的兼容性问题
- 修复 get_embedding_config 中对 model/name 字段的兼容性处理
- 改进错误处理和日志记录
- 支持多种配置格式以保持向后兼容性
- 修复 lightrag.py 中 embedding 函数的模型名称获取逻辑
2025-12-15 13:35:43 +08:00
Wenjie Zhang
225ccce69c fix(embedding): 修复嵌入模型配置中的兼容性问题
- 修复 get_embedding_config 中对 model/name 字段的兼容性处理
- 改进错误处理和日志记录
- 支持多种配置格式以保持向后兼容性
- 修复 lightrag.py 中 embedding 函数的模型名称获取逻辑
2025-12-15 13:35:24 +08:00
Wenjie Zhang
3d6a38a73d fix(graph): 修复图谱文件上传的 bug,支持从MinIO URL加载知识图谱数据
添加从MinIO存储下载文件的功能,当检测到输入路径为URL时自动处理
下载完成后会创建临时文件并确保最终清理
2025-12-15 11:01:00 +08:00
Wenjie Zhang
ade5445cae feat(evaluation): 重构评估服务以支持知识库基准集中管理
重构评估服务接口和实现,统一通过知识库ID管理评估基准和结果:
1. 新增带db_id的评估基准和结果查询/删除接口
2. 将基准元数据集中存储到知识库metadata中
3. 实现自动生成评估基准功能
4. 优化评估结果表格展示生成答案列
5. 简化基准生成弹窗配置项

移除旧接口并标记为废弃,所有前端调用迁移至新接口
2025-12-10 22:48:53 +08:00