GPT-3.5-turbo小白连接教程

前言

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

1 聊天模式

通过api接口连接的ChatGPT其实是GPT-3.5-turbo,它也是目前能调用的功能最强大的GPT-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接口需要连接外网的vpn,所以第一步就要求本地电脑要能访问外网。

3 连接教程

3.1 创建OpenAI账号

因为我们要调用OpenAI的api接口, 所以我们要有OpenAI的账号,然后使用我们账号专属的密钥来调用api接口。如果你已经有OpenAI的账号了,那么请直接跳到教程的第2步。如果没有账号,那么请参考https://www.bilibili.com/video/BV1q8411u7KL/?spm_id_from=333.337.search-card.all.click&vd_source=abfae2a3e8e1836fd584d268a469b4d2,注册一个属于你的OpenAI账号。

3.2 连接GPT-3.5-turbo

当我们有了OpenAI的账号后,通过访问https://platform.openai. com/account/api-keys 即可获得属于你的密钥,点击create new secret key生成密钥,复制生成的密钥,这里进入官网如果出现卡顿请打开vpn连接外网。
将以下代码复制到IDE中,将得到密钥复制进代码里,代码不长,每一行代码都写了注释,代码里只需要对两个地方进行更改即可,需要更改的内容为:os.environ[“http_proxy”]和openai.api_key = ” ” 。
这是不具有记忆功能的聊天机器人代码:

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填进去,获取地址:https://platform.openai.com/account/api-keys

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

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

  # 获得ChatGPT的回复
  completion = openai.ChatCompletion.create(
    model="gpt-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填进去,获取地址:https://platform.openai.com/account/api-keys
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="gpt-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就可以结束聊天了。

总结

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

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
xiaoxingxing的头像xiaoxingxing管理团队
上一篇 2023年5月29日
下一篇 2023年5月29日

相关推荐