一、准备工作
1.准备 OPENAI_ACCESS_TOKEN
2.准备好PostMan 软件
二、测试交流Demo
本次使用POSTMAN工具进行快速测试,旨在通过ChatGPT API实现有效的上下文流。在测试过程中,我们发现了三个问题:
1.如果您想要进行具有上下文的交流,每次POST请求都需要将历史交流信息放入“messages”对象中。这会导致token数量成倍增长,从而增加您的费用成本。
2.计费方式为请求提问token和回答token的总和。如下:
ChatGPT 返回数据中usage 对象。其中total_tokens为本次请求的计费token
usage : {
“prompt_tokens”: 177,
“completion_tokens”: 38,
“total_tokens”: 215
}
3.每次POST请求都是独立的会话。
1.测试上下文提问
1.1 提问
// 提问Post body数据
{
"model": "gpt-3.5-turbo",
"messages": [
{ "role": "system", "content": "You are a chatbot" },
{ "role": "user", "content": "我能用中文向你提问题吗?" },
{ "role": "assistant", "content": "当然可以,我可以用中文回答你的问题。请问你有什么需要帮助的吗?" },
{ "role": "user", "content": "我想更好的与你交流,必须把每次交流信息告诉你是吗?" },
{
"role": "assistant",
"content": "是的,您需要输入您想要与我交流的信息,我才能理解并回答您的问题。如果您有任何疑问或需要帮助,请随时告诉我。"
},
{ "role": "user", "content": "我上句话说了什么?" }
],
"max_tokens": 70,
"temperature": 0
}
1.2 回复
// 返回response 数据
{
"id": "chatcmpl-77aodGL1ymzpU25nZse4DVQa7M9I8",
"object": "chat.completion",
"created": 1682044171,
"model": "gpt-3.5-turbo-0301",
"usage": {
"prompt_tokens": 177,
"completion_tokens": 38,
"total_tokens": 215
},
"choices": [
{
"message": {
"role": "assistant",
"content": "您上句话说的是:“我想更好的与你交流,必须把每次交流信息告诉你是吗?”"
},
"finish_reason": "stop",
"index": 0
}
]
}
2.测试单次提问
我是在 “测试 上下文提问”章节中Post请求后,紧挨执行下面Post请求。测试发现:每次Post请求都是独立会话,如果要实现上下文有效的交流就必须在单次Post请求中把上下文所有的交流内容都发送给ChatGPT。
1.1 提问
{
"model": "gpt-3.5-turbo",
"messages": [
{ "role": "system", "content": "You are a chatbot" },
{ "role": "user", "content": "我上句话说了什么?" }
],
"max_tokens": 70,
"temperature": 0
}
1.2 回复
{
"id": "chatcmpl-77b90YMOLlJ1fJEtdnDC3Li9E7DL0",
"object": "chat.completion",
"created": 1682045434,
"model": "gpt-3.5-turbo-0301",
"usage": {
"prompt_tokens": 29,
"completion_tokens": 15,
"total_tokens": 44
},
"choices": [
{
"message": {
"role": "assistant",
"content": "您上句话说了:\"You are a chatbot\"。"
},
"finish_reason": "stop",
"index": 0
}
]
}
三、PostMan使用
1.访问接口地址
接口地址:https://api.openai.com/v1/chat/completions
请求方式:POST
2.授权Authorization赋值
- Type选择Bearer Token
- Token输入:sk-******************** (来源OpenAI:OPENAI_ACCESS_TOKEN)