摘要:语言模型越来越受欢迎,原因之一是它们能生成自然、连贯、甚至令人印象深刻的回答。尤其在聊天对话中,我们只需要用日常语言提问,就能获得看起来很有道理的答复。但问题来了——这些回答到底靠不靠谱?这就涉及一个关键概念:groundedness(有据可依)。
语言模型越来越受欢迎,原因之一是它们能生成自然、连贯、甚至令人印象深刻的回答。尤其在聊天对话中,我们只需要用日常语言提问,就能获得看起来很有道理的答复。但问题来了——这些回答到底靠不靠谱?这就涉及一个关键概念:groundedness(有据可依)。
groundedness 表示语言模型的回答是否“有根有据”,也就是:
是否基于真实、可靠的信息?
是否结合了特定语境或数据?
语言模型的训练数据,通常来自互联网上的大量文字。这意味着它并不了解你的具体业务或文档,回答也是“猜”出来的,甚至有时会编造不存在的东西。
例如:
我该用哪个产品来完成 X?
[AI 回答]:推荐使用 XR-2Z 产品。
但这个产品也许根本不存在!
为了解决“凭空捏造”的问题,可以用 RAG(检索增强生成):
先查资料:根据问题去搜索你提供的真实数据;
再答问题:让 AI 用查到的资料来生成回答。
这样,AI 生成的内容不仅语法正确,而且内容真实、信息有据。
可以用 Azure AI Foundry 来构建自己的“智能助手(Agent)”,让它查指定的数据,再结合大模型生成回答。支持的数据来源包括:
Azure Blob 存储
Azure Data Lake Storage Gen2
Microsoft OneLake
上传的文档(PDF、Word、文本等)
最常用的是 Azure AI Search ——它可以对文件和数据内容建立搜索索引,让 AI 快速查找资料。常见检索方式:
关键词搜索:匹配词语
语义搜索:理解含义
向量搜索:找“意思相近”的内容
混合搜索:关键词 + 向量,效果更好
"The children played joyfully in the park.""Kids happily ran around the playground."这两段文字虽然用词不同,但在语义上是相近的。通过为文本生成向量嵌入,可以用数学方式计算它们之间的语义关系。
你可以想象把这些文档中的关键词提取出来,并在一个多维空间中以向量形式表示:
通过用向量表示词语及其含义,即便你的数据来源包含不同格式(如文本或图片)或语言,系统也能从中提取出相关的上下文信息。
如果你希望使用向量搜索来查询数据,就需要在创建搜索索引时生成嵌入向量。你可以使用 Azure AI Foundry中提供的 Azure OpenAI嵌入模型来为你的搜索索引生成这些向量。
问题
没有 RAG
使用 RAG
应用场景
仅限通用问答
如果想构建一个基于自有数据、真实可靠的智能问答系统,RAG 值得一试。
来源:opendotnet