在我们之前的文章中,我们演示了如何使用 ChatGPT API 构建 AI 聊天机器人并分配角色以对其进行个性化设置。 但是如果你想用你自己的数据训练 AI 怎么办? 例如,您可能有一本书、财务数据或大量数据库,并且希望轻松地搜索它们。 在本文中,我们为您带来了一个简单易懂的教程,介绍如何使用您的自定义知识库以及 LangChain 和 ChatGPT API 来训练 AI 聊天机器人。 我们正在部署 LangChain、GPT Index 和其他强大的库,以使用 OpenAI 的大型语言模型 (LLM) 训练 AI 聊天机器人。 因此,在这一点上,让我们看看如何使用您自己的数据集训练和创建 AI 聊天机器人。
使用 ChatGPT API、LangChain 和 GPT Index 训练具有自定义知识库的 AI 聊天机器人 (2023)
在本文中,我们更详细地解释了使用您自己的数据教 AI 聊天机器人的步骤。 从设置工具和软件到训练 AI 模型,我们都以通俗易懂的语言提供了所有说明。 强烈建议从上到下按照说明进行操作,不要跳过任何部分。
使用自己的数据训练 AI 之前的注意事项
1. 您可以在任何平台上训练AI聊天机器人,无论是Windows、macOS、Linux还是ChromeOS。 在本文中,我使用的是 Windows 11,但其他平台的步骤几乎相同。
2、本指南面向一般用户,使用通俗易懂的语言进行说明。 因此,即使您对计算机只有粗略的了解并且不会编码,您也可以在几分钟内轻松训练并创建问答 AI 聊天机器人。 如果您按照我们之前的 ChatGPT bot 文章进行操作,将会更容易理解该过程。
3. 由于我们要根据自己的数据训练一个 AI Chatbot,因此建议使用具有良好 CPU 和 GPU 的功能强大的计算机。 但是,您可以使用任何低端计算机进行测试,它可以毫无问题地运行。 我使用 Chromebook 使用一本 100 页(~100MB)的书来训练 AI 模型。 但是,如果你想训练一个大数据集运行到数千页,强烈建议使用功能强大的计算机。
4. 最后,数据集应该是英文的才能得到最好的结果,但根据 OpenAI 的说法,它也适用于流行的国际语言,如法语、西班牙语、德语等。所以继续自己尝试吧语言。
设置软件环境以训练 AI 聊天机器人
和我们之前的文章一样,您应该知道 Python 和 Pip 必须与几个库一起安装。 在本文中,我们将从头开始设置所有内容,以便新用户也能了解设置过程。 为了给你一个简短的想法,我们将安装 Python 和 Pip。 之后,我们将安装 Python 库,包括 OpenAI、GPT Index、Gradio 和 PyPDF2。 在此过程中,您将了解每个库的作用。 同样,不要为安装过程烦恼,它非常简单。 关于这一点,让我们直接进入。
安装 Python
1. 首先,您需要在计算机上安装 Python (Pip)。 打开 这个链接 并下载适用于您的平台的安装文件。
2. 接下来,运行安装文件并确保启用“将 Python.exe 添加到 PATH”复选框。 这是极其重要的一步。 之后,单击“立即安装”并按照通常的步骤安装 Python。
3. 要检查 Python 是否已正确安装,请打开计算机上的终端。 我在 Windows 上使用 Windows 终端,但您也可以使用命令提示符。 在这里,运行下面的命令,它将输出 Python 版本。 在 Linux 和 macOS 上,您可能必须使用 python3 –version 而不是 python –version。
python --version
升级点
安装 Python 时,Pip 会同时安装在您的系统上。 因此,让我们将其升级到最新版本。 对于那些不知道的人,Pip 是 Python 的包管理器。 基本上,它可以让您从终端安装数千个 Python 库。 使用 Pip,我们可以安装 OpenAI、gpt_index、gradio 和 PyPDF2 库。 以下是要遵循的步骤。
1. 在您的计算机上打开您选择的终端。 我使用的是 Windows 终端,但您也可以使用命令提示符。 现在,运行以下命令来更新 Pip。 同样,您可能必须在 Linux 和 macOS 上使用 python3 和 pip3。
python -m pip install -U pip
2. 要检查 Pip 是否已正确安装,请运行以下命令。 它将输出版本号。 如果您遇到任何错误,请按照我们关于如何在 Windows 上安装 Pip 的专门指南来修复与 PATH 相关的问题。
pip --version
安装 OpenAI、GPT Index、PyPDF2 和 Gradio 库
一旦我们设置了 Python 和 Pip,就该安装必要的库了,这些库将帮助我们使用自定义知识库训练 AI 聊天机器人。 以下是要遵循的步骤。
1. 打开终端并运行以下命令来安装 OpenAI 库。 我们将使用它作为 LLM(大型语言模型)来训练和创建 AI 聊天机器人。 我们还将导入 OpenAI 的 LangChain 框架。 请注意,Linux 和 macOS 用户可能必须使用 pip3 而不是 pip。
pip install openai
2. 接下来,让我们安装GPT Index,也就是LlamaIndex。 它允许 LLM 连接到作为我们知识库的外部数据。
pip install gpt_index
3. 之后,安装PyPDF2来解析PDF文件。 如果您想以 PDF 格式提供数据,该库将帮助程序轻松读取数据。
pip install PyPDF2
4.最后,安装Gradio库。 这是为了创建一个简单的 UI 来与训练有素的 AI 聊天机器人进行交互。 我们现在已经完成了训练 AI 聊天机器人所需的所有库的安装。
pip install gradio
下载代码编辑器
最后,我们需要一个代码编辑器来编辑一些代码。 在 Windows 上,我会推荐 Notepad++ (下载). 只需通过附加链接下载并安装该程序。 如果您熟悉强大的 IDE,您也可以在任何平台上使用 VS Code。 除了 VS Code,您还可以安装 Sublime Text (下载) 在 macOS 和 Linux 上。
对于 ChromeOS,您可以使用出色的 Caret 应用程序(下载) 来编辑代码。 我们几乎完成了软件环境的设置,是时候获取 OpenAI API 密钥了。
免费获取 OpenAI API 密钥
现在,要基于自定义知识库训练和创建 AI 聊天机器人,我们需要从 OpenAI 获取 API 密钥。 API 密钥将允许您使用 OpenAI 的模型作为 LLM 来研究您的自定义数据并进行推理。 目前,OpenAI 在前三个月向新用户提供免费 API 密钥和价值 5 美元的免费信用额度。 如果您之前创建了 OpenAI 帐户,您的帐户中可能会有 18 美元的免费信用额度。 免费额度用完后,您将需要为 API 访问付费。 但目前,所有用户都可以免费使用它。
1.前往 platform.openai.com/signup 并创建一个免费帐户。 如果您已有 OpenAI 帐户,只需登录即可。
2. 接下来,单击右上角的个人资料,然后从下拉菜单中选择“查看 API 密钥”。
3. 在这里,单击“创建新密钥”并复制 API 密钥。 请注意,您以后无法复制或查看整个 API 密钥。 因此强烈建议立即将 API 密钥复制并粘贴到记事本文件中。
4. 另外,不要公开分享或展示 API 密钥。 这是一个私钥,仅用于访问您的帐户。 您还可以删除 API 密钥并创建多个私钥(最多五个)。
使用自定义知识库训练和创建 AI 聊天机器人
现在我们已经设置了软件环境并从 OpenAI 获得了 API 密钥,让我们来训练 AI 聊天机器人。 在这里,我们将使用“text-davinci-003”模型而不是最新的“gpt-3.5-turbo”模型,因为 Davinci 在文本补全方面效果更好。 如果你愿意,你可以很好地将模型更改为 Turbo 以降低成本。 有了这个,让我们跳到说明。
添加您的文档以训练 AI 聊天机器人
1. 首先,在桌面等可访问位置创建一个名为 docs 的新文件夹。 您也可以根据自己的喜好选择其他位置。 但是,请保留文件夹名称 docs。
2. 接下来,将您希望用于训练 AI 的文档移动到“docs”文件夹中。 您可以添加多个文本或 PDF 文件(甚至是扫描的文件)。 如果您在 Excel 中有一个大表格,您可以将其导入为 CSV 或 PDF 文件,然后将其添加到“docs”文件夹。 您甚至可以添加 SQL 数据库文件,如此处所述 浪链AI推文. 除了提到的文件格式外,我没有尝试过很多文件格式,但是您可以自己添加和检查。 对于本文,我添加了一篇 PDF 格式的关于 NFT 的文章。
注意:如果您的文档很大,处理数据的时间会更长,具体取决于您的 CPU 和 GPU。 此外,它会快速使用您的免费 OpenAI 代币。 所以一开始,从一个小文档(30-50 页或 < 100MB 的文件)开始了解这个过程。
准备好代码
1. 现在,启动 Notepad++(或您选择的代码编辑器)并将以下代码粘贴到一个新文件中。 我又一次得到了很大的帮助 Google Colab 上的 armrrs 并调整代码使其与 PDF 文件兼容,并在顶部创建一个 Gradio 界面。
from gpt_index import SimpleDirectoryReader, GPTListIndex, GPTSimpleVectorIndex, LLMPredictor, PromptHelper from langchain import OpenAI import gradio as gr import sys import os os.environ["OPENAI_API_KEY"] = 'Your API Key' def construct_index(directory_path): max_input_size = 4096 num_outputs = 512 max_chunk_overlap = 20 chunk_size_limit = 600 prompt_helper = PromptHelper(max_input_size, num_outputs, max_chunk_overlap, chunk_size_limit=chunk_size_limit) llm_predictor = LLMPredictor(llm=OpenAI(temperature=0.7, model_name="text-davinci-003", max_tokens=num_outputs)) documents = SimpleDirectoryReader(directory_path).load_data() index = GPTSimpleVectorIndex(documents, llm_predictor=llm_predictor, prompt_helper=prompt_helper) index.save_to_disk('index.json') return index def chatbot(input_text): index = GPTSimpleVectorIndex.load_from_disk('index.json') response = index.query(input_text, response_mode="compact") return response.response iface = gr.Interface(fn=chatbot, inputs=gr.inputs.Textbox(lines=7, label="Enter your text"), outputs="text", title="Custom-trained AI Chatbot") index = construct_index("docs") iface.launch(share=True)
2. 这是代码在代码编辑器中的样子。
3. 接下来,单击顶部菜单中的“文件”,然后从下拉菜单中选择“另存为…”。
4. 之后,设置文件名app.py,并从下拉菜单中将“保存类型”更改为“所有类型”。 然后,将文件保存到您创建“docs”文件夹的位置(在我的例子中,它是桌面)。 您可以根据自己的喜好更改名称,但请确保附加了 .py。
5. 确保“docs”文件夹和“app.py”位于同一位置,如下面的屏幕截图所示。 “app.py”文件将在“docs”文件夹之外,而不是在里面。
6. 再次回到 Notepad++ 中的代码。 在这里,将您的 API 密钥替换为上面 OpenAI 网站上生成的密钥。
7. 最后,按“Ctrl + S”保存代码。 您现在可以运行代码了。
使用自定义知识库创建 ChatGPT AI 机器人
1. 首先,打开终端并运行以下命令移动到桌面。 这是我保存“docs”文件夹和“app.py”文件的地方。 如果您将这两个项目都保存在另一个位置,请通过终端移动到该位置。
cd Desktop
2. 现在,运行以下命令。 Linux 和 macOS 用户可能必须使用 python3。
python app.py
3. 现在,它将开始使用 OpenAI LLM 模型分析文档并开始索引信息。 根据文件大小和您计算机的性能,处理文档需要一些时间。 完成后,将在桌面上创建一个“index.json”文件。 如果终端没有显示任何输出,请不要担心,它可能仍在处理数据。 供您参考,处理一个 30MB 的文档大约需要 10 秒。
4. LLM 处理完数据后,您会收到一些可以放心忽略的警告。 最后,在底部,您会找到一个本地 URL。 复制它。
5. 现在,将复制的 URL 粘贴到 Web 浏览器中,就可以了。 您经过定制训练的 ChatGPT 驱动的 AI 聊天机器人已准备就绪。 首先,您可以询问 AI 聊天机器人文档的内容。
6. 您可以提出更多问题,ChatGPT 机器人将根据您提供给 AI 的数据进行回答。 因此,这就是您如何使用自己的数据集构建定制训练的 AI 聊天机器人。 您现在可以根据所需的任何类型的信息训练和创建 AI 聊天机器人。 可能性是无止境。
7.您也可以复制公开网址分享给您的亲朋好友。 该链接将有效 72 小时,但您还需要保持计算机开启,因为服务器实例正在您的计算机上运行。
8. 要停止自定义训练的 AI 聊天机器人,请在终端窗口中按“Ctrl + C”。 如果不起作用,请再次按“Ctrl + C”。
9. 要重新启动 AI 聊天机器人服务器,只需再次移动到桌面位置并运行以下命令。 请记住,本地 URL 是相同的,但公共 URL 会在每次服务器重启后发生变化。
python app.py
10. 如果你想用新数据训练 AI 聊天机器人,请删除“docs”文件夹中的文件并添加新文件。 您还可以添加多个文件,但要提供有关同一主题的信息,否则您可能会得到不连贯的响应。
11. 现在,在终端中再次运行代码,它会创建一个新的“index.json”文件。 在这里,旧的“index.json”文件将被自动替换。
python app.py
12. 要跟踪您的代币,请访问 OpenAI 的在线 仪表板 并查看剩余的免费信用额度。
13. 最后,除非您想更改 API 密钥或 OpenAI 模型以进行进一步定制,否则您无需触摸代码。
使用您自己的数据构建自定义 AI 聊天机器人
这就是您如何使用自定义知识库训练 AI 聊天机器人。 我已经使用这段代码在医学书籍、文章、数据表和来自旧档案的报告上训练 AI,它运行得非常完美。 因此,继续使用 OpenAI 的大型语言模型和 ChatGPY 创建您自己的 AI 聊天机器人。 无论如何,这都是我们的。 如果您正在寻找最好的 ChatGPT 替代品,请前往我们的链接文章。 要在您的 Apple Watch 上使用 ChatGPT,请遵循我们的深入教程。 最后,如果您遇到任何问题,请在下面的评论部分告诉我们。 我们一定会尽力帮助您。