如何让RAG应用程序返回数据来源

引言

在问答应用程序中,显示用于生成答案的来源对用户非常重要。通过在每次回答过程中返回检索到的文档,是实现这一目标的最简单方法。本文将基于Lilian Weng的博客文章“LLM Powered Autonomous Agents”中的RAG教程,构建一个问答应用程序,并展示两种实现方式:

  1. 使用内置的create_retrieval_chain,其默认返回来源。
  2. 使用简单的LCEL实现,展示其操作原理。

我们还将展示如何将来源信息结构化整合到模型响应中,使模型能够报告生成答案时所使用的具体来源。

主要内容

设置

依赖项

我们将使用OpenAI嵌入和Chroma向量存储。在此过程中,我们的演示适用于任何EmbeddingsVectorStoreRetriever

%pip install --upgrade --quiet langchain langchain-community langchainhub langchain-openai langchain-chroma bs4

需要设置环境变量OPENAI_API_KEY,可以直接设置,也可以从.env文件加载:

import getpass
import os

os.environ["OPENAI_API_KEY"] = getpass.getpass()

LangSmith

LangChain应用程序通常包含多个步骤和LLM调用。随着应用程序复杂度增加,能够检查链或代理中的具体操作变得至关重要。LangSmith是实现这一功能的最佳方式。

os.environ["LANGCHAIN_TRACING_V2"] = "true"
os.environ["LANGCHAIN_API_KEY"] = getpass.getpass()

使用create_retrieval_chain

选择一个LLM

以下是一个与来源结合的问答应用程序示例:

import bs4
from langchain.chains 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值