当前位置: 首页>编程语言>正文

学习ChatGPT(三)

创建ai项目

首先我们生成我们的API Keys。

尝试请求api

学习ChatGPT(三),第1张

看来api key创建成功了,接口也能正常访问。

然后编写python脚本,代码很简单。
首先在当前环境下安装openai的python venv

python3 -m pip install openai

import openai
openai.api_key = "你的api key"
openai.Model.list()
学习ChatGPT(三),第2张
  • 我们看到模型列表输出出来了。

  • 继续看api,这次尝试我们常用的ai对话模型。
    下面是官方示例,但是我们不搞这么复杂,直接回归本质按照http去访问接口。

# Note: you need to be using OpenAI Python v0.27.0 for the code below to work
import openai

openai.ChatCompletion.create(
  model="gpt-3.5-turbo",
  messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Who won the world series in 2020?"},
        {"role": "assistant", "content": "The Los Angeles Dodgers won the World Series in 2020."},
        {"role": "user", "content": "Where was it played?"}
    ]
)

根据官方的示例不难看出来,对话模型是可以先定义角色的,然后每次对话通过
messages去缓存,这个messages是保存在客户端的。

  • 所以我们编写代码先输入system定义ai角色,然后通过user角色去对话ai.
def open_api_speech():
    # 调用语音模型
    messages = list()
    role = input('输入你的角色:')
    while True:
        prompt = input('输入你想问的:')

        new_msg = [{"role": "user", "content": f'{prompt}'}]
        messages.extend(new_msg)
        # print([{"role": "system","content": f'{role}'}] + messages)
        result = requests.post("https://api.openai.com/v1/chat/completions",
                      headers={'Content-Type': 'application/json',
                               'Authorization': f'Bearer {openai.api_key}'},
                      json={
                          "model" : target_model,
                          "messages": [{"role": "system",
                                        "content": f'{role}',
                                        }] + messages
                      })
        return_msg = result.json()['choices'][0]['message']
        print(f'{return_msg["content"]}')
        messages.insert(messages.__sizeof__() - 1,return_msg)

执行看下效果


学习ChatGPT(三),第3张

但是也有问题,如果对话的session太长的话,保存的messages就会很大。


https://www.xamrdz.com/lan/5kj1886343.html

相关文章: