准备工作
首先,您需要安装OpenAI Python包,可以运行以下命令进行安装:
pip install openai
然后,您需要在OpenAI的官方网站上注册一个账号,并获取API密钥。
引入必要的库
在Python代码中,您需要引入必要的库和模块,以便与ChatGPT API进行交互。使用以下代码来导入openai库:
import openai
设置API密钥
将您在OpenAI网站上获得的API密钥设置为一个环境变量,或直接将其复制到代码中。使用以下代码设置API密钥:
openai.api_key = 'YOUR_API_KEY'
步骤4:发起对话 在发起对话之前,您需要定义一些对话的参数,如对话历史、模型ID等。以下是一个简单的示例:
def create_chat_session(message):
model = "gpt-3.5-turbo"
max_tokens = 100
if "chat_history" not in globals():
global chat_history
chat_history = []
chat_input = {
"role": "system",
"content": "You are a helpful assistant."
}
user_input = {
"role": "user",
"content": message
}
chat_history.append(chat_input)
chat_history.append(user_input)
response = openai.ChatCompletion.create(
model=model,
messages=chat_history,
max_tokens=max_tokens
)
reply = response.choices[].message.content
chat_input = {
"role": "assistant",
"content": reply
}
chat_history.append(chat_input)
return reply
message = "你好"
response = create_chat_session(message)
print(response)
在上述代码中,我们定义了一个create_chat_session函数来处理对话。我们使用openai.ChatCompletion.create方法发起聊天对话,并根据返回的回复更新对话历史。
Role角色
细心的同学可能已经发现,给ChatGPT发送消息的时候,参数message是个数组,数组里每个dict有role这个字段。
role目前有3个取值:
-
user。表示提交prompt的一方。
-
assistant。表示给出completion响应的一方,实际上就是ChatGPT本身。
-
system。message里role为system,是为了让ChatGPT在对话过程中设定自己的行为,
测试对话
您可以通过调用create_chat_session函数并传入用户的消息来测试对话。例如:
message = "你好"
response = create_chat_session(message)
print(response)
这样,聊天代理就会向用户返回回复。
通过上述步骤,您可以使用ChatGPT API来实现上下文对话。请注意,根据API使用情况,您可能需要处理API配额和计费等问题。