blackantt 发表于 2024-10-29 22:40:21

openAI的多轮对话的api调用是啥样的呢?

openAI的多轮对话的api调用是啥样的呢?请给出示例

FishC 发表于 2024-10-29 22:40:33

调用OpenAI的多轮对话API,通常使用`chatgpt`相关的接口,比如`gpt-3.5-turbo`。以下是一个简单的Python示例,使用`openai`库来实现多轮对话:

import openai

openai.api_key = 'your-api-key'

# 初始化对话历史
conversation = [{"role": "system", "content": "You are a helpful assistant."}]

def chat(prompt):
    # 将用户输入添加到对话历史
    conversation.append({"role": "user", "content": prompt})
   
    # 调用API
    response = openai.ChatCompletion.create(
      model="gpt-3.5-turbo",
      messages=conversation
    )
   
    # 获取助手的回复
    answer = response['choices']['message']['content'].strip()
   
    # 将助手的回复添加到对话历史
    conversation.append({"role": "assistant", "content": answer})
   
    return answer

# 示例对话
user_input = "Hello, who won the world cup in 2018?"
print(chat(user_input))

user_input = "And who was the top scorer?"
print(chat(user_input))

在这个示例中,我们:
1. 初始化一个对话历史记录。
2. 在调用API时,将用户和助手的发言记录到`conversation`。
3. 每次用户输入后,更新对话历史并取得新的回复。

记得替换`your-api-key`为你自己的OpenAI API密钥。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: openAI的多轮对话的api调用是啥样的呢?