OpenAI接口学习之finish_reason

部署运行你感兴趣的模型镜像

finish_reason

在 OpenAI API 的响应中,每个 completion choice 都包含一个

常见值包括:

  1. stop
    模型自然完成了生成(遇到了停止词)这是最理想的结束方式
  2. length
    达到了最大 token 数限制(max_tokens)可能意味着输出被截断
  3. content_filter
    内容被内容过滤器阻止通常涉及敏感或不适当内容

max_tokens 限制输出长度

而max_tokens 参数说明如下

  • 位置:请求参数(request parameter)
  • 作用:限制模型生成的最大 token 数量

一个样例

import openai

client = openai.OpenAI()

response = client.chat.completions.create(
    model="gpt-3.5-turbo",
    messages=[
        {"role": "system", "content": "你是一个 helpful assistant"},
        {"role": "user", "content": "写一篇关于AI的文章"}
    ],
    # max_tokens 是请求参数
    max_tokens=500,  # 限制最多生成 500 个 tokens
    temperature=0.7
)

max_tokens 有最大值限制,这个限制取决于使用的具体模型。例如gpt-4o的max_token是16,384[2]

在使用lang-chain这样的框架时,与模型交互,如果遇到模型返回finish_reason=length,可以尝试调整max_tokens解决问题。

langChain的ChatOpenAI出现设置max_tokens出现openAi提示异常后,可以尝试使用 BaseChatOpenAI[3]

参考

[1]openai-reference, https://platform.openai.com/docs/api-reference/batch/request-output
[2]gpt-4o,https://platform.openai.com/docs/models/gpt-4o
[3]https://github.com/langchain-ai/langchain/issues/29954

您可能感兴趣的与本文相关的镜像

GPT-oss:20b

GPT-oss:20b

图文对话
Gpt-oss

GPT OSS 是OpenAI 推出的重量级开放模型,面向强推理、智能体任务以及多样化开发场景

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值