You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React调用ChatGPT API返回不完整响应问题求助

问题描述

在React中实现Web应用聊天功能时,调用ChatGPT接口请求列表类内容(例如询问全球Top3最富裕国家),仅能获取到部分响应(如只返回“the top 3 richest countries are:”),调整max_tokens参数后问题仍未解决。相关请求代码如下:

export async function generateChatResponse(prompt: string): Promise<string> {
  try {
    console.log(prompt)
    const response = await axios.post(
      API_BASE_URL,
      {
        messages: [
          {
            role: 'user',
            content: prompt
          }
        ],
        model:'gpt-3.5-turbo',
        max_tokens: 150,
        temperature: 0.7,
        stop: '\n',
      },
      {
        headers: {
          'Content-Type': 'application/json',
          'Authorization': `Bearer ${API_KEY}`,
        },
      }
    );
    console.log(response)
    return response.data.choices[0].message.content.trim();
  } catch (error) {
    console.error('Error generating chat response:', error);
    return 'Oops! An error occurred while processing your request.';
  }
}
问题根源

代码中设置了stop: '\n'参数,该参数会让ChatGPT模型在生成内容时遇到换行符就停止输出。而列表类内容的常规格式是写完引导语后换行列出条目,因此模型刚输出完开头就触发了停止条件,无法生成完整的列表内容。

解决方案
  • 直接移除stop参数:如果不需要指定特殊的停止触发条件,删除该参数即可让模型正常生成完整内容。
  • 按需设置合理的停止词:如果确实需要限制输出,将stop设置为符合业务需求的特定词汇或符号,避免使用会打断正常输出的换行符。

修改后的核心请求配置示例:

{
  messages: [
    {
      role: 'user',
      content: prompt
    }
  ],
  model:'gpt-3.5-turbo',
  max_tokens: 150,
  temperature: 0.7,
  // 移除stop参数,或替换为合适的停止词
}

内容的提问来源于stack exchange,提问作者La Bola Al Riel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 20:05:09