大语言模型无法直接回答私有知识领域的问题。借助阿里云百炼的智能体应用构建能力和私有知识文档,可以零代码构建一个能回答私有领域问题的大模型问答应用。
为什么大模型无法回答私有知识
大语言模型(LLM)的知识来源于训练数据,不包含私有、特定领域或最新的信息。因此,直接向其提问特定产品或内部知识的问题,会得到不准确或虚构的回答。
检索增强生成(Retrieval-Augmented Generation,RAG)将外部知识库与大语言模型结合,通过检索相关信息并提供给模型,使模型基于给定的私有知识回答。核心原理如下:
- 数据处理与向量化:上传的文档经过自动化处理,系统将其切分成数据块(Chunks),再使用嵌入模型(Embedding Model)把每个数据块转换为数学向量,存储于向量数据库中。
- 检索:接收到问题时,系统同样将问题向量化,然后在向量数据库中检索与问题向量最相似的 Top-k 个文档数据块。
- 生成:系统将原始问题和检索到的文档片段组合成提示词(Prompt),提交给模型生成答案。
创建私有知识问答应用
本教程使用新版智能体应用(Agent 2.0)。在当前控制台中,点击创建智能体后默认创建的即为 Agent 2.0 应用;如需创建旧版(Agent 1.0)应用,点击创建弹窗底部的旧版 Agent 创建入口,页面将跳转至旧版百炼控制台。
创建智能体
-
创建应用:访问应用管理页面,点击创建智能体,填写应用名称(本教程以“阿里云百炼手机选购向导”为例),点击立即创建。创建完成后自动进入应用配置页面。
-
选择模型:在应用配置页面的规划区域,点击模型选择器选择大语言模型:
- 智能模式:由平台自动取得成本与效果的平衡,无需手动挑选模型,推荐新手选择。其中 AUTO 档位会根据任务复杂度自动路由到合适的性能档。
- 指定模型:直接选择具体模型。为确保多步规划效果,推荐选用具备强工具调用能力的模型,如
千问-Max系列模型;点击更多模型可选择其他模型。
说明使用大模型会产生计费。阿里云百炼提供限时免费额度,可在模型广场点击各模型卡片的查看详情查询。
-
设计 Prompt(提示词):在规划区域的提示词输入框中,定义应用的角色和任务。建议设置为:
你是一位阿里云百炼手机导购,任务是帮助客户对比手机参数,分析客户需求,推荐个性化建议。
支持在系统提示词中嵌入变量:点击提示词右上方的新建变量进行设置,输入
/即可引用已配置的变量。 -
测试应用:在右侧对话框中输入问题(如“阿里云百炼手机有哪些款式?”)发起提问。
说明由于缺少“阿里云百炼手机”的相关知识,应用的回答较为笼统,甚至可能无中生有。接下来为应用关联知识库。
创建知识库
-
在左侧导航栏选择数据接入 > 知识管理,进入知识管理页面,点击创建。
-
填写名称和描述,知识库类型选择文档搜索,使用场景选择基础文档问答,点击下一步。
-
数据来源选择上传文件,拖拽或点击上传一份“阿里云百炼手机”相关文档(支持 PDF、Word、Markdown 等格式),可下载示例文件阿里云百炼系列手机产品介绍.docx。
-
索引设置保持默认,点击创建知识库。
说明系统会自动完成解析、切片、向量化与索引构建,知识库状态变为已就绪后即可用于检索。知识库类型、使用场景、切片策略等完整配置说明参见创建和使用知识库。
创建并发布知识检索服务
新版智能体通过关联知识检索服务使用知识库。一个知识检索服务可以包含一个或多个知识库,关联前需先完成创建与发布。
-
在左侧导航栏选择知识服务 > 知识检索,进入知识检索页面,点击右上角创建检索服务,填写服务名称(本教程填写“阿里云百炼手机检索”),点击确认。
-
创建成功后自动进入配置页面。点击**+ 添加**,绑定上一步创建的“阿里云百炼手机”知识库。如绑定多个知识库,可为每个知识库设置权重,权重越大,其检索结果在最终排序中的优先级越高。
-
在右侧对话窗口中输入查询内容(如“拍照效果最好的手机是哪款?”),确认返回的切片结果符合预期后,点击右上角发布。发布后该检索服务才可被应用关联。
说明检索服务配置(知识库路由、混排模型、召回数量等)在本教程中保持默认即可,完整说明参见知识检索。
为智能体关联知识检索服务
- 访问应用管理页面,找到已创建的“阿里云百炼手机选购向导”应用,点击配置,进入应用配置页面。
- 在知识库下找到检索策略区域。首次配置时页面提示尚未配置知识检索服务,点击立即配置打开服务选择面板;也可以点击该区域右上角的配置进入。
- 在配置检索服务面板中,使用搜索框查找已发布的“阿里云百炼手机”检索服务,根据服务名称、版本、包含的知识库及知识库数量确认关联对象,点击目标服务右侧的关联,即可将该知识检索服务关联到当前应用。
测试与发布
-
回到应用配置页面,在右侧对话框中重新提问,例如:“请你帮我挑选一款拍照效果最好的阿里云百炼手机,价格在3000元以内。”引入知识检索增强后,应用能够基于知识库中的内容准确回答选购问题。
-
点击页面右上角的发布,在弹出的发布版本窗口中确认版本信息,点击确认发布。
说明版本 ID 从 V1.0 开始递增,每个应用最多保存 10 个版本。发布是后续通过 API 或 SDK 调用应用的前提条件。
后续步骤
- 优化 RAG 效果:了解如何在查询、检索、召回、重排等阶段优化效果,参见知识库效果优化。
- 配置更多工具:为智能体配置插件、MCP 等外部工具,进一步扩展大模型能力,参见新版智能体应用(Agent 2.0)。
- 探索更强大的应用:使用工作流应用实现复杂流程编排,通过条件分支、循环、并行等控制逻辑处理多步骤业务场景。
- 外部调用与集成:通过 DashScope SDK 或 HTTP 请求将应用集成至业务系统,参见调用智能体应用、调用工作流应用。
常见问题
为什么应用回答不准确,或没有使用知识库中的知识回答?
可能由 RAG 管道中的多个环节导致:
- 文档分块时破坏了语义完整性。
- 嵌入模型未能准确捕捉文本的核心语义。
- 检索环节未能召回最相关的文档片段。
可尝试以下方案调优:
- 使用结构化较好的文档,如 Markdown、JSON。
- 在知识库配置时选择自定义配置模式,通过选择不同的嵌入模型、设置不同的排序配置来调试回答效果。
如何让模型在知识库里找不到答案时明确告知“不知道”,而不是编造答案?
可以开启干预智能体回复功能,并设置知识库无结果时智能体的干预回复。