OpenAI API 上下文的持续会话
- OpenAI API 支持持续会话功能,可以让您在一个请求中保留上下文信息,并在随后的请求中使用这些信息。
- 您可以通过在请求中提供一个 "openai-session-id" 标头来实现持续会话。 在每次请求中使用相同的 "openai-session-id" 值可以确保您的请求在同一会话中,因此您可以在请求中保留上下文信息。
- 请注意,持续会话功能可能不适用于所有应用程序场景,因此请仔细考虑是否需要使用此功能。
- 下面是使用 Python 调用 OpenAI API 进行持续会话的示例代码:
import requests
import json
# API endpoint
endpoint = "<https://api.openai.com/v1/engines/text-davinci-002/completions>"
# API key
api_key = "your_api_key_here"
# Request headers
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {api_key}"
}
# Initial request
model_input = {
"prompt": "Hello, how are you today?",
"max_tokens": 100,
"temperature": 0.5,
"n": 1,
"stop": None,
"stream": False
}
response = requests.post(endpoint, headers=headers, json=model_input)
if response.status_code == 200:
# Get the session ID from the response header
session_id = response.headers.get("openai-session-id")
print("Session ID:", session_id)
# Get the response text
response_text = response.json()["choices"][0]["text"]
print("Response:", response_text)
else:
print("Request failed with status code", response.status_code)
# Subsequent request with the same session ID
model_input = {
"prompt": response_text,
"max_tokens": 100,
"temperature": 0.5,
"n": 1,
"stop": None,
"stream": False
}
headers["openai-session-id"] = session_id
response = requests.post(endpoint, headers=headers, json=model_input)
if response.status_code == 200:
# Get the response text
response_text = response.json()["choices"][0]["text"]
print("Response:", response_text)
else:
print("Request failed with status code", response.status_code)
- 请替换
your_api_key_here
为您的 OpenAI API 密钥。
这个代码将执行两次请求,第一次请求将创建会话,第二次请求将使用相同的会话 ID。 您可以继续在随后的请求中使用相同的会话 ID,以便持续会话。