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