2026年7月9日 周四晚上19:30,报名腾讯会议了解“如何构建自进化的动态知识库(Brain)”(限30人)
免费POC, 零成本试错
FDE知识库

FDE知识库

学习大模型的前沿技术与行业落地应用


收藏

揭开AI代理的神秘面纱!如何通过领域知识精准解答?

发布日期:2025-01-31 09:16:01 浏览次数: 2979
作者:barry的异想世界

微信搜一搜,关注“barry的异想世界”

推荐语

探索AI代理如何结合领域知识提供精准解答,深入了解企业AI代理的运作机制。

核心内容:
1. AI代理如何利用领域知识库定制回答
2. 企业AI代理与传统大型语言模型的区别
3. 领域知识库在AI代理中的关键作用

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家

揭秘企业AI代理如何利用领域知识定制回答客户问题,并严格限制答案在领域知识范围内。

背景

你是否曾想过,今天最先进平台上的尖端 AI 代理是如何运作的?例如,在上面的截图中,我向 wealthsimple.com 的 AI 代理询问利率问题,它提供了特定于 Wealthsimple 产品的答案,并将其限制在 Wealthsimple 产品范围内。它没有告诉我美国银行的现金账户利率。

它是如何工作的?你可能会说,这很简单,LLM(大型语言模型)!没错,但不仅仅是 LLM。强大的 AI 代理,至少是好的那些,都是由大型语言模型驱动的,因此它们能够理解语言,并能够以对话格式进行支持会话,就像 ChatGPT 一样。但是,有一点很重要,它们还具备两个超出一般 ChatGPT 的特殊功能:

  1. 1. AI 代理搜索领域知识库并提供最新数据以回答你的问题。 领域知识库可以是 私有企业数据,这些数据在网上无法搜索。例如,你可以向你的医疗服务提供者询问你账户下的具体保障细节,这些信息可能嵌入在某些 PDF 文档的福利合同中,无法在网上搜索。与 ChatGPT 相比,后者的知识库是通用的,可能已经过时。例如,使用 chatgpt.com 的免费账户,模型本身是更新的模型(ChatGPT-4),但知识库最后一次更新是在 2023 年 1 月,也就是在本文撰写时的 2025 年 1 月,已经是两年前的事情。

2. AI 代理仅限于领域知识库提供答案。 这意味着它们只会回答与其服务或产品相关的问题,而不会基于通用知识库提供回应。例如,当我询问 Wealthsimple AI 代理特斯拉 Model 3 在加拿大的价格时,这是一条公开可用的信息,并且应该也是通用知识库的一部分,但 AI 代理表示该信息超出了 Wealthsimple 产品和服务的范围。这是完美的,因为出于商业原因,显然也出于法律原因,Wealthsimple 不应该回答此类问题。

目标

在本文中,我们将讨论如何实现上述功能。目标是从技术的高层次理解这些 AI 代理是如何工作的。

免责声明:请注意,来自 Wealthsimple AI 代理的屏幕截图仅用于演示目的。本文并不一定涵盖 Wealthsimple AI 代理的具体工作方式,且不应视为 Wealthsimple 的工程博客。

为了支持 AI 代理,我们需要至少三个主要组件:

  1. 1. 理解用户问题。这可以通过像 OpenAI 的 GPT-4o 这样的语言模型来实现。这使我们能够理解用户的问题并提取用户的意图。例如,在上面的屏幕截图中,我问“现金账户的利率是多少”,我的意图应该是类似“现金账户的利率”。这就是“用户意图”,后面会用到。
  2. 2. 可搜索的领域知识。领域知识库可以是内部企业文档和政策,或者是公司自己网站上的公共信息(这样我们知道它是真实的而不是垃圾信息)。我们需要这个知识库是可搜索的。如果你有数据库背景,你可能已经熟悉“索引”这个术语,数据被索引并存储在磁盘上以支持搜索查询。为了使领域知识可搜索,可以采取类似的方法在领域知识上创建索引。这个索引可以支持关键字搜索,以支持通过关键字及其拼写变体查找数据,向量搜索以支持通过相似性查找数据,或两者的混合。创建索引的方法有很多。一种方法是将内部文档存储在 Azure Blob Storage 或 AWS S3 这样的存储中,并在存储文件夹上构建搜索索引。另一种方法是为每个可搜索内容创建内容向量并将向量存储在向量数据库中。内容向量只是一个浮点数组,以数学格式表示内容,因此你可以通过相似性搜索内容。例如,*OpenAI 提供的 text-embedding-ada-002 嵌入模型* 将根据内容计算向量。我们不会深入讨论索引的实现细节,但如果你感兴趣,可以阅读我在 *Towards Data Science* 上发表的文章 *搜索数据的三大策略*
  3. 3. 根据在领域知识库中找到的数据准备响应。如果找到相关信息,则以对话格式准备响应。如果在领域知识库中未找到相关信息,则说我不知道或我无法回答这个问题。请注意,大型语言模型本身可能知道答案,但我们需要指示它不要根据其知识准备响应,因为我们不想支持那样的情况。

让我们从一个对话轮次的高层工作流开始,只是为了理解数据的端到端流动。

在上面的图中,对话始于用户提问。让我们看一下每个单独的步骤。

  1. 1. 用户发送问题。这是在 AI 代理的用户体验端完成的,通常是在网站或移动应用程序上。问题可能是“现金账户的利率是多少”,这是自然语言格式。
  2. 2. 用户体验接收问题并调用后端,后端负责所有与搜索数据、组织数据和准备响应相关的业务逻辑。
  3. 3. 提取用户意图,以便我们知道使用什么术语作为搜索查询。用户问题过于冗长,因为它包含“什么”、“是”、“对于”等词,这些词可能不需要从领域知识库中检索相关信息。我们如何将用户的自然语言问题转换为搜索查询?这通过提示工程来完成。例如,我们将以下提示和用户问题提供给 LLM,并提取用户意图以生成搜索查询。值得注意的是,提示工程更像是一门艺术而不是科学。通常需要多次迭代才能为特定的 LLM 模型设计出成功的提示。以下提示是一个良好的起点。
private const string questionToQueryPrompt = "
  Below is a chat history and a new question asked by the user. 
  The new user question needs to be answered by searching in a knowledge base.
  Generate a search query based on the conversation and the new question.

  #Requirements#
  - If the question is not in English, translate the question to English before generating the search query.

  #Chat history#
  {{$chat_history}}

  #Question#
  {{$question}}
  "
;
```python
private const string questionToQueryPrompt = "
  Below is a chat history and a new question asked by the user. 
  The new user question needs to be answered by searching in a knowledge base.
  Generate a search query based on the conversation and the new question.

  #Requirements#
  - If the question is not in English, translate the question to English before generating the search query.

  #Chat history#
  {{$chat_history}}

  #Question#
  {{$question}}
  "
;

通过这个提示,用户问题“现金账户的利率是多少”可能被转换为搜索查询,如“现金账户的利率”。

  1. 1. 搜索查询被路由到搜索服务。搜索服务是与 LLM 模型分开的一个组件,其唯一目的是提供搜索构成领域知识的企业数据的能力。搜索服务应该能够索引存储在云(AWS S3、Azure Blob Storage)或本地的企业数据,这使企业数据可搜索。搜索服务还应支持不同的搜索方法,如关键字搜索和向量搜索。亚马逊网络服务(AWS)提供 Amazon Kendra,微软提供 Azure AI Search,两者都是用于此目的的认知搜索服务。搜索服务的质量直接影响 AI 代理响应的相关性质量,所以我个人认为这是使 AI 代理卓越与平淡无奇之间的关键组件。
  2. 2. 搜索服务执行搜索以查询包含企业数据(内部文档)的索引。搜索结果可能包含与搜索查询最相关的文档。例如,搜索结果可能如下所示,这是来自文档的原始文本。
  1. 1. 搜索结果返回给 LLM,以便 LLM 可以将其用作准备响应的数据源。原始文本文档是引用,但这不是用户所期望的响应,因为用户期望的是直接答案,而不是完整的引用。用户不想通读完整文档来找出利率。他们期望得到几个百分点的数字。
  2. 2. LLM 生成响应。LLM 必须依赖于从搜索服务返回的搜索结果作为数据源,仅使用该数据生成答案。如果搜索结果为空,LLM 模型应被指示说类似“我不知道”的话,而不是尝试根据 LLM 模型的通用基础知识生成答案。我们如何实现这一点?好吧,再次通过提示工程。例如,以下提示指示 LLM 使用数据源并基于提供的事实生成适当的响应。请注意,特定要求“不要生成不使用下面来源的答案”将指示 LLM 模型不根据其自身的通用知识库生成答案,即用于训练模型的数据集。
private const string answerPrompt = "
    You are a professional chat assistant.
    Your role is to help users with their questions about our products.
    You will be given the chat history and facts.
    Your task is to generate an answer.
    - Answer ONLY with the facts listed in the sources provided below.
    - Do not generate answers that don't use the sources below. 
    - If there isn't enough information in the sources, say you don't know.
    #Sources#
    {{$sources}}
  
    #Chat history#
    {{$chat_history}}
    "
;
```python
private const string answerPrompt = "
    You are a professional chat assistant.
    Your role is to help users with their questions about our products.
    You will be given the chat history and facts.
    Your task is to generate an answer.
    - Answer ONLY with the facts listed in the sources provided below.
    - Do not generate answers that don't use the sources below. 
    - If there isn't enough information in the sources, say you don't know.
    #Sources#
    {{$sources}}
  
    #Chat history#
    {{$chat_history}}
    "
;

上面第 5 步的原始文本搜索结果和这个提示提供给 LLM,然后生成的答案可能如下所示:

The interest rate for a Wealthsimple Cash account 
varies depending on your client status and qualifying deposits.
As of December 182024, the standard rate is2.25forall clients. 
Premium clients or Core clients with eligible direct deposits 
can earn 2.75%. Generation clients or Premium clients with eligible 
direct deposits can earn up to 3.25%. 
These rates are annualized, calculated daily, 
and paid monthly. Keep in mind that rates are subject to change.
```python
The interest rate for a Wealthsimple Cash account 
varies depending on your client status and qualifying deposits.
As of December 182024, the standard rate is2.25forall clients. 
Premium clients or Core clients with eligible direct deposits 
can earn 2.75%. Generation clients or Premium clients with eligible 
direct deposits can earn up to 3.25%. 
These rates are annualized, calculated daily, 
and paid monthly. Keep in mind that rates are subject to change.
8. 用户体验接收来自后端的响应。用户体验可能会进一步美化,使其在设备上看起来更好。
9. 用户收到响应。好极了!!

上述模式实际上被称为检索增强生成(RAG),这是一种利用信息检索系统(如搜索服务)提供基础数据,并增强大型语言模型(LLM)如 ChatGPT 能力的架构。有关 RAG 的更多信息,请参见 [*Microsoft 文档 检索增强生成(RAG)在 Azure AI Search 中*](https://learn.microsoft.com/en-us/azure/search/retrieval-augmented-generation-overview),或 [*AWS 文档 什么是检索增强生成*](https://aws.amazon.com/what-is/retrieval-augmented-generation/)。

彩蛋 — 你怎么知道自己是在与真人聊天还是机器人聊天?

![](https://wsrv.nl/?url=https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*Eoz6tKsgwnsy7uXhO4u2xg.png)

感谢你与我一起阅读!希望你喜欢这篇文章!!如果你喜欢这篇文章,以下一些相关的文章可能会引起你的兴趣:

* Towards Data Science: [搜索数据的三大策略](https://towardsdatascience.com/top-3-strategies-to-search-your-data-8b118dfd1350)

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询

扫码登录
登录即表示您同意《53AI网站服务协议》
服务协议

欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。

在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。

一、 定义

本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。

会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。

知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。

二、 账号注册与登录

登录方式:本网站支持以下登录方式,您可根据实际情况选择:

微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。

手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。

账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。

实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。

未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。

三、 服务内容与规范

知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。

服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。

禁止行为:您在使用服务时不得实施以下行为:

利用技术手段批量爬取、下载、转存知识库内容;

将知识库内容用于商业目的或未经授权地向第三方传播;

干扰本网站正常运行或侵犯其他用户合法权益;

发布违法违规信息或从事违反公序良俗的活动。

四、 知识产权声明

权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。

有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。

侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。

五、 个人信息保护

我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。

您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。

您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。

六、 免责声明

内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。

不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。

第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。

七、 违约责任

如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。

如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。

八、 法律适用与争议解决

本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。

因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。

九、 其他

本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。

本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。

我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。


已查阅