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

2023-05-16

原文:如何使用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创建你自己的人工智能聊天机器人。总之,这就是我们的全部内容。最后,如果您面临任何类型的问题,请在下面的评论部分告诉我们。我们一定会努力帮助你。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • 【Linux】使用update-alternatives命令进行版本的切换

    引言 在Debian系统中 xff0c 我们可能会同时安装有很多功能类似的程序和可选配置 xff0c 可能会出现同一软件的多个版本并存的场景 比如像是一些编程语言工具 xff0c 一些系统中自带的是python2 6 xff0c 而现在py
  • stm32G0 启动

    目的 STM32G是意法半导体这两年新推出的系列芯片 xff0c 相比原先的F系列的芯片有很多提升点 xff0c 将来必将取代F系列芯片的地位 对于新芯片的应用来说能够正确下载与运行程序是比较重要的一点 xff0c 这篇文章将对 STM32
  • 【scikit-learn】交叉验证及其用于参数选择、模型选择、特征选择的例子

    xfeff xfeff 内容概要 训练集 测试集分割用于模型验证的缺点K折交叉验证是如何克服之前的不足交叉验证如何用于选择调节参数 选择模型 选择特征改善交叉验证 1 模型验证回顾 进行模型验证的一个重要目的是要选出一个最合适的模型 xff
  • 【scikit-learn】网格搜索来进行高效的参数调优

    xfeff xfeff 内容概要 如何使用K折交叉验证来搜索最优调节参数如何让搜索参数的流程更加高效如何一次性的搜索多个调节参数在进行真正的预测之前 xff0c 如何对调节参数进行处理如何削减该过程的计算代价 1 K折交叉验证回顾 交叉验证
  • 【scikit-learn】评估分类器性能的度量,像混淆矩阵、ROC、AUC等

    xfeff xfeff 内容概要 模型评估的目的及一般评估流程分类准确率的用处及其限制混淆矩阵 xff08 confusion matrix xff09 是如何表示一个分类器的性能混淆矩阵中的度量是如何计算的通过改变分类阈值来调整分类器性能
  • 【Scala-ML】使用Scala构建机器学习工作流

    引言 在这一小节中 xff0c 我将介绍基于数据 xff08 函数式 xff09 的方法来构建数据应用 这里会介绍monadic设计来创建动态工作流 xff0c 利用依赖注入这样的高级函数式特性来构建轻便的计算工作流 建模过程 在统计学和概
  • 【Scala】响应式编程思想

    何为响应式编程 响应式编程是一种面向数据流和变化传播的编程范式 xff0c 数据更新是相关联的 这意味着可以在编程语言中很方便地表达静态或动态的数据流 xff0c 而相关的计算模型会自动将变化的值通过数据流进行传播 以响应式编程方式进行思考
  • 【函数式】纯函数与替代模型

    纯函数 一个函数在程序执行的过程中除了根据输入参数给出运算结果之外没有其他的副作用影响 xff0c 我们可以把这类函数称为 纯函数 纯函数由于不依赖外部变量 xff0c 使得给定函数输入其返回结果永远不变 xff0c 比如整数的加法函数 x
  • C/C++ 常用程序库

    C C 43 43 程序库 https zhuanlan zhihu com p 98056565 来几个不常见但是很变态的库吧 bundle 把几乎所有常见的压缩库封装成了一个库 接口完全统一 想用哪个用哪个 就一个h和一个巨TM大的cp
  • git 提交的时候报错:error: 'flutter_app/' does not have a commit checked out

    如果有朋友遇到这个问题 xff0c 请不用担心 xff0c 因为这个问题非常简单 xff01 出现的情况就是 xff0c 你在一个github仓库里面 xff0c 放进来一个文件夹 xff0c 但是文件夹里面还有文件夹 xff0c 而且还没
  • Fragment中使用viewLifecycleOwner/getActivity/this

    观察liveData使用生命周期 如图 xff1a 当liveData想在fragment里观察的时候 xff0c 可以使用getActivity this getViewLifecycleOwner getActivity不必说 xff0
  • Android的FileProvider使用解释

    前言 从Android7 0 xff08 N xff09 开始 xff0c 严格执行 StrictMode 模式 xff0c 也就是说 xff0c 将对安全做更严格的校验 不允许在 App 间 xff0c 使用 file 的方式 xff0c
  • STM32G0 串口编程

    利用USB转串口调试 xff0c 烧写单片机程序 1 打开STM32 CubeProgrammer软件设置启动配置 2 让程序从system Flash启动 xff08 1 xff09 勾选 DTR 勾选RTS 取消勾选RTS 2 取消勾选
  • Android使用SystemProperties基础了解

    安卓系统属性是以键值对的形式存在 xff0c 一般放在system prop xff0c build prop xff0c default prop等文件中 这些属性可能是进程状态 xff0c 资源使用情况 xff0c 系统特有属性等等 创
  • 使用Android Studio打包Module成jar包

    现在假设我们想打包一个module成jar包的形式给其它应用调用 xff1a vrservice 1 0 jar 步骤1 在Module项目的build gradle文件中做如下配置 xff1a 生成jar包的配置如下 xff1a def
  • C++无符号整型与有符号整型变量的运算-不简单

    示例分析 xff1a include lt iostream gt include lt stdio h gt struct Result char c char d unsigned char e Result getChar int x
  • C++虚继承下的类大小

    前言 带有虚函数的虚继承的对象模型比较复杂 xff0c 所以单独整理一下 其实关于计算类大小是C 43 43 的一大易错点之一 即便是我在这儿理了半天 xff0c 也不一定就是正确的 xff0c 如果大佬看到本文 xff0c 发现我很多错误
  • 解决android的跑马灯频繁刷新的问题

    先贴一下跑马灯效果的代码 xff0c 这里我是继承的TextView xff1a public class MarqueeTextView extends AppCompatTextView public MarqueeTextView C
  • 关于第一次将STM32与电脑连接情况

    安装了Keil xff08 ARM xff09 版本之后 xff0c 不管是自己编程 xff0c 还是配套的程序运行 我们都想把它下载到STM32芯片里面 xff0c 在板子上运行 这里介绍几种方法 1 用J LINK下载调试 这个工具 x
  • [java语言]——InetAddress类的getByName()方法

    InetAddress 表示互联网协议 xff08 IP xff09 地址 InetAddress getByName 34 www 163 com 34 在给定主机名的情况下确定主机的IP地址 如果参数为null 获得的是本机的IP地址

随机推荐

  • Java中Calendar.DAY_OF_WEEK、DAY_OF_MONTH需要减一的原因

    Java中对日期的处理需要用到Calendar类 xff0c 其中有几个方法在使用时需要新手注意 1 在获取月份时 xff0c Calendar MONTH 43 1 的原因 xff08 Java中Calendar MONTH返回的数值其实
  • C语言学习笔记(三)(头文件的结构顺序)(类型不完整的解决方法)

    目录 前言原则结构推荐结构图方便的结构 类型不完整的原因和解决方法 xff1a 定义了不定长数组结构体的定义放在了头文件里面解决方法1 xff08 当采用使用时包含特定头文件时 xff09 xff1a 解决方法2 xff08 当一个头文件包
  • S2

    int count 61 0 double lat 61 55 8241 double lng 61 137 8347 double radius 61 900 半径 double capHeight 61 2 S2 M PI radius
  • 从STM32F407到AT32F407(一)

    雅特力公司的MCU有着性能超群 xff0c 价格优越的巨大优势 xff0c 缺点是相关资料少一些 xff0c 我们可以充分利用ST的现有资源来开发它 我用雅特力的STM32F437开发板 xff0c 使用原子 stm32f407的开发板自带
  • vue-java分离

    import com google gson Gson import io renren common utils HttpContextUtils import io renren common utils R import org ap
  • java学习

    莫求全 有效努力 定时出结果 架构设计DDD 微服务介绍 https www kancloud cn qingshou aaa1 2667225 https www cnblogs com chencan p 16042197 html h
  • CentOS6.5添加虚拟IP(VIP)

    使用keepalived 实现Nginx高可用时 需要用到这项技术 虚拟ip在高可用中的作用后续再说 今天看看怎么给服务器配置虚拟IP xff0c 其实也就是多分配个IP地址 首先查看一下现有网卡的IP地址 xff0c 用root特权运行下
  • 微服务Spring Cloud例子

    Spring Cloud简介 Spring Cloud是一个基于Spring Boot实现的云应用开发工具 xff0c 为开发者提供了在分布式系统 xff08 配置管理 xff0c 服务发现 xff0c 熔断 xff0c 路由 xff0c
  • 美邦威集成呼吸墙饰

    http www mbwqs cn 湖北光大新型环保装饰材料有限公司 美邦威集成呼吸墙饰 生产销售中心 xff1a 湖北汉川经济开发区光大工业园 光大材料 210590 上海股交所挂牌
  • activemq--MASTER SLAVE+BROKER CLUSTER 实践(二)

    鱼与熊掌兼得法 完美解决方案 我们知道 xff1a master slave模式下 xff0c 消息会被逐个复制而cluster模式下 xff0c 请求会被自动派发 那么可不可以把两者集成起来呢 xff1f 答案是有的 xff0c 网上所谓
  • Dubbo超时和重连机制

    dubbo启动时默认有重试机制和超时机制 超时机制的规则是如果在一定的时间内 xff0c provider没有返回 xff0c 则认为本次调用失败 xff0c 重试机制在出现调用失败时 xff0c 会再次调用 如果在配置的调用次数内都失败
  • Sharding-JDBC简介

    一般 xff0c 线上系统的业务量不是很大 xff0c 比如说单库的数据量在百万级别以下 xff0c 那么MySQL的单库即可完成任何增 删 改 查的业务操作 随着业务的发展 xff0c 单个DB中保存的数据量 xff08 用户 订单 计费
  • 1024

    听说今天发帖能有1024勋章 xff1f
  • 神奇!明明是 socket,被我玩成了 http!

    颓废青年 xff0c 快出来挨打 xff01 点击上方 Java极客技术 xff0c 选择 设为星标 后台回复 java xff0c 获取Java知识体系 面试必看资料 资料会持续更新 xff0c 已更新第四次 xff01 文章精品专栏 记
  • python画图程序

    usr bin python coding utf 8 import wx import wx lib buttons as buttons import wx adv as adv import wx lib colourselect a
  • 升级到tensorflow2.0,我整个人都不好了

    版本升级到 tensorflow 2 0 的悲惨经历 没事别升级 Tensorflow 2 0发布已经有一段时间了 xff0c 各种基于新API的教程看上去的确简单易用 xff0c 一个简单的mnist手写识别只需要下面不到20行代码就OK
  • 修改conda环境和缓存默认路径

    默认情况下 xff0c conda 创建的新环境 以及过往安装的模块缓存都存储在用户目录下 xff0c 这一点不会在 conda xff08 user specific xff09 配置文件 HOME condarc 中体现出来 xff0c
  • 融合人体姿态估计和目标检测的学生课堂行为识别

    融合人体姿态估计和目标检测的学生课堂行为识别 参考网 摘要 xff1a 在課堂教学中 xff0c 人工智能技术可以帮助实现学生行为分析自动化 xff0c 让教师能够高效且直观地掌握学生学习行为投入的情况 xff0c 为后续优化教学设计与实施
  • Python实例详解pdfplumber读取PDF写入Excel

    一 Python操作PDF 13大库对比 PDF xff08 Portable Document Format xff09 是一种便携文档格式 xff0c 便于跨操作系统传播文档 PDF文档遵循标准格式 xff0c 因此存在很多可以操作PD
  • 如何使用ChatGPT API训练自定义知识库AI聊天机器人

    原文 xff1a 如何使用ChatGPT API训练自定义知识库AI聊天机器人 闪电博 在我们之前的文章中 xff0c 我们演示了如何用ChatGPT API建立一个AI聊天机器人 xff0c 并指定一个角色来进行个性化处理 但如果你想在自