Skip to content

AI 知识库 ​

这篇解决什么 ​

知识库、文档、段落三张表怎么切、向量写到哪。读完能对上 embeddingModelId 和 vectorId,不要在对话表里找切片。

默认端口 48080。先有一条 type=5 的向量模型,见 AI 功能设计。

示意图:库级指定 embedding。段落写入向量库后回填 vectorId。

从哪改 ​

名称说明仓库路径
知识库@RequestMapping("/ai/knowledge")ruoyi-office/yudao-module-ai/.../controller/admin/knowledge/AiKnowledgeController.java
文档/ai/knowledge/documentAiKnowledgeDocumentController
段落/ai/knowledge/segmentAiKnowledgeSegmentController
切分预览GET /segment/split同上
检索测试GET /segment/search同上
库表ai_knowledgeAiKnowledgeDO
文档表ai_knowledge_documentAiKnowledgeDocumentDO
段落表ai_knowledge_segmentAiKnowledgeSegmentDO
管理端库 / 文档 / 检索ruoyi-office-vben/apps/web-antd/src/views/ai/knowledge/

官方菜单:AI 知识库 2915。权限 ai:knowledge:query / create / update / delete。

AiDocumentSplitStrategyEnum:auto、token、paragraph、markdown_qa、semantic。向量库在 spring.ai.vectorstore 配 Redis / Qdrant / Milvus 之一。检索走 getOrCreateVectorStore(embeddingModelId)。

字段 ​

名称说明仓库路径
embeddingModelId必须是向量模型AiKnowledgeDO
topK / similarityThreshold召回条数、相似度同上
segmentMaxTokens文档切片上限AiKnowledgeDocumentDO
vectorId向量库主键AiKnowledgeSegmentDO
retrievalCount被检索次数文档、段落都有

聊天角色的 knowledgeIds 引用本库。命中段落 id 写到 ai_chat_message.segmentIds。

没有向量库就建不了索引

只配对话模型、不配 type=5 或 VectorStore,文档能上传,段落没有 vectorId,对话也召不回。

先检索页再绑角色

GET /ai/knowledge/segment/search 能出结果,再把库 id 填进角色。阈值太高会全空。

按本仓库 DO 生成的 ER。

配置与操作 ​

走 AI 知识库(2915)。新建库必须填 embeddingModelId(type=5 的向量模型),以及 topK、similarityThreshold。上传文档后切分,段落写入向量库再回填 vectorId。权限 ai:knowledge:query / create / update / delete。

没有 VectorStore 或向量模型时,文档能上传,段落没有 vectorId,对话召不回。先用 GET /ai/knowledge/segment/search 能出结果,再把库 id 填进角色 knowledgeIds。文档切片上限是 segmentMaxTokens。

相关篇 ​

联系我们

获取报价、演示和二开方案

微信咨询二维码

微信咨询

17156169080

添加时备注「RuoYi Office」

在线体验商业版