This website requires JavaScript.
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