你是否曾希望有一位私人助理来帮助管理知识或根据你的文档回答问题? 随着 OpenAI 最近发布的 GPT 3.5 系列 API,现在可以根据自己的数据构建自己的问答聊天机器人。
在本文中,我们将探讨如何使用 llama-index 和 GPT API 高效地构建文档问答聊天机器人。
一个令人兴奋的应用程序是问答 (QA),它使机器人能够从文档中检索信息并对您的自然语言查询提供快速响应。 我们可以将这个先进的 NLP 系统用于多种目的,例如简化客户支持、综合用户研究和管理个人知识。 使用 GPT 3.5 API 将你的工作效率提升到一个新的水平!
推荐:用 NSDT场景设计器 快速搭建3D场景。
1、私人助理实现思路
使用 ChatGPT 作为助手来综合客户反馈或查找有关正在处理的功能的相关旧产品文档的想法是一个潜在的用例。
最初,考虑使用特定数据对 GPT 模型进行微调来实现这一目标,但这种方法需要庞大的数据集,而且代价高昂。 微调模型只能教会它一项新技能,而不能提供有关文档的完整信息。 对于(多)文档 QA,通过在提示中提供上下文来进行提示工程是另一种方法。 另一方面,GPT 模型的注意力跨度有限,将长上下文传递给 API 的成本可能很高,因为有数千封客户反馈电子邮件和数百份产品文档。
在研究克服提示输入令牌限制的方法时,我想到了一个想法,即使用一种算法来搜索文档并仅提取相关摘录。 通过将这些相关上下文连同我的问题传递给 GPT 模型,我希望取得更好的结果。 在搜索过程中,我发现了 gpt-index 库,后来其改名为 LlamaIndex。 这个库为我的问题提供了一个直接的解决方案,使我能够轻松地实现这个想法。
我们将使用 LlamaIndex 和 GPT (text-davinci-003) 创建一个在现有文档上运行的问答聊天机器人。
2、私人助理预备工作
- 一个 OpenAI API 密钥,可以从 这里 获取。
- 你的文件的数据库。 LlamaIndex 支持各种数据源,例如 Notion 或 Google Docs。 对于本教程,将使用一个简单的文本文件进行演示。
- 本地 Python 环境或在线 Google Colab 笔记本。
3、私人助理实现步骤
- 使用 LlamaIndex 创建文档数据的索引
- 制定自然语言查询以搜索索引
- LlamaIndex 将检索文档的相关部分并将它们提供给 GPT 提示词
- 向 GPT 询问具有相关上下文的问题并生成响应。
LlamaIndex 从你的文档数据创建一个矢量化索引,使其查询效率更高。 然后它使用该索引根据查询和数据之间的相似性来识别文档中最相关的部分。 然后将检索到的信息合并到发送给 GPT 的提示中,为其提供必要的上下文来回答你的问题。
下面这些命令将同时安装 LlamaIndex 和 OpenAI:
!pip install llama-index
!pip install openai
我们将导入库并设置 OpenAI API 密钥:
import os
from llama_index import GPTSimpleVectorIndex, Document, SimpleDirectoryReader
os.environ['OPENAI_API_KEY'] = 'API-KEY'
现在我们需要为文档构建一个索引。 我选择了一个文件来存储我未来网站的想法。
documents = SimpleDirectoryReader('your_directory').load_data()
加载文档后,我们可以构建索引:
index = GPTSimpleVectorIndex(documents)
查询索引:
response = index.query("What are the best ideas for the site?")
print(response)
我得到了这样的回应:
该网站的最佳创意是创建内容丰富、引人入胜且与塞尔维亚 AI 社区相关的内容。 这可能包括涵盖人工智能最新消息和发展的文章和博客文章、对塞尔维亚人工智能社区专家和思想领袖的深入采访、展示人工智能在不同领域的实际应用的案例研究、为任何想要的人提供的教育资源 了解更多关于 AI 及其应用、解释复杂 AI 概念和趋势的信息图表和可视化、分析塞尔维亚 AI 状态及其增长和发展潜力的报告和白皮书、与 AI 专业人士、研究人员对话的播客或视频系列, 和爱好者、讨论人工智能的伦理和社会影响的专栏文章和思想文章,以及如何在塞尔维亚解决这些问题,塞尔维亚与人工智能相关的会议、研讨会和聚会的活动报道和摘要,以及人工智能初创公司的概况, 塞尔维亚的公司和组织,强调他们在该领域的成就和贡献。
相当准确!
考虑尝试一些更高级的示例,我在资源部分附上了 LlamaIndex 文档。
4、结束语
本文展示了将 GPT 与 LlamaIndex 相结合以创建文档问答聊天机器人的有效性。 虽然 GPT 本身就是一个令人印象深刻的工具,但它的功能可以通过与其他工具、数据和流程的集成来大大增强。 随着 NLP 技术的不断进步,我们可以期待在不久的将来看到这一强大工具的更多创新应用。
原文链接:ChatGPT私人助理开发 — BimANt