GPT-35-Turbo和GPT-4模型是专为会话优化过的语言模型,采用会话输入和消息输出方式交互。在Azure OpenAI中提供了两种类型接口:
作为产品经理,重点关注接口中需要的参数即可;代码实现还是交给专业的小伙伴来完成。下文主要以 Chat Completion API 为例进行说明。
//请求
import os
import openai
openai.api_type = "azure"
openai.api_version = "2023-05-15"
openai.api_base = os.getenv("OPENAI_API_BASE") # Your Azure OpenAI resource's endpoint value.
openai.api_key = os.getenv("OPENAI_API_KEY")
response = openai.ChatCompletion.create(
engine="gpt-35-turbo", # The deployment name you chose when you deployed the GPT-35-Turbo or GPT-4 model.
messages=[
{"role": "system", "content": "这里是系统描述"},
{"role": "user", "content": "这里是prompt或示例"},
{"role": "assistant", "content": "这里是上文的回答"}, //可能无
{"role": "user", "content": "这里是prompt"},
]
)
print(response)
print(response['choices'][0]['message']['content'])
输入是消息参数。消息必须是消息对象的数组,其中每个对象都有一个角色( “system”, “user”, “assistant”)和内容。对话可以短至一条信息,也可以多次来回转弯。
//输出内容
{
"choices": [
{
"finish_reason": "stop",
"index": 0,
"message": {
"content": "这里是返回结果",
"role": "assistant"
}
}
],
"created": 1677664795,
"id": "chatcmpl-7QyqpwdfhqwajicIEznoc6Q47XAyW",
"model": "gpt-3.5-turbo-0613",
"object": "chat.completion",
"usage": {
"completion_tokens": 17,
"prompt_tokens": 57,
"total_tokens": 74
}
}
assistant回复主要是 content 部分,且每一个影响都有对应finish_reason;在交互中可根本该返回值去调整prompt或页面提醒。
场景的finish_reason包含:
以上是最基础的接口调用规则,官方还提供了自定义函数的使用、自有数据的使用等。