22 Commits

Author SHA1 Message Date
ymq
03dbf0f2b5 feat(rag): 多媒体知识库接回——qwen3-vl在线(2560维)+CLIP保留给GPU;VDB地址读upapp;在线重排;配置界面4引擎 2026-09-01 15:47:21 +08:00
ymq
e9d28c57ce fix(search): 修 KeyError 'file_name' — 向量/关键词召回 hit 补全 file_name/file_path + 渲染改防御性 .get
向量检索路径构造的 hit 只含 chunk 信息(无 file_name),渲染时 h['file_name'] 直接下标 KeyError 500。
此前 CLIP 检索长期 0 命中掩盖了该 bug,bge-m3 通路修复后首次有真实命中即暴露。
2026-08-25 14:55:12 +08:00
ymq
789960a1cf refactor(schema): rag 模块全部数据表加 rag_ 前缀(模块跨应用复用防冲突)
- models/ 重建为正确表定义格式(summary+fields+indexes),覆盖全部 11 个表
  修正原 models/ 误放 CRUD 格式副本(缺 summary)导致 json2ddl 100% 失败被静默忽略
- json/ 6 个 CRUD 定义 tblname 加前缀 + 文件改名
- 129 处 SQL/sor 表名加 rag_ 前缀(URL 路径 knowledge_bases_list 保持不变)
- 新增 init/migrate_rag_prefix.sql 幂等 RENAME TABLE 迁移
2026-08-25 14:24:37 +08:00
ymq
1054dbb3a9 feat(embedding): 知识库支持文本(bge-m3 /txte)/多媒体(CLIP /mme)双向量引擎
- create_kb/new_kb_form 加向量引擎选择(文本 bge-m3 / 多媒体 clip-vith14)
- upload_file/batch_ingest/search_result/init.py 按 embedding_engine 路由到 /txte 或 /mme
- 文本知识库上传媒体文件友好拒绝(不再崩溃报错)
2026-08-25 13:15:11 +08:00
ymq
5354108546 fix: 视频用原生video标签(controls+autoplay+muted)替换VideoPlayer组件 2026-08-12 11:22:56 +08:00
ymq
0398ca247f fix: autoplay true -> True (Python syntax) 2026-08-12 11:16:25 +08:00
ymq
590fa48fbc fix: VideoPlayer去掉cheight改用autoplay 2026-08-12 11:15:05 +08:00
ymq
631b2da7a4 feat: 检索结果媒体使用entire_url()+位置信息(bbox/时间戳)显示 2026-08-12 11:07:15 +08:00
ymq
3b1cda8d2f feat: 检索结果多媒体文件使用 bricks 控件播放
- 视频(mp4等): VideoPlayer 控件
- 音频(mp3等): Html <audio> 控件
- 图片(png等): Image 控件
- file_path 透传到前端构造媒体 URL
2026-08-10 18:09:15 +08:00
ymq
6dbec41c34 fix: LIKE 中的 % 需转义为 %% 避免被 sqlor 误解析 2026-08-10 17:53:28 +08:00
ymq
f86cda6ebd fix: 标签检索过滤人脸生成文件,metadata含face的文档不再出现在检索结果 2026-08-10 17:51:35 +08:00
ymq
a22ea76cb8 fix: document_chunks also use created_at (no updated_at column) 2026-08-10 17:02:08 +08:00
ymq
1a45ca2cb3 fix: use created_at instead of updated_at for ORDER BY 2026-08-10 16:59:12 +08:00
ymq
f181de9a10 fix: 纯标签检索支持非文本文档(视频/图片等)
- tag-only 检索从 documents 表查询而非仅查 document_chunks
- 对无 chunks 的文档显示文件名和类型图标
- 有 chunks 的文本文档显示内容预览
2026-08-10 16:56:54 +08:00
ymq
3425c09188 feat: 标签支持多选后直接检索,无关键词时可纯标签检索
- search_result.dspy: 标签解析提前,query为空但标签有值时走直接DB查询
- search.ui: tag_selector添加changed事件触发检索,更新首页提示文案
2026-08-10 11:20:00 +08:00
ymq
9c86291bbf fix: 标签属于组织非知识库 — tag_options按org_id过滤,search.ui页面加载即显示,search_result kb_id=all时不限 2026-08-07 17:52:31 +08:00
ymq
1206e27336 feat: 知识检索添加多选标签过滤 — tag_options.dspy + search.ui标签芯片 + search_result按标签过滤 2026-08-07 17:27:47 +08:00
7993b186da fix: stop double-encoding keyword - pass raw value as httpcall params (CRUD style); defensive unquote fallback in dspy for legacy cached UI 2026-08-04 11:33:52 +08:00
dfad26d3c7 feat: hybrid search - add keyword LIKE recall merged with vector results, mark kw hits 2026-08-03 19:19:32 +08:00
2d4ff6a19f debug: log incoming params_kw in search_result.dspy 2026-08-03 18:34:50 +08:00
0cb6f34135 fix: search_result.dspy 用 StreamHttpClient + try/except 替代裸 aiohttp 2026-07-31 14:59:18 +08:00
Hermes
a481130810 feat: search page + KB selector + file upload, pipeline module 2026-07-30 13:53:17 +08:00