簡介

OpenAI的GPT-3和GPT-3.5 Turbo模型不僅能用於單一任務,也非常適用於多輪對話。在這篇文章中,我們將探討如何使用openai.ChatCompletion.create API來實現這一目的。

前置準備

安裝openai Python庫:

pip install openai

從OpenAI官網取得API金鑰。
設定API金鑰環境變數:export OPENAI_API_KEY=你的API金鑰

常用參數

  • model: 使用的模型,例如 "gpt-3.5-turbo"。
  • messages: 包含對話訊息的列表。
  • role: 可以是 "system"、"user" 或 "assistant"。
  • content: 對話的實際內容。
  • max_tokens: 生成的最大令牌(token)數量。
  • n: 生成多少個不同的回應。
  • stop: 哪些字符或字符串會停止生成。
  • temperature: 控制生成的隨機性。

範例代碼

以下是一個簡單的Python範例,展示如何使用API進行多輪對話。

import openai

# 設定API金鑰
openai.api_key = "你的API金鑰"

# 初始化對話列表
conversation = [
    {"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?"}
]

# 呼叫API
response = openai.ChatCompletion.create(
  model="gpt-3.5-turbo",
  messages=conversation,
  max_tokens=150,
  n=1,
  stop=None,
  temperature=0.7
)

# 輸出回應
print(response['choices'][0]['message']['content'])

總結

透過openai.ChatCompletion.create API,我們可以輕鬆實現多輪對話。只需繼續添加到messages列表中的對話即可進行更多回合的互動。

最後修改日期: 2023 年 9 月 6 日

作者