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


我们访问大模型服务时,很大程度上会调用 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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SmallerFL

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值