OpenAI API输入关键参数详解
主要是发现网上没有比较新的OpenAI API参数详情参考,自己到官网上看了最新内容,机翻后简单修正了下,作为备忘搜索用。
主要参数
messages(object):包含到目前为止的对话的消息列表。根据您使用的模型,支持不同的消息类型(模态),如文本、图像和音频。
model(string):要使用的模型的ID。
store(bool):是否存储此聊天完成请求的输出。
frequency_penalty(float):介于-2.0和2.0之间。正值会根据在文本中的现有频率对新token进行惩罚,从而降低模型逐字重复内容的可能性。
logit_bias(map):接受一个JSON对象,该对象将标记(由标记器中的标记ID指定)映射到从-100到100的关联偏置值。从数学上讲,在采样前将偏置添加到模型生成的logit中。确切的效果会因模型而异,但-1和1之间的值应该会减少或增加选择的可能性,而像-100或100这样的值应该会导致相关token的禁止或排他性选择。
logprobs(bool):是否返回输出token的概率。如果为true,则返回消息内容中返回的每个输出标记的对数概率。
max_tokens(integer):可以生成的token的最大数量。此值可用于控制通过API生成的文本的成本。
n(integer):最终生成多少个内容结果。
modalities(array):希望模型为此请求生成的输出类型,例如["text", "audio"]。
audio(object):音频需输入的参数。当用这个参数时需对应modalities是否输入audio。
presence_penalty(float):介于-2.0和2.0之间。正值会根据新token是否出现在文本中来惩罚它们,从而增加模型讨论新主题的可能性。
response_format(object):响应格式。指定模型必须输出的格式的对象。兼容GPT-4 o、GPT-4 o mini、GPT-4 Turbo和所有比gpt-3.5-turbo-1106更新的GPT-3.5Turbo型号。设置为{ "type": "json_schema", "json_schema": {...} } 将启用结构化输出,以确保模型与您提供的JSON模式匹配。如果设置为{“type”:“json_object”}将启用JSON模式,这将确保模型生成的消息是有效的JSON。
seed(integer):如果指定,系统将尽最大努力确定性地采样,这样具有相同种子和参数的重复请求应该返回相同的结果。但目前此功能为beta状态,不保证确定性。
temperature(float):温度参数,使用什么样的采样温度,在0和2之间。较高的值(如0.8)将使输出更随机,而较低的值(如0.2)将使其更集中和确定性。
top_p(float):温度采样的替代方案,称为nucleus采样,其中模型考虑具有top_p概率质量的token结果。因此,0.1意味着只考虑包含前10%概率质量的token。
tools(array):模型可能调用的工具列表。目前,仅支持函数作为工具。使用它来提供模型可能为其生成JSON输入的函数列表。最多支持128个函数。
tool_choice(string or object):控制模型调用哪个(如果有)工具。none意味着模型将不调用任何工具,而是生成一条消息。auto意味着模型可以在生成消息或调用一个或多个工具之间进行选择。required意味着模型必须调用一个或多个工具。通过{"type": "function", "function": {"name": "my_function"}} 指定一个特定的工具会强制模型调用该工具。
请求示例
默认请求:
curl https://api.openai.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "gpt-4o",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "What'\''s in this image?"
},
{
"type": "image_url",
"image_url": {
"url": "https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg"
}
}
]
}
],
"max_tokens": 300
}'
结果响应:
{
"id": "chatcmpl-123",
"object": "chat.completion",
"created": 1677652288,
"model": "gpt-4o-mini",
"system_fingerprint": "fp_44709d6fcb",
"choices": [{
"index": 0,
"message": {
"role": "assistant",
"content": "\n\nHello there, how may I assist you today?",
},
"logprobs": null,
"finish_reason": "stop"
}],
"usage": {
"prompt_tokens": 9,
"completion_tokens": 12,
"total_tokens": 21,
"completion_tokens_details": {
"reasoning_tokens": 0
}
}
}
https://platform.openai.com/docs/api-reference/chat/create
本文转载自沐白AI笔记,作者: 杨沐白