如何使用ChatGPT API训练自定义知识库AI聊天机器人

原文:如何使用ChatGPT API训练自定义知识库AI聊天机器人 - 闪电博

在我们之前的文章中,我们演示了如何用ChatGPT API建立一个AI聊天机器人,并指定一个角色来进行个性化处理。但如果你想在自己的数据上训练人工智能呢?例如,你可能有一本书,金融数据,或一大套数据库,你希望能轻松地搜索它们。在这篇文章中,我们为你带来一个简单易行的教程,介绍如何用你的自定义知识库用LangChain和ChatGPT API训练AI聊天机器人。我们正在部署LangChain、GPT Index和其他强大的库,使用OpenAI的大型语言模型(LLM)训练AI聊天机器人。因此,在这一点上,让我们来看看如何使用自己的数据集来训练和创建一个人工智能聊天机器人。

在这篇文章中,我们更详细地解释了用自己的数据训练AI聊天机器人的步骤。从设置工具和软件到训练人工智能模型,我们用通俗易懂的语言包含了所有的说明。强烈建议按照说明从上到下进行,不要跳过任何部分。

  • 在你用自己的数据训练人工智能之前,值得注意的几点
  • 设置软件环境来训练人工智能聊天机器人
  • 免费获取OpenAI的API密钥
  • 使用自定义知识库训练并创建一个人工智能聊天机器人

在你用自己的数据训练人工智能之前,值得注意的几点

1. 你可以在任何平台上训练AI聊天机器人,无论是Windows、macOS、Linux还是ChromeOS。在本文中,我使用的是Windows 11,但其他平台的步骤几乎是相同的。

2. 该指南是为普通用户准备的,说明是用简单的语言解释的。因此,即使你对计算机有粗略的了解,也不知道如何编码,你也可以在几分钟内轻松训练并创建一个问答式人工智能聊天机器人。如果你关注我们之前的ChatGPT机器人文章,那就更容易理解这个过程了。

3. 由于我们要根据自己的数据来训练人工智能聊天机器人,所以建议使用具有良好CPU和GPU的电脑。然而,你可以使用任何低端电脑进行测试,它的工作没有任何问题。我使用Chromebook来训练AI模型,使用一本有100页的书(~100MB)。然而,如果你想训练一个庞大的数据集,运行到数千页,强烈建议使用强大的计算机。

4. 最后,数据集应该是英文的,以获得最好的结果,但根据OpenAI的说法,它也可以使用流行的国际语言,如法语、西班牙语、德语等。所以,去吧,用你自己的语言试试吧。

设置软件环境来训练人工智能聊天机器人

和我们之前的文章一样,你应该知道Python和Pip必须和几个库一起安装。在这篇文章中,我们将从头开始设置一切,这样新用户也能理解设置过程。为了给你一个简单的概念,我们将安装Python和Pip。之后,我们将安装Python库,其中包括OpenAI、GPT Index、Gradio和PyPDF2。在这一过程中,你将了解每个库的作用。同样,不要为安装过程而烦恼,它是非常直接的。在这一点上,让我们直接跳入。

安装Python

1. 首先,你需要在你的电脑上安装Python(Pip)。打开这个链接,下载适合你的平台的安装文件。

2. 接下来,运行安装文件,确保启用 “Add Python.exe to PATH” 的复选框。这是一个极其重要的步骤。之后,点击 “Install Now”,按照常规步骤安装Python。

3. 为了检查Python是否正确安装,在你的计算机上打开终端。我在Windows上使用Windows终端,但你也可以使用命令提示符。一旦在这里,运行下面的命令,它将输出Python版本。在Linux和macOS上,你可能必须使用 python3 --version 而不是 python --version

python --version

升级Pip

当你安装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,现在是时候安装必要的库,以帮助我们用自定义的知识库训练人工智能聊天机器人。以下是要遵循的步骤。

1. 打开终端,运行下面的命令来安装OpenAI库。我们将使用它作为LLM(大型语言模型)来训练和创建一个人工智能聊天机器人。而且我们还将从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库。这是为了创建一个简单的用户界面,与训练好的人工智能聊天机器人进行互动。现在我们已经完成了训练人工智能聊天机器人所需的所有库的安装。

pip install gradio

下载一个代码编辑器

最后,我们需要一个代码编辑器来编辑一些代码。在Windows上,我推荐Notepad++(下载)。只需通过附件中的链接下载并安装该程序。如果你能适应强大的IDE,你也可以在任何平台上使用VS Code。除VS Code外,你可以在macOS和Linux上安装Sublime Text(下载)。

对于ChromeOS,你可以使用优秀的Caret应用程序(下载)来编辑代码。我们几乎完成了软件环境的设置,是时候获得OpenAI的API密钥了。

免费获取OpenAI的API密钥

现在,为了训练和创建一个基于自定义知识库的人工智能聊天机器人,我们需要从OpenAI获得一个API密钥。API密钥将允许你使用OpenAI的模型作为LLM来研究你的自定义数据并得出推论。目前,OpenAI正在向新用户提供免费的API密钥,前三个月有价值5美元的免费信用。如果你早些时候创建了你的OpenAI账户,你的账户中可能有18美元的免费信用。免费信用额度用完后,你将不得不为API访问付费。但就目前而言,所有用户都可以免费使用。

1. 前往 platform.openai.com/signup 并创建一个免费账户。如果你已经有一个OpenAI账户,只需登录。注:建议直接使用Google或者微软账号注册登录,注册需要使用到已支持国家或者地区的手机验证码,可以sms-activate.org(不要选印度或者印尼,泰国是可以收到验证码的)。

2. 接下来,在右上角点击你的个人资料,从下拉菜单中选择 “View API keys“。

3. 在这里,点击 “Create new secret key” 并复制API密钥。请注意,你以后不能复制或查看整个API密钥。因此,强烈建议立即复制和粘贴API密钥到一个记事本文件。

4. 此外,不要公开分享或显示API密钥。这是一个私人密钥,只用于访问你的账户。你也可以删除API密钥并创建多个私人密钥(最多五个)。

使用自定义知识库训练并创建一个人工智能聊天机器人

现在我们已经建立了软件环境并从OpenAI获得了API密钥,让我们来训练人工智能聊天机器人。在这里,我们将使用 “text-davinci-003” 模型,而不是最新的 “gpt-3.5-turbo” 模型,因为Davinci在文本完成方面效果更好。如果你愿意,你完全可以把模型改为Turbo,以减少成本。说完这些,让我们跳到说明上。

添加你的文件来训练人工智能聊天机器人

1. 首先,在一个可访问的位置(如桌面)创建一个名为 docs 的新文件夹。你也可以根据自己的喜好选择其他位置。然而,保持文件夹的名称为 docs

2. 接下来,将你希望用于训练AI的文件移到 “docs” 文件夹内。你可以添加多个文本或PDF文件(甚至是扫描的文件)。如果你在Excel中有一个大表,你可以把它作为CSV或PDF文件导入,然后把它添加到 “docs” 文件夹中。你甚至可以添加SQL数据库文件,正如这条Langchain AI的推文所解释的。除了提到的那些,我还没有尝试过很多文件格式,但你可以自己添加和检查。对于这篇文章,我正在添加我的一篇关于NFT的PDF格式的文章。

注意:如果你有一个大文件,它将需要更长的时间来处理数据,这取决于你的CPU和GPU。此外,它将很快使用你的免费OpenAI tokens。因此,在开始时,从一个小文件(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. 接下来,点击顶部菜单中的 “File”,从下拉菜单中选择 “Save As…“。

4. 之后,设置文件名 app.py,并从下拉菜单中将 “Save as type” 改为 “All types”。然后,将文件保存到你创建 “docs” 文件夹的位置(在我的例子中,是桌面)。你可以根据自己的喜好改变名称,但要确保是 .py 文件后缀。

5. 确保 “docs” 文件夹和 “app.py” 在同一个位置,如下面的截图所示。”app.py” 文件将在 “docs” 文件夹的外面,而不是里面。

6. 再次回到Notepad++中的代码。在这里,用上面在OpenAI网站上生成的API密钥替换你的API密钥

7. 最后,按 “Ctrl + S” 来保存代码。现在你已经准备好运行该代码了。

用自定义知识库创建ChatGPT人工智能机器人

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粘贴到网络浏览器中,你就可以了。您的定制训练的ChatGPT-powered人工智能聊天机器人已经准备就绪。开始时,你可以问人工智能聊天机器人该文件是关于什么的

6. 你可以进一步提出问题,ChatGPT机器人会根据你提供给人工智能的数据进行回答。所以这就是你如何用自己的数据集建立一个定制训练的人工智能聊天机器人。你现在可以根据你想要的任何种类的信息来训练和创建一个人工智能聊天机器人。这种可能性是无限的。

7. 你也可以复制公共网址并与你的朋友和家人分享。该链接将持续72小时,但你还需要保持你的电脑开机,因为服务器实例是在你的电脑上运行的。

8. 要停止定制训练的人工智能聊天机器人,请在终端窗口按 “Ctrl + C”。如果不起作用,再按一次 “Ctrl + C”。

9. 要重启AI聊天机器人服务器,只需再次移动到桌面位置并运行下面的命令。请记住,本地URL将是相同的,但公共URL将在每次服务器重启后发生变化。

python app.py

10. 如果你想用新的数据训练人工智能聊天机器人,请删除 “docs” 文件夹内的文件并添加新文件。你也可以添加多个文件,但要提供同一主题的信息,否则你可能得到不连贯的回应。

11. 现在,在终端再次运行该代码,它将创建一个新的 “index.json” 文件。这里,旧的 “index.json” 文件将被自动替换。

python app.py

12. 要跟踪你的tokens,可前往OpenAI的在线仪表盘,查看还剩下多少免费额度。

13. 最后,你不需要接触代码,除非你想改变API密钥或OpenAI模型以进一步定制。

小结

这就是如何用自定义知识库训练人工智能聊天机器人。我曾用这段代码在医学书籍、文章、数据表和旧档案中的报告上训练人工智能,而且效果完美无缺。

因此,请继续使用OpenAI的大型语言模型和ChatGPT创建你自己的人工智能聊天机器人。总之,这就是我们的全部内容。最后,如果您面临任何类型的问题,请在下面的评论部分告诉我们。我们一定会努力帮助你。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/3269.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

当 chatGPT 被职场 PUA ,笑麻了!

大家最近是不是被 chatGPT 刷屏了&#xff1f;简单来说&#xff0c;chatGPT 是一个智能聊天引擎。 那 chatGPT 和小爱同学、 siri 有什么区别呢&#xff1f; 如果体验过的朋友&#xff0c;能感受到区别还是很大&#xff0c;chatGPT 的智能表现过于优秀&#xff0c;远远超过了这…

多设备智能语音交互—小爱协同唤醒

一、背景 2014年11月&#xff0c;亚马逊推出了一款全新概念的智能音箱&#xff1a;Echo&#xff0c;这款产品最大的亮点是将智能语音交互技术植入到传统音箱中&#xff0c;从而赋予了音箱人工智能的属性。这个被称为“Alexa”的语音助手可以像你的朋友一样与你交流&#xff0c;…

小爱同学 语音唤醒 息屏唤醒 可控麦克风占用 个人制作

今年四月份入了红米note5&#xff0c;我买的第一台小米设备。颜值高&#xff0c;全面屏操作&#xff0c;着实是很出色。 使用过程中发现&#xff0c;小爱同学&#xff0c;只能通过点击图标的形式开启&#xff0c;没有语音唤醒功能&#xff0c;着实是一大缺憾。 趁着五一假期&am…

神秘鸭,让语音操作电脑不再神秘 小爱同学

最近小编白嫖了一个天猫精灵,就想着实现有没有智能家居之类的,看着看着就在网上看见了神秘鸭这个软件,可以实现语音助手控制电脑 但是目前天猫精灵的实现还在开发中,只能先用小爱同学用着,后续等待官方的开发 其中大概的逻辑就是电脑神秘鸭客户端连接服务器,用服务器远程控制…

使用小爱同学来控制电脑关机

使用小爱同学来控制电脑关机 前言实现原理创建账号PC端程序编写编译mqtt库代码分析运行界面 控制 前言 做这个项目的原因是因为本人太懒&#xff0c;经常写完代码就没想着关电脑&#xff0c;然后去玩手游去了。接着洗完澡躺下准备睡觉的时候发现电脑的电源灯还亮着&#xff0c…

Notion AI是什么?和chatgpt比哪个好?

最近对于人工智能的热度可谓是前所未有的高涨&#xff0c;毕竟现在的人工智能发展是越来越快&#xff0c;能做的事情也是越来越多&#xff0c;不再是那种低等的假智能小爱同学和siri那种。今天我们主要来聊聊Notion AI和chatgpt吧&#xff0c;Notion AI是什么&#xff1f;和cha…

Android 智能聊天机器人demo(类似小爱同学)

android 聊天机器人 相关信息全写在代码中&#xff0c;很详细 一 、界面展示 做了图标适配 感觉还可以。。。emmm nice 二 、代码 遇到的坑也都在代码中做了解释&#xff0c;下面是我查阅的一些资料 demo下载地址&#xff1a; https://download.csdn.net/download/qq_42…

如何实现一款接入chatGPT的智能音箱

现有的一些“智能音箱”如某度和某猫精灵&#xff0c;跟现在的chatGPT比显得智障。如果能有一款接入chatGPT的智能音箱&#xff0c;它的交互性就好多啦。有gpt加持的智能音箱绝对会很强&#xff0c;以下提供探讨下实现思路。 目前智能音箱在语音交互层面依然不够成熟&#xff0…

使用Midjourney与ChatGPT组合会怎么样?

Midjourney 和 ChatGPT 都是目前比较先进的自然语言处理技术&#xff0c;Midjourney是一种基于深度学习的文本生成模型&#xff0c;而ChatGPT是一种基于自注意力机制的大规模预训练语言模型。 使用MidjourneyChatGPT可以结合两种技术的优势&#xff0c;实现更加高效和准确的文…

一觉醒后ChatGPT 被淘汰了

OpenAI 的 Andrej Karpathy 都大力宣传&#xff0c;认为 AutoGPT 是 prompt 工程的下一个前沿。 近日&#xff0c;AI 界貌似出现了一种新的趋势&#xff1a;自主人工智能。 这不是空穴来风&#xff0c;最近一个名为 AutoGPT 的研究开始走进大众视野。特斯拉前 AI 总监、刚刚回归…

ONLYOFFICE中的chatGPT 是如何编写毕业论文以及翻译多种语言的

前言 chatGPT这款软件曾被多个国家的大学禁用&#xff0c;我们也多次在网上看到chatGPT帮助应届毕业生编写毕业答辩论文&#xff0c;但是这款软件目前还没有在国内正式上线&#xff0c;ONLYOFFICE7.3版本更新后呢&#xff0c;就添加了chatGPT该功能&#xff0c;并且正常使用。 …

“国产版ChatGPT”文心一言发布会现场Demo硬核复现

文章目录 前言实验结果一、文学创作问题1 :《三体》的作者是哪里人&#xff1f;问题2&#xff1a;可以总结下三体的核心内容吗&#xff1f;如果要续写的话&#xff0c;可以从哪些角度出发&#xff1f;问题3&#xff1a;如何从哲学角度来进行续写&#xff1f;问题4&#xff1a;电…

InstructGPT

InstructGPT 论文精读【论文精读48】_哔哩哔哩_bilibili更多论文&#xff1a;https://github.com/mli/paper-reading, 视频播放量 160552、弹幕量 803、点赞数 5846、投硬币枚数 4003、收藏人数 5253、转发人数 2664, 视频作者 跟李沐学AI, 作者简介 &#xff0c;相关视频&…

【记录】ChatGPT|使用技巧(更新至2023年2月8日)

昨天&#xff0c;2022年12月13日&#xff0c;在下午和晚上&#xff0c;ChatGPT 就开始因为请求过多而写到一半就崩溃&#xff0c;出现network error&#xff0c;可见它的关注度确实是越来越可观了。 正好最近世界杯&#xff0c;有博客活动&#xff0c;干脆也总结一下 ChatGPT 目…

Instruction Tuning(FLAN、instructGPT、chatGPT)

首页最近被chatGPT刷屏&#xff0c;但翔二博主左看右看发现很多想法似乎都是一脉相通的&#xff0c;于是连夜从存档中找了一些文章尝试理一理它的理论路线。 具身智能综述和应用&#xff08;Embodied AI&#xff09;多模态中的指令控制 同时想到今年在智源人工智能前沿报告&a…

ChatGPT助力软件开发

抛开Stack Overflow不谈&#xff0c;开发人员有了一个新的好朋友&#xff0c;它就是ChatGPT。ChatGPT是由人工智能驱动的语言模型&#xff0c;可以理解代码&#xff0c;还可以用自然语言回答问题。有了它&#xff0c;程序员再也不用在无尽的Stack Overflow页面和评论中搜索答案…

国内首个类ChatGPT模型MOSS被挤崩溃,团队致歉

2月20日&#xff0c;复旦团队发布国内首个类ChatGPT模型MOSS&#xff0c;引起不少网友关注&#xff0c;由于瞬时访问压力过大&#xff0c;MOSS服务器昨晚还被网友挤崩溃了。 2月21日&#xff0c;MOSS官网发布公告称&#xff0c;MOSS还是一个非常不成熟的模型&#xff0c;距离C…

多数据库管理工具哪家强?ChatGPT点评,第一位并不是Navicat

SQL逐渐成为职场必备的编程语言&#xff0c;相信大家都不陌生。SQL是一种结构化查询语言&#xff0c;是用于数据库之间通信的编程语言。每个数据库都有着自己独特的访问规则&#xff0c;但大体上是遵循SQL标准。 因此&#xff0c;辗转于不同的数据库之间&#xff0c;开发者或D…

ChatGPT,会是现实世界的MOSS吗?

最近&#xff0c;两个人工智能系统彻底火出了圈&#xff0c;成为许多网友热议的焦点。 一个是冷酷无情的“幕后主角”MOSS&#xff0c;一个是多才多艺的“全能网友”ChatGPT。 先来说说MOSS。今年春节档&#xff0c;科幻电影《流浪地球2》热映&#xff0c;电影中一个面试环节令…

MarioGPT自动生成“超级玛丽”;周鸿祎:ChatGPT可能产生意识;国内版ChatGPT复旦首发,但“非常不成熟”...

本周&#xff0c;AI业界又有哪些新鲜事&#xff1f; ChatGPT 国内版ChatGPT首发被复旦“抢注”&#xff0c;但非常不成熟&#xff1f; 虽然各大厂如火如荼地备战国内版“GPT”&#xff0c;但谁也没抢到这个“首发”&#xff1a;2 月 20 日晚&#xff0c;复旦大学自然语言处理实…