(学习总结)如何使用ChatGPT API训练自定义知识库

第一步: 安装OpenAI、GPT Index、PyPDF2和Gradio库

pip install openai
pip install gpt_index
pip install PyPDF2
pip install gradio

第二步:用VScode代码编辑器写app.py代码

        记得替换api密钥

from llama_index import SimpleDirectoryReader, GPTListIndex, GPTVectorStoreIndex, LLMPredictor, PromptHelperfrom langchain import OpenAIimport gradio as grimport sysimport osos.environ["OPENAI_API_KEY"] = 'Your API Key'def construct_index(directory_path):max_input_size = 4096num_outputs = 512max_chunk_overlap = 20chunk_size_limit = 600prompt_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 = GPTVectorStoreIndex(documents, llm_predictor=llm_predictor, prompt_helper=prompt_helper)index.save_to_disk('index.json')return indexdef chatbot(input_text):index = GPTVectorStoreIndex.load_from_disk('index.json')response = index.query(input_text, response_mode="compact")return response.responseiface = 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)

第三步:免费获取OpenAI的API密钥

目前,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密钥到一个记事本文件。

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

现在我们已经建立了软件环境并从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的文件)开始,以了解这个过程。

3. 之后,将 app.py保存到你创建 “docs” 文件夹的位置(在我的例子中,是桌面)。你可以根据自己的喜好改变名称,但要确保是 .py 文件后缀。

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

 

第五步:正式训练,用自定义知识库创建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、如果你想用新的数据训练人工智能聊天机器人,请删除 “docs” 文件夹内的文件并添加新文件。你也可以添加多个文件,但要提供同一主题的信息,否则你可能得到不连贯的回应。

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

小结

       在医学书籍、文章、数据表和旧档案中的报告上训练人工智能效果完美无缺

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

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

相关文章

纯css实现太极八卦图

感觉最近好像闯鬼了&#xff0c;赶紧写个八卦图避避邪&#xff0c;开玩笑了&#xff0c;不废话&#xff0c;上菜&#xff0c;看效果上代码。 效果 代码&#xff0c;你们都是大佬&#xff0c;这里就不解释代码了 &#xff08;hover会转动喔&#xff09;。 <!DOCTYPE html&g…

LabVIEW智能Modbus监控系统

LabVIEW智能Modbus监控系统 在自动化和信息化迅速发展下&#xff0c;传统的监控系统已无法满足现代工业对于数据通讯和处理的高效率和高可靠性要求。为了解决这一问题&#xff0c;设计了一套基于LabVIEW的智能Modbus监控系统。该系统利用LabVIEW的图形化编程环境和Modbus协议的…

数字孪生10个技术栈:数据处理的六步骤,以获得可靠数据。

一、什么是数据处理 在数字孪生中&#xff0c;数据处理是指对采集到的实时或历史数据进行整理、清洗、分析和转化的过程。数据处理是数字孪生的基础&#xff0c;它将原始数据转化为有意义的信息&#xff0c;用于模型构建、仿真和决策支持。 数据处理是为了提高数据质量、整合数…

深入理解Servlet

目录&#xff1a; ServletWeb开发历史Servlet简介Servlet技术特点Servlet在应用程序中的位置Tomcat运行过程Servlet继承结构Servlet生命周期Servlet处理请求的原理Servlet的作用HttpServletRequest对象HttpServletResponse对象ServletContext对象ServletConfig对象Cookie对象与…

SpringBoot快速入门(介绍,创建的3种方式,Web分析)

目录 一、SpringBoot介绍 二、SpringBootWeb快速入门 创建 定义请求处理类 运行测试 三、Web分析 一、SpringBoot介绍 我们可以打开Spring的官网(Spring | Home)&#xff0c;去看一下Spring的简介&#xff1a;Spring makes Java simple。 Spring发展到今天已经形成了一种…

Android 多桌面图标启动, 爬坑点击打开不同页面

备注 &#xff1a; MainActivity 正常带界面的UI MainActivityBt 和 MainActivityUsb 是透明的&#xff0c;即 android:theme"style/TranslucentTheme" ###场景1:只有MainActivity 设置成&#xff1a;android:launchMode"singleTask" 点击顺序&#xff1…

ThreadLocal :在 Java中隱匿的魔法之力

优质博文&#xff1a;IT-BLOG-CN ThreadLocal 并不是一个Thread&#xff0c;而是 ThreadLocalVariable(线程局部变量)。也许把它命名为 ThreadLocalVar更加合适。线程局部变量就是为每一个使用该变量的线程都提供一个变量值的副本&#xff0c;是 Java中一种较为特殊的线程绑定机…

MySQL--优化(索引--聚簇和非聚簇索引)

MySQL–优化&#xff08;索引–聚簇和非聚簇索引&#xff09; 定位慢查询SQL执行计划索引 存储引擎索引底层数据结构聚簇和非聚簇索引索引创建原则索引失效场景 SQL优化经验 一、聚簇索引 聚簇索引&#xff1a;将数据存储与索引放到了一块&#xff0c;索引结构的叶子节点保存…

01-环境搭建、SpringCloud微服务-黑马头条

环境搭建、SpringCloud微服务(注册发现、服务调用、网关) 1)课程对比 2)项目概述 2.1)能让你收获什么 2.2)项目课程大纲 2.3)项目概述 随着智能手机的普及&#xff0c;人们更加习惯于通过手机来看新闻。由于生活节奏的加快&#xff0c;很多人只能利用碎片时间来获取信息&…

数据开发 - 面经(已OC) - 北京中海通

投递流程&#xff1a; 2023.12.28 Boss 打招呼 2024.1.3 约面 2024.1.4 上午面试 &#xff08;手机端腾讯会议&#xff09; 2024.1.5 上午 通知面试通过 腾讯会议手机端无法和录影机同时运行&#xff0c;录音无效&#xff0c;之后注意使用电脑面试 面试流程&#xff1a;首…

搜维尔科技:3D Systems Geomagic Design X 逆向工程软件

产品概述 3D Systems Geomagic Design X 是全面的逆向工程软件 GeomagicoDesign XTM是全面的逆向工程软件&#xff0c;它结合了基于特征的CAD数模与三维扫描数据处理&#xff0c;使您能创建出可编辑、基于特征的CAD数模&#xff0c;并与您现有的CAD软件兼容。 拓展您的设计能…

两两交换链表中的节点+力扣

题目 题目链接 . - 力扣&#xff08;LeetCode&#xff09; 题目描述 代码实现 class Solution { public:ListNode* swapPairs(ListNode* head) {if(head nullptr || head->next nullptr) return head;ListNode *tmpHead swapPairs(head->next->next);ListNode …

Spring Boot异常处理和单元测试

1.SpringBoot异常处理 1.1.自定义错误页面 SpringBoot默认的处理异常的机制&#xff1a;SpringBoot 默认的已经提供了一套处理异常的机制。一旦程序中出现了异常 SpringBoot 会向/error 的 url 发送请求。在 springBoot 中提供了一个叫 BasicErrorController 来处理/error 请…

Qt/C++音视频开发68-检查是否含有B帧/转码推流/拉流显示/监控拉流推流/海康大华宇视监控

一、前言 为什么需要判断视频文件是否含有B帧&#xff0c;这个在推流的时候很容易遇到这个问题&#xff0c;一般来说&#xff0c;没有B帧的视频文件&#xff0c;解码后的数据帧pts和dts都是顺序递增的&#xff0c;而有B帧的则未必&#xff0c;可能有些需要先解码后面显示&…

让娃学习效率更高的“可视化”时间管理器

如果要问&#xff0c;老母亲在娃开学后&#xff0c;蕞着急孩子哪一种坏习惯&#xff0c;那时间管理肯定榜上有名&#xff01; 做作业的时候&#xff0c;才写了5分钟&#xff0c;已经没有耐心了&#xff0c;东摸摸西看看&#xff0c;一会说肚子疼想上厕所&#xff0c;一会又拿出…

【Java EE初阶三十】JVM的简单学习

1. JVM 内存区域划分 一个运行起来的 Java 进程&#xff0c;就是一个 JVM 虚拟机&#xff0c;需要从操作系统申请一大块内存&#xff0c;就会把这个内存&#xff0c;划分成不同的区域&#xff0c;每个区域都有不同的作用. JVM 申请了一大块内存之后,也会划分成不同的内…

Flink实时数仓之用户埋点系统(一)

需求分析及框架选型 需求分析数据采集用户行为采集业务数据采集 行为日志分析用户行为日志页面日志启动日志APP在线日志 业务数据分析用户Insert数据用户Update数据 技术选型Nginx配置Flume配置MaxWellHadoopFlink架构图 需求分析 数据采集 用户行为采集 行为数据&#xff1…

人类与智能体

1、人类与智能体 人类与智能体之间的关系在当今科技发展中变得日益紧密。智能体&#xff0c;作为人工智能领域的一个核心概念&#xff0c;通常指的是一种能够感知环境、做出决策并采取行动以实现特定目标的实体&#xff0c;它可以是软件系统、机器人或其他类型的自动化装置。 …

最小二乘法(带你 原理 实践)

文章目录 引言一、最小二乘法的基本原理二、最小二乘法的计算过程建立模型确定目标函数求解模型参数模型检验 三、最小二乘法的优缺点优点原理简单易懂统计特性优良适用范围广泛 缺点对异常值敏感假设条件较多 四、最小二乘法在实际应用中的案例五、如何克服最小二乘法的局限性…

vue-cli项目因为webpack版本不兼容运行后报错

vue-cli项目运行后报错&#xff1a; Error: Rule can only have one resource source (provided resource and test include exclude) in {"exclude": [null],"use": [{"loader": "G:\\CustomerDay\\customerday\\node_modules\\cache-l…