GPT-3.5-turbo小白连接教程

2023-11-10

前言

最近在看Chat几批题的相关内容,尝试了在自己电脑上调用一下OpenAI的api,下面以调用几批题-3.5-turbo为例进行讲解。
本次分享分为三大模块:
第一个模块先对连接成功后的AI聊天机器人的功能进行简要了解,
第二个模块讲一下国内连接OpenAI的api所需要的前提条件,
第三个模块详细讲解一下怎么进行连接调用OpenAI的api接口。

1 聊天模式

通过api接口连接的Chat几批题其实是几批题-3.5-turbo,它也是目前能调用的功能最强大的几批题-3.5模型,但是它不具有记忆功能,也就是说AI机器人记不住之前的对话内容。 我们可以通过修改代码实现有记忆功能的AI机器人,具体实现方式是把之前的对话内容添加到当前的提问内容之前,也就是说在这种模式下,虽然我们只是输入了一段提问的话,但是模型会自动把之前的对话内容都添加到当前提问内容的前面,这样AI机器人就知道我们之前的对话内容了。这也导致了每次的提问内容特别的长,这是非常耗费token的,因此费用也更高。下面分别给出两种聊天模式的示例:

1.1 不具有记忆功能的AI机器人,以下内容是不具有记忆功能的AI机器人生成的对话:

User: 你是谁?
AI: 我是AI语言模型,被设计成能聊天、回答问题和完成任务等功能的人工智校程序。
User: 你会干什么啊?
AI:作为人工智能语言模型,我可以回答各种问题,提供信息和建议,执行简单的任务,如提醒和定时器。我还可以进行自然语言处理和语义理解,以与人类进行自然的对话。
User; 我上面问你的是什么?
AI: 对不起,我不起道你在上面问的是什么。请您再次提问,我会尽力回答。
User: exit
AI:好的,再见!

1.2 有记忆功能的AI机器人,以下内容是有记忆功能的AI机器人生成的对话:

User: 你是谁?
AI: 我是AI助手,您可以称呼我为小助手。
User: 你会干什么啊?
AI:我可以提供您各种帮助,例如回答问题、提供建议、进行搜索、安排日程、记录备忘录等等。只要您需要,我就会尽力为您服务。
User; 我上面问你的是什么?
AI: 您问的是我会干什么。
User: exit
AI:好的,再见!

2 连接准备

调用OpenAI的api接口需要能科学上网,所以第一步就要求本地电脑要能科学上网。

3 连接教程

3.1 创建OpenAI账号

因为我们要调用OpenAI的api接口, 所以我们要有OpenAI的账号,然后使用我们账号专属的my来调用api接口。如果你已经有OpenAI的账号了,那么请直接跳到教程的第2步。如果没有账号,那么请参考文末链接1,注册一个属于你的OpenAI账号。

3.2 连接几批题-3.5-turbo

当我们有了OpenAI的账号后,通过访问链接2 即可获得属于你的my,点击生成新的my,复制生成的my,这里进入官网如果出现卡顿请使用好好上网方法。
将以下代码复制到编辑器中,将得到my复制进代码里,代码不长,每一行代码都写了注释,代码里只需要对两个地方进行更改即可,需要更改的内容为:设置端口和my。
这是不具有记忆功能的聊天机器人代码:

import os
import openai

# 设置端口,否则连接不上api
os.environ["http_proxy"] = "127.0.0.1:1080"  # os.environ["http_proxy"] = "http://<ip>:<端口>",这里的127.0.0.1就是本机电脑ip,1080是vpn的端口
os.environ["https_proxy"] = "127.0.0.1:1080"  # os.environ["https_proxy"] = "http://<ip>:<端口>"

openai.api_key = "your api key"   # 将自己的api_key填进去

while True:
  # 获取用户输入
  user_input = input("User:")

  # 检查是否输入了 “exit”,如果是则退出聊天
  if user_input.lower() == "exit":
    print("AI:好的,再见!")
    break

  # 获得Chat几批题的回复
  completion = openai.ChatCompletion.create(
    model="几批题-3.5-turbo",
    messages=[
      {"role": "user",
       "content": user_input}
    ]
  )

  # 将回复进行输出
  print("AI:", completion.choices[0].message["content"])

这是具有记忆功能的聊天机器人代码:

import os
import openai

# 设置端口,否则连接不上api
os.environ["http_proxy"] = "127.0.0.1:1080"  # os.environ["http_proxy"] = "http://<ip>:<端口>"
os.environ["https_proxy"] = "127.0.0.1:1080"  # os.environ["https_proxy"] = "http://<ip>:<端口>"

openai.api_key = "your api key"   # 将自己的api_key填进去
chat_history = ""
while True:
  # 获取用户输入
  user_input = input("User:")

  # 检查是否输入了 “exit”,如果是则退出聊天
  if user_input.lower() == "exit":
    print("AI:好的,再见!")
    break

  # 将用户的输入拼接到历史对话中
  chat_history += f"\nUser: {user_input}"

  completion = openai.ChatCompletion.create(
    model="几批题-3.5-turbo",
    messages=[
      {"role": "user",
       "content": chat_history}
    ]
  )

  # 将AI的回答拼接到历史对话中
  chat_history += f"\n: {completion.choices[0].message['content']}"

  # 输出Ai的回答
  print("AI:", completion.choices[0].message["content"])

更改好代码之后,安装好需要的依赖包就可以直接运行了。运行代码之后会弹出User界面,在User后输入提问的问题,然后会回车,AI机器人就会给出回答, AI后的内容表示聊天机器人的回答,想要结束聊天时,在User后输入exit就可以结束聊天了。

总结

以上就是全部内容了,也是参考官网的教程来搞得,没啥技术含量,就当记录一下小白的成长经历吧。

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

GPT-3.5-turbo小白连接教程 的相关文章

随机推荐

  • Excel中万能的查询函数——VLOOKUP(使用方法+实操)

    Vlookup函数 基础用法并不难 尤其遇到需要查询匹配的问题 简直不要太好用 但想要掌握全部用法还是需要时间的 对vlookup用法做了超强汇总表 检索 vlookup函数用法大全https link zhihu com target h
  • java中定时任务 schedule 分布式下没有锁住 时间不同步 执行滞后 相对时间 系统时间 spring springboot

    java util Timer计时器可以进行 管理任务延迟执行 如1000ms后执行任务 及周期性执行 如每500ms执行一次该任务 但是 Timer存在一些缺陷 应考虑使用ScheduledThreadPoolExecutor代替 Tim
  • 每一个C++开发者都应该知道的线上工具

    要想代码写得丝滑 怎么可以不熟练各种开发工具呢 锤子用的好 烦恼会减少 这里推荐几个C 开发中用于编译 构建 调试和性能分析的线上工具 最初的资料来源于Lightning Talk Online Tools Every C Develope
  • docker 安装完全分布式Hadoop集群

    一 搭建原因 鉴于本人机器性能较低 在机器上运行多个Linux虚拟机比较吃力 如果再在其上运行分布式计算环境 想必更加吃力 我想这也是很多同学的普遍问题 通过百度 我了解到了docker技术 网上有很多docker搭建Hadoop的教程 总
  • 微信小程序登陆账号验证隐私协议验证页面及代码

    微信小程序登陆页 页面主要是需要校验账号手机号 验证勾选同意使用协议和隐私政策 效果如下 1 账号密码部分页面代码
  • 移动Web开发入门(一) -- 像素、媒体查询、em、rem

    文章目录 一 移动Web开发 二 基本概念 分辨率 物理像素 CSS像素 物理像素和CSS像素的关系 设备像素比 dpr 获取dpr PPI DPI 视口 viewport 设置 Viewport 获取视口宽度 三 媒体查询 媒体类型 媒体
  • Java中Logger类应用

    类 Logger java lang Object java util logging LoggerLogger 对象用来记录特定系统或应用程序组件的日志消息 一般使用圆点分隔的层次名称空间来命名 Logger Logger 名称可以是任意
  • 最小费用最大流问题与算法实现(Bellman-Ford、SPFA、Dijkstra)

    摘要 今日 对最小费用最大流问题进行了一个简单的研究 并针对网上的一些已有算法进行了查找和研究 博客和资料很多 但是留下的算法很多运行失败 出错 或者意义不明 这里 个人对其中的Bellman Ford SPFA 改进的Dijkstra三种
  • CompletableFuture线程池执行多个任务进行链式、组合等助理使用

    2 1 CompletableFuture简介 使用线程池执行任务没法直接对多个任务进行链式 组合等处理 或者说实现起来比较麻烦需要借助并发工具类才能完成 CompletableFuture实现了对任务编排的能力 借助这项能力 可以轻松地组
  • Pycharm 出现报错:Failed building wheel for XXX

    报错原因 是因为Python解释器的版本太高 与Pycharm版本不符 解决办法 安装一个比pycharm低一个版本的python解释器 比如pycharm3 10 那Python就3 9或以下版本 如果答案 您满意 请采纳意见和点赞关注
  • 【操作系统原理】01-操作系统概览

    一 What Why 操作系统是管理计算机硬件和软件资源的计算机程序 管理配置内存 决定资源供需顺序 控制输入输出设备等 操作系统提供让用户和系统交互的操作界面 从手机到超级计算机 操作系统可简单也可复杂 操作系统的种类是多种多样的 不局限
  • SVN服务器搭建和使用(一)

    Subversion是优秀的版本控制工具 其具体的的优点和详细介绍 这里就不再多说 首先来下载和搭建SVN服务器 现在Subversion已经迁移到apache网站上了 下载地址 http subversion apache org pac
  • C#复制构造函数学习

    通过从另一个对象复制变量或将一个对象的数据复制到另一个对象来创建对象的构造函数称为复制构造函数 复制构造函数是一个参数化构造函数 包含相同类类型的参数 它的主要用途是将新实例初始化为现有实例的值 using System namespace
  • 电脑提示MSVCP140.dll文件丢失的解决方法

    打开软件或者游戏出现运行出现报错 提示 由于找不到 MSVCP140 dll 无法继续执行代码 重新安装程序可能会解决此问题 这一般是什么原因导致了这个问题 我们要如何解决 下面小编分享一下由于找不到MSVCP140 dll无法继续执行代码
  • linux卸载zookeeper_Zookeeper学习

    zookeeper 是一个分布式协调服务的开源框架 主要用来解决分布式集群中应用系统的一致性问题 本质上是一个分布式的小文件存储系统 提供基于类似文件系统的目录树方式的数据存储 并且可以对树中的节点进行有效管理 从而用来维护和监控你存储的数
  • nosql 之认识篇

    使用sql server n年后 发现mysql这个开源数据库也很好用 于是投身到这个行列中 最近开发个sns类型的网站 随着用户的增多 感觉数据库所承受的压力成为了整个网站继续发展的瓶颈 为了更好的解决此问题 发现twitter face
  • CRNN+CTC实现不定长验证码识别(keras模型-训练篇)

    目录 前言 运行环境 生成数据集 构建网络模型 初步训练模型 测试模型 进一步训练模型 结语 前言 本文为CRNN CTC实现不定长验证码识别 keras模型 示例篇 的续篇 示例篇中使用的字符仅为数字 本文将训练集拓展到包含数字字母在内的
  • SharedPreferences存储

    目录 1 获得SharedPreferences对象 1 1 使用getSharedPreferences 方法获取 1 2 使用getPreferences 方法获取 2 向SharedPreferences文件中存储数据 3 读取Sha
  • 封装一个底部导航

    html部分
  • GPT-3.5-turbo小白连接教程

    前言 最近在看Chat几批题的相关内容 尝试了在自己电脑上调用一下OpenAI的api 下面以调用几批题 3 5 turbo为例进行讲解 本次分享分为三大模块 第一个模块先对连接成功后的AI聊天机器人的功能进行简要了解 第二个模块讲一下国内