※以下のコードは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']
コメント