Commit Graph

  • 45eaadda75 feat(api): 新增 /rag/api/embed.dspy 对外文本向量化端点——凭据单点在rag_engine_configs,供商机产线需求挖掘等模块复用;_online_embed加strict模式(失败如实上抛禁静默空数组);单批上限10条;load_path注册logined main ymq 2026-09-11 22:12:26 +08:00
  • 1eae45a7fb docs(readme): 宿主入口规范名 load_rag 说明(旧名 init_rag_module 为别名) ymq 2026-09-07 14:59:25 +08:00
  • 0c5015783f refactor: init_rag_module 规范化为 load_rag(load_<模块名>约定)+保留旧名别名(ragserver 零改动) ymq 2026-09-07 13:57:41 +08:00
  • 612e9a109a docs: 新增 README(模块定位/11张rag_表/embedding_engine机制/uapi建表顺序/VDB配置/ragserver关系) ymq 2026-09-07 11:42:17 +08:00
  • d3dda01e6e fix: sqlor IN列表参数展开占位符(kb_delete 500+媒体检索潜伏同病,共4处) ymq 2026-09-04 19:58:31 +08:00
  • 3f5c6fc3e7 fix(search): 检索结果文档元数据富化——向量id经chunks表反查doc_id(此前恒为{}) ymq 2026-09-04 19:32:54 +08:00
  • ef4616d290 fix(search): VDB调用键名对齐uapi模板(colname/top_k)——collection/topK占位符不替换致静默0召回 ymq 2026-09-04 19:30:35 +08:00
  • 2113066631 fix(search): VDB v2.0嵌套响应解析(data.data.rows)+output_fields用显式text(Milvus Lite不支持*通配) ymq 2026-09-04 18:38:15 +08:00
  • 15db4e2e1a feat(api): kb_list端点(可见知识库)+删除tools.py直调通道(统一API模式) ymq 2026-09-04 15:58:14 +08:00
  • 8744ade474 docs(rag-api): 对外 API README(鉴权/7端点/示例,字段与代码核对) ymq 2026-09-03 17:01:07 +08:00
  • bc2849549d fix(ingest): 入库失败去静默化——真实原因落 error_msg ymq 2026-09-03 16:43:58 +08:00
  • 98389da60b fix(ids): 全仓 ID 生成统一 getID()/uuid()——禁 uuid4 截断 ymq 2026-09-03 16:29:15 +08:00
  • 282845bbf1 refactor(rag-api): 鉴权收敛 RBAC 会话,API 端点改授 logined ymq 2026-09-03 16:11:27 +08:00
  • 51b0bf1b85 refactor(rag-api): API Key 改由平台 dapi 模块统一管理 ymq 2026-09-03 16:04:54 +08:00
  • 00262a6d2a feat(rag-api): 对外B2B API+内部tools包装 ymq 2026-09-03 15:51:19 +08:00
  • 49276c7a0e fix(rag-ui): 删除new_kb_form.ui重复binds键——JSON后键覆盖前键导致刷新bind失效 ymq 2026-09-02 15:02:47 +08:00
  • fd2a52a1a5 fix(rag-perm): file_list/file_serve 维护者也需要看文件列表和下载——maintain或search任一通过 ymq 2026-09-02 14:58:43 +08:00
  • c9a2f4d7e8 fix(rag-ui): 新建知识库submit后刷新列表——Form加submited事件bind重建kb_list ymq 2026-09-02 14:52:25 +08:00
  • 728dbc328e feat(rag-ui): 维护/检索角色改多选checkbox(multicheck)+role_options.dspy角色选项 ymq 2026-09-02 13:55:37 +08:00
  • 1c1ef65931 feat(rag): 机构rags目录+容量检查参数化+KB级角色权限 ymq 2026-09-02 12:09:16 +08:00
  • 03dbf0f2b5 feat(rag): 多媒体知识库接回——qwen3-vl在线(2560维)+CLIP保留给GPU;VDB地址读upapp;在线重排;配置界面4引擎 ymq 2026-09-01 15:47:21 +08:00
  • 576f0b6368 fix(rag): 引擎配置入口改用Popup(与新建知识库同模式) ymq 2026-09-01 14:09:07 +08:00
  • 42f283b665 feat(rag): 知识库页加引擎配置入口按钮 ymq 2026-09-01 14:06:23 +08:00
  • 295917b590 fix(rag): dspy内dataurl用绝对路径(jinja仅在.ui渲染) ymq 2026-09-01 14:00:19 +08:00
  • cd054c7d22 fix(rag): engine_form.dspy括号平衡,长script字符串提为变量 ymq 2026-09-01 13:59:10 +08:00
  • 8e24060b7c fix(rag): rag_engine_configs字段名model_name/endpoint_url对齐表结构 ymq 2026-09-01 12:34:28 +08:00
  • 5f3b456955 feat(rag): 在线embedding/rerank(阿里llm表模型)+引擎配置界面,空=屏蔽;NER/图谱保持降级 ymq 2026-09-01 12:32:02 +08:00
  • c7a82dc570 fix(popup): 弹窗居中显示 archor:cc + 修 height:auto 导致的 NaN 位置 ymq 2026-08-25 17:01:25 +08:00
  • f2afaa82e8 fix(popup): 新建知识库弹窗点击即关闭 + Cancel 按钮无法关闭弹窗 ymq 2026-08-25 16:05:57 +08:00
  • 51c9968093 fix(host): 后台入库任务禁硬编码库名,改经 get_module_dbname 映射 ymq 2026-08-25 15:45:44 +08:00
  • 25c7ad357c feat(host): 支持接入任意宿主应用 — 补 RBAC load_path.py + uapi 外部服务配置种子 ymq 2026-08-25 15:23:46 +08:00
  • e9d28c57ce fix(search): 修 KeyError 'file_name' — 向量/关键词召回 hit 补全 file_name/file_path + 渲染改防御性 .get ymq 2026-08-25 14:55:12 +08:00
  • 789960a1cf refactor(schema): rag 模块全部数据表加 rag_ 前缀(模块跨应用复用防冲突) ymq 2026-08-25 14:24:37 +08:00
  • fb2cf3e703 fix(display): 知识库卡片显示友好向量引擎名(文本 bge-m3 / 多媒体 CLIP) ymq 2026-08-25 13:26:17 +08:00
  • 1054dbb3a9 feat(embedding): 知识库支持文本(bge-m3 /txte)/多媒体(CLIP /mme)双向量引擎 ymq 2026-08-25 13:15:11 +08:00
  • 5354108546 fix: 视频用原生video标签(controls+autoplay+muted)替换VideoPlayer组件 ymq 2026-08-12 11:22:56 +08:00
  • 0398ca247f fix: autoplay true -> True (Python syntax) ymq 2026-08-12 11:16:25 +08:00
  • 590fa48fbc fix: VideoPlayer去掉cheight改用autoplay ymq 2026-08-12 11:15:05 +08:00
  • b86883c1f8 feat: _rag_ingest_async chunk INSERT加metadata列 rag 2026-08-12 11:10:55 +08:00
  • 67c13f626d feat: 入库时存储人脸bbox和视频时间戳到chunk metadata ymq 2026-08-12 11:10:50 +08:00
  • 631b2da7a4 feat: 检索结果媒体使用entire_url()+位置信息(bbox/时间戳)显示 ymq 2026-08-12 11:07:07 +08:00
  • 9c602a0e8d fix: media_cards 标签同时读取 media_tags 表和 metadata.tags rag 2026-08-12 10:59:24 +08:00
  • afae286434 fix: 声纹页面修复 - 移除broken quotes+暂时跳过tags查询 rag 2026-08-11 18:06:43 +08:00
  • 51ea4096aa fix: 声纹页面显示+tags查询sqlor兼容 rag 2026-08-11 18:01:09 +08:00
  • da0ec1397b fix: 声纹页面查询包含已提取声纹的视频 rag 2026-08-11 17:11:31 +08:00
  • 3458af766c fix: graph API 用 localhost:9092(无外网端口) ymq 2026-08-11 17:04:31 +08:00
  • 239b82c85d fix: KB删除时清理VDB/Graph/physical文件 ymq 2026-08-11 17:03:33 +08:00
  • 3b1cda8d2f feat: 检索结果多媒体文件使用 bricks 控件播放 ymq 2026-08-10 18:09:15 +08:00
  • 6dbec41c34 fix: LIKE 中的 % 需转义为 %% 避免被 sqlor 误解析 ymq 2026-08-10 17:53:28 +08:00
  • f86cda6ebd fix: 标签检索过滤人脸生成文件,metadata含face的文档不再出现在检索结果 ymq 2026-08-10 17:51:35 +08:00
  • 9ac8192693 fix: 视频上传增加声纹提取,修复 metadata 永远 pending ymq 2026-08-10 17:42:52 +08:00
  • a22ea76cb8 fix: document_chunks also use created_at (no updated_at column) ymq 2026-08-10 17:02:08 +08:00
  • 1a45ca2cb3 fix: use created_at instead of updated_at for ORDER BY ymq 2026-08-10 16:59:12 +08:00
  • f181de9a10 fix: 纯标签检索支持非文本文档(视频/图片等) ymq 2026-08-10 16:56:54 +08:00
  • 3425c09188 feat: 标签支持多选后直接检索,无关键词时可纯标签检索 ymq 2026-08-10 11:20:00 +08:00
  • 70a958180f fix: 搜索页标签过滤改用UiCode多选+声明式{{widget}}传参,移除自定义JS ymq 2026-08-07 18:00:03 +08:00
  • 9c86291bbf fix: 标签属于组织非知识库 — tag_options按org_id过滤,search.ui页面加载即显示,search_result kb_id=all时不限 ymq 2026-08-07 17:52:31 +08:00
  • 172b302641 fix: kb_options.dspy org_id过滤与kb_list一致,用用户实际org_id ymq 2026-08-07 17:49:29 +08:00
  • 1206e27336 feat: 知识检索添加多选标签过滤 — tag_options.dspy + search.ui标签芯片 + search_result按标签过滤 ymq 2026-08-07 17:27:47 +08:00
  • c912805534 fix: 标签选中状态改用☑文字判断,不再依赖Bricks未渲染的data-sel DOM属性 ymq 2026-08-07 16:55:30 +08:00
  • 86e235df58 fix: DSPY中用uuid()不用getID() ymq 2026-08-07 16:49:14 +08:00
  • fcb7d1b744 fix: getID不带参数调用 ymq 2026-08-07 16:48:54 +08:00
  • 24bc017e1f fix: 所有id统一32字节 — init.py去掉[:16], DSPY文件改用getID(32)去import uuid ymq 2026-08-07 16:47:50 +08:00
  • 0fff825331 fix: save_tags.dspy media_tags id改为32字节 getID(32) ymq 2026-08-07 16:40:38 +08:00
  • 608be82e68 fix: save_tags.dspy uuid→getID(16),DSPY禁止import,改用预置getID ymq 2026-08-07 16:31:57 +08:00
  • 417ea70a34 fix: save_tags.dspy 缺少 import uuid,导致 uuid.uuid4() 报错无法写入标签 ymq 2026-08-07 15:46:31 +08:00
  • 1c03bb8071 fix: 标签保存后不再整页刷新,改为关闭弹窗+AJAX刷新卡片面板 ymq 2026-08-07 15:38:20 +08:00
  • 000b3c0b10 fix: tag save blocks browser — capture 'this' before fetch (then callback 'this' is window, causing infinite loop) yumoqing 2026-08-06 16:06:43 +08:00
  • 26c8d6b77a fix: save_tags return empty — fetch URL missing _webbricks_=1 (dspy returns HTML without it) yumoqing 2026-08-06 15:55:10 +08:00
  • fb706f72d9 bugfix yumoqing 2026-08-06 14:59:55 +08:00
  • bbf5b5f257 fix: tag save — close popup + location.reload (PopupWindow.clear_widgets breaks popup) yumoqing 2026-08-06 14:45:26 +08:00
  • 87ce210b58 fix: save_tags shows close button to dismiss popup after result yumoqing 2026-08-06 14:37:11 +08:00
  • 13b36df084 fix: tag save → backend save_tags.dspy returns widget, replaces popup content (no reload) yumoqing 2026-08-06 14:14:42 +08:00
  • ee0a563e92 fix: KB card buttons stick to bottom via filler; tag save uses reload instead of fragile DOM refresh yumoqing 2026-08-06 14:09:30 +08:00
  • e2d17b630b fix: rename form use 'value' not 'defaultValue' for Form pre-fill yumoqing 2026-08-06 13:57:05 +08:00
  • 14c72e29d7 fix: index.ui new_kb_form URL missing /rag/ prefix → use relative path yumoqing 2026-08-06 13:55:35 +08:00
  • 09336b3c10 fix: tag_list_panel use cheight instead of filler for proper scrolling yumoqing 2026-08-06 13:51:57 +08:00
  • 861cf0af19 fix: all popups close before action (rename, delete, tags) yumoqing 2026-08-06 13:48:51 +08:00
  • 017500e147 fix: storage_stats join knowledge_bases for org-consistent doc count; clean orphaned docs yumoqing 2026-08-06 13:44:57 +08:00
  • 70f8f27abb fix: kb_list only show org KBs (no NULL); tag_form close popup before refresh (remove alert) yumoqing 2026-08-06 13:40:30 +08:00
  • 7b99ebd16e fix: add import os in delete_kb; kb_list org filter + DynamicColumn layout yumoqing 2026-08-06 13:37:30 +08:00
  • 52bdc7ce40 fix: delete_kb returns urlwidget (not JSON), so bricks can render redirect to index.ui yumoqing 2026-08-05 19:03:14 +08:00
  • d9e1e77341 refactor: delete KB uses PopupWindow confirm form instead of JS confirm (no inline script) yumoqing 2026-08-05 18:20:23 +08:00
  • ee4bf7548a fix: delete script — assign JSON-safe name to JS var, no \n in string, no inline concat yumoqing 2026-08-05 18:12:27 +08:00
  • c0c5ba831f fix: escape KB name directly for JS single-quoted string, bypassing json.dumps double-quote entanglement yumoqing 2026-08-05 17:40:35 +08:00
  • ce457babe7 fix: rename_kb returns json.dumps; delete btn uses pre-computed safe_name yumoqing 2026-08-05 17:30:39 +08:00
  • e1f0c406ac fix(kb): escape namestr with json.dumps in delete button JS to prevent SyntaxError yumoqing 2026-08-05 17:15:13 +08:00
  • 5de0a87708 fix(kb): rename 403 (Jinja->Python), delete JS error (stopPropagation), card click restore yumoqing 2026-08-05 16:57:08 +08:00
  • 37fc233df2 fix: handle NULL org_id in rename/delete KB handlers (OR org_id IS NULL) yumoqing 2026-08-05 16:46:16 +08:00
  • 8f1f75c947 feat(kb): add rename and delete knowledge base yumoqing 2026-08-05 16:27:32 +08:00
  • 1dd59f7caa feat(tags): multi-select tag list + dedup create + tag_sync endpoint yumoqing 2026-08-05 15:36:44 +08:00
  • 371afae84a fix: file list action buttons spacing 6px->14px; drop analysis button; legacy /api/doc/upload now saves via FileStorage (flat files/ layout caused 404) yumoqing 2026-08-05 12:17:25 +08:00
  • 267fd276c5 fix: escape literal % in LIKE patterns (aiomysql %-format conflict -> TypeError) yumoqing 2026-08-05 11:55:18 +08:00
  • 3cb591ed92 feat: detail.ui face/voiceprint media card popups (DynamicColumn, image/audio playback) + tag buttons on cards and file list rows (tag_form.dspy -> add_tag.dspy, refresh media panel) yumoqing 2026-08-05 10:55:50 +08:00
  • 6878b58c95 refactor: kb cards via module-local kb_list.dspy (drop /api/kb/list dep); detail.ui file list -> filler+VScrollPanel no fixed height yumoqing 2026-08-04 16:14:45 +08:00
  • 548fc6013e feat: per-org storage quota enforcement — org_storage_limits table, upload rejection, UI display yumoqing 2026-08-04 15:36:53 +08:00
  • f160589370 bugfix yumoqing 2026-08-04 14:40:18 +08:00
  • 020c84bdfc bugfix yumoqing 2026-08-04 14:34:10 +08:00
  • 0bd425a2aa feat: put search results in VScrollPanel with filler layout (no fixed height) yumoqing 2026-08-04 14:04:07 +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 yumoqing 2026-08-04 11:33:52 +08:00