【天放AI數(shù)字人 TFGPT】3.3 API請(qǐng)求和響應(yīng)的理解
在使用OpenAI的ChatGPT API時(shí),理解API請(qǐng)求和響應(yīng)的結(jié)構(gòu)非常重要。
API請(qǐng)求:
一個(gè)API請(qǐng)求是由用戶發(fā)送給OpenAI的,請(qǐng)求使用OpenAI的服務(wù)。當(dāng)調(diào)用ChatGPT API時(shí),你會(huì)發(fā)送一個(gè)包含特定參數(shù)的請(qǐng)求。這些參數(shù)通常包括:模型名稱,消息列表等。
一個(gè)典型的請(qǐng)求如下:
python
response = openai.ChatCompletion.create(
?model="gpt-4.0-turbo",
?messages=[
? ? ?{"role": "system", "content": "You are a helpful assistant."},
? ? ?{"role": "user", "content": "Who won the world series in 2020?"},
?]
)
在這個(gè)請(qǐng)求中,model 參數(shù)設(shè)定了使用的模型,messages 參數(shù)是一個(gè)字典列表,每個(gè)字典代表一個(gè)消息。每個(gè)消息都有一個(gè) role(可以是 "system"、"user" 或 "assistant")和一個(gè) content(消息的內(nèi)容)。
API響應(yīng):
一旦OpenAI收到你的請(qǐng)求,它會(huì)處理這個(gè)請(qǐng)求,然后返回一個(gè)響應(yīng)。響應(yīng)包含了OpenAI生成的結(jié)果,以及一些元信息。
一個(gè)典型的響應(yīng)如下:
python
{
'id': 'chatcmpl-2nYZOYPYSTTRi9XxJxMYxSDb1Tiu2',
'object': 'chat.completion',
'created': 1677649420,
'model': 'gpt-4.0-turbo',
'usage': {'prompt_tokens': 56, 'completion_tokens': 31, 'total_tokens': 87},
'choices': [
? {'message': {
? ? ? 'role': 'assistant',
? ? ? 'content': 'The Los Angeles Dodgers won the World Series in 2020.',
? ? ? 'finish_reason': 'stop'
? ? ? },
? ?'finish_reason': 'stop',
? ?'index': 0
? }
?]
}
在這個(gè)響應(yīng)中,choices 字段包含了模型生成的消息列表,每個(gè)消息都有一個(gè) role(總是 "assistant")和一個(gè) content(消息的內(nèi)容)。如果你只對(duì)模型的回答感興趣,你可以通過 response['choices'][0]['message']['content'] 來獲取。
除此之外,響應(yīng)還包含了一些元信息,例如 usage 字段顯示了這次請(qǐng)求使用了多少令牌(token)。在計(jì)算使用的OpenAI服務(wù)的費(fèi)用時(shí),這個(gè)信息是非常有用的。
理解API請(qǐng)求和響應(yīng)的結(jié)構(gòu)可以幫助你更有效地使用OpenAI的服務(wù),并處理可能出現(xiàn)的錯(cuò)誤和問題。
