智能AI文档管理新方式,手把手教你打造自己的文档聊天机器人

一个快速指南,为您构建一个聊天机器人网站,可以接受外部文档作为上下文。

0eefe4ba9064354530cf3693d284e7c3.jpeg

随着每天涌现的信息和知识在我的屏幕上呈现,我们面临着人类阅读和记忆自然限制的挑战,这使得跟上信息更新变得越来越困难。现在,像ChatGPT和Llama这样的大型语言模型(LLMs)提供了一种存储和处理大量信息的潜在解决方案,只需要简单的提示就可以快速直接地获得响应。然而,LLMs的表现取决于它们所训练的数据质量,尽管它们的大部分数据集已经非常庞大,但这些数据仍然属于“昨天”的数据。

我经常感到很困扰,因为我很难阅读用户手册或药品说明书,里面包含了大量陌生的信息,也很难在技术论文或报告中查找特定数据,即使一本新书非常吸引我,我也会很不耐烦地阅读。目前,ChatGPT或Bard无法直接帮助我获取我需要的信息。

364c7fcfe4e09a0bcb3e65ff7417f3b4.jpeg

在创建了多个基于GPT APIs和其他库的聊天机器人,如私人聊天、语音聊天和图像聊天之后,现在我正在考虑构建一个基于文档的聊天机器人,它可以从各种数据资源中学习新知识,并在我查询时提供准确有用的响应,而且成本可接受。

e00ee39b1aa370e2369362b0e204e168.jpeg

为了实现这个目标,有许多方法可以利用,其中一种是上下文学习,另一种是微调。由于学习领域非常多样化,上下文学习技术是我最好的选择。经过一些研究,我决定使用LlamaIndex作为我的文档聊天机器人的基础,以进行上下文学习,并继续使用OpenAI的完成和嵌入功能进行演示。

在本文中,我将向您介绍开发过程,确保您理解并能够复制您自己的文档聊天机器人。

1、Block Diagram(系统框图)

在这个简单的聊天机器人中,我们使用llama-index作为基础,并开发Streamlit Web应用程序,提供用户输入和文档查询交互的显示。使用llamaIndex工具包,我们不必担心OpenAI中的API调用,因为其内部数据结构和LLM任务管理很容易消除嵌入使用的复杂性或提示大小限制的问题。

cafc1f35509626732ef9d16aac317b4a.jpeg

2、OpenAI API密钥

LlamaIndex被设计为与各种LLMs兼容,默认情况下,它使用OpenAI的text-davinci-003模型和text-embedding-ada-002-v2进行嵌入操作。因此,当我们决定基于OpenAI GPT模型实现文档聊天机器人时,我们应该向程序提供我们的OpenAI API密钥。插入我们的密钥所需做的唯一事情是通过环境变量提供它:

import os
os.environ["OPENAI_API_KEY"] = '{my-openai_key}'

3、LlamaIndex

LlamaIndex是一个Python库,提供了用户私有数据与大型语言模型之间的中心接口。它提供以下功能:

  • 数据连接器:LlamaIndex可以连接各种数据源,包括API、PDF、文档和SQL数据库。这使得您可以在不实现额外代码的情况下,将现有数据与LLMs一起使用。这实际上是我选择它作为应用程序的关键原因。

  • 提示限制:Llam

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值