ChatGPTのAPIで前回の会話内容を引き継ぐ方法

※以下のコードはPythonの例です。

1. クライアント側で前回の会話内容を保存する

クライアント側で前回の会話内容を保存しておきます。保存方法については、Cookieなどの技術を用いる方法や、JavaScriptのlocalStorageやsessionStorageを用いる方法などがあります。

以下は、JavaScriptのsessionStorageを用いた例です。

// 前回の会話内容をsessionStorageに保存する
sessionStorage.setItem('previousChat', JSON.stringify(chatData));

// chatDataは前回の会話内容を格納したオブジェクト

2. サーバー側で保存している前回の会話内容を取得する

サーバー側で、前回の会話内容を保存している場合は、APIから前回の会話内容を取得します。

以下は、ChatGPTのAPIを呼び出し、前回の会話内容を取得する例です。

import requests
import json

# 前回の会話内容を取得するAPIのエンドポイント
ENDPOINT = 'https://api.openai.com/v1/engines/davinci-codex/completions'

# 前回の会話内容を取得するためのAPIリクエスト
headers = {
    'Content-Type': 'application/json',
    'Authorization': f'Bearer {API_KEY}',  # ChatGPTのAPIキー
}

params = {
    'prompt': '前回の会話内容',  # 前回の会話内容を格納している場所を指定
    'max_tokens': 10,
    'n': 1,
    'temperature': 0.5,
}

response = requests.post(ENDPOINT, headers=headers, data=json.dumps(params))

# APIのレスポンスから前回の会話内容を取得する
previous_chat = response.json()['choices'][0]['text']

3. 前回の会話内容を新しいAPIリクエストに加える

前回の会話内容を新しいAPIリクエストに加えることで、前回の会話内容を引き継ぐことができます。

以下は、前回の会話内容を新しいAPIリクエストに加える例です。

import requests
import json

# ChatGPTのAPIリクエストパラメータ
params = {
    'prompt': '前回の会話内容\n\n' + previous_chat,  # 前回の会話内容を加える
    'max_tokens': 10,
    'n': 1,
    'temperature': 0.5,
}

# ChatGPTのAPIを呼び出す
response = requests.post(ENDPOINT, headers=headers, data=json.dumps(params))

# APIのレスポンスから回答を取得する
answer = response.json()['choices'][0]['text']

コメント

タイトルとURLをコピーしました