【LangChain系列】实战案例4:再战RAG问答,提取在线网页数据,并返回生成答案的来源


0. 背景

今天,我们将综合以上技能,完成 网络数据+RAG 问答的实践,并且学习如何在返回结果中添加结果的来源(原文档)。

在结果中添加该结果的参考来源是RAG问答中非常重要的一环,一方面让我们更加了解答案的生成原理和参考内容,防止参考错误的文档,另一方面,可以展示给用户,我们的答案是有参考的,不是胡说,增加信任度。例如下面这个检索工具的展示,有了来源之后,显得更加专业和更高的可信度:

在这里插入图片描述

1. 代码实现

参考:

1.1 加载网页数据

python代码解读复制代码loader = WebBaseLoader(
    web_paths=("https://lilianweng.github.io/posts/2023-06-23-agent/",),
    bs_kwargs=dict(
        parse_only=bs4.SoupStrainer(
            class_=("post-content", "post-title", "post-header")
        )
    ),
)
docs = loader.load()

在这里插入图片描述

代码中以加载 https://lilianweng.github.io/posts/2023-06-23-agent/ 链接的数据为例。

使用 WebBaseLoader 进行数据加载。WebBaseLoader 是LangChain封装的专门用于加载网页数据的类。其定义和初始化参数如下,原理就是利用 urllib 加载html页面,然后通过BeautifulSoup进行Html解析,找出其中指定tag的内容。以上代码中 class_=("post-content", "post-title", "post-header") 表明只提取HTML页面中这些tag的数据。

python代码解读复制代码class WebBaseLoader(BaseLoader):
    """Load HTML pages using `urllib` and parse them with `BeautifulSoup'."""

    def __init__(
        self,
        web_path: Union[str, Sequence[str]] = "",
        header_template: Optional[dict] = None,
        verify_ssl: bool = True,
        proxies: Optional[dict] = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值