OpenAI的client.chat.completions.create()参数讲解

文章目录

  • 1. 必需参数
  • 2. 常用可选参数
  • 3. 高级参数
  • 4. 示例代码


我们访问大模型服务时,很大程度上会调用 OpenAI 的 client.chat.completions.create 方法,适用于生成对话补全(如GPT模型),下面讲解该方法的参数。

1. 必需参数

  1. model (字符串) :指定使用的模型,如gpt-3.5-turbo, gpt-4, gpt-4-turbo等。

  2. messages (字典列表) 对话历史,每个字典包含: role:角色(system, user, assistant, tool)、content:消息内容(或调用工具时的tool_call_id)、name:(可选)参与者名称、tool_calls(可选)模型请求调用工具时使用

    示例:

    messages=[
        {"role": "system", "content": "你是一个助手"},
        {"role": "user", "content": "你好!"}
    ]
    

2. 常用可选参数

  1. temperature (浮点数, 默认1) 。控制输出的随机性:0(确定性强)到2(更随机)。 建议:回答事实性问题用较低值(如0.2),创意生成用较高值(如0.8)。

  2. top_p (浮点数, 默认1) 。基于概率质量的动态截断(如0.9表示仅考虑前90%概率的 token)。 注意:与temperature二选一,避免同时设置。

  3. max_tokens (整数, 默认无限制) 。生成内容的最大 token 数(受模型上限限制,如gpt-3.5-turbo默认为4096)。

  4. n (整数, 默认1) 。生成多少条回复选项。

  5. stop (字符串或字符串列表, 默认None) 。设置停止词,遇到这些词时停止生成(如stop=["\n"])。

  6. presence_penalty (浮点数, 默认0) 。惩罚重复的主题:正值减少重复,负值增加重复(范围:-2.02.0)。

  7. frequency_penalty (浮点数, 默认0) 。惩罚重复的token:正值减少重复,负值增加重复(范围同上)。

  8. stream (布尔值, 默认False) 。是否流式传输响应(逐块返回,适合实时聊天)。

  9. user (字符串) 。终端用户标识符,用于监测滥用行为。

3. 高级参数

  1. logit_bias (字典, 默认None) 。调整特定 token 的生成概率(如{1234: 2.0}将token ID 1234的权重增加2)。

  2. response_format (字典) 。指定响应格式,如{"type": "json_object"}强制返回 JSON(需在系统消息中说明格式)。

  3. tools (字典列表) 。定义模型可调用的工具列表(替代旧版functions参数),需描述工具名称、参数等。

  4. tool_choice (字符串或字典) 。控制模型是否/如何调用工具:"auto"(默认由模型决定)、"none"(不调用)或指定工具。

4. 示例代码

from openai import OpenAI
client = OpenAI()

response = client.chat.completions.create(
    model="gpt-3.5-turbo",
    messages=[
        {"role": "user", "content": "解释人工智能是什么"}
    ],
    temperature=0.5,
    max_tokens=300,
    top_p=0.9,
    stream=False
)

print(response.choices[0].message.content)

你可能感兴趣的:(Python相关,人工智能,python,gpt,chatgpt,openai)