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

使用Node.js调用OpenAI text-davinci-003接口出现乱码及语法错误求助

解决OpenAI text-davinci-003响应乱码及波兰语语法错误问题

一、处理响应乱码问题

乱码(如æ ê ¿)核心是编码不匹配,需确保全程使用UTF-8编码:

  • 检查响应解析环节:用原生fetch或axios调用API时,默认会以UTF-8解析JSON响应;若手动处理响应流,必须明确指定编码为utf8。示例:
    // fetch调用示例
    const response = await fetch('https://api.openai.com/v1/completions', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
        'Authorization': `Bearer ${process.env.OPENAI_API_KEY}`
      },
      body: JSON.stringify(yourPayload)
    });
    const data = await response.json();
    const completionText = data.choices[0].text.trim();
    
  • 排查输出/存储环节:后续处理响应文本时,避免错误将UTF-8转成ASCII或其他编码,比如写入文件要指定encoding: 'utf8'。

二、修复波兰语语法错误

当前参数设置和模型特性是主要诱因,可从以下几点调整:

  • 降低随机性:temperature: 1会让输出极度随机,易出现拼写和语法错误,建议调到0.3~0.7,平衡灵活性与准确性。
  • 修正top_p参数:top_p: 0强制模型只选概率最高的token,反而可能导致语法僵化或错误,改回默认值top_p: 1.0,让模型筛选更合理的token组合。
  • 强化提示词约束:在prompt末尾明确要求输出标准波兰语,比如添加:\n请确保输出的波兰语使用正确的变音符号、拼写和语法规则。
  • 更换更优模型:text-davinci-003是旧版模型,GPT-3.5-turbo或GPT-4对多语言语法支持更成熟,建议切换到Chat Completions接口,示例:
    openai.createChatCompletion({
      model: "gpt-3.5-turbo",
      messages: [
        { role: "user", content: `${prompt}\n请确保输出的波兰语语法完全正确,使用标准拼写和变音符号。` }
      ],
      temperature: 0.5,
    })
    

修改后的createCompletion示例

.createCompletion({
  model: "text-davinci-003",
  prompt: `${prompt}\n请确保输出的波兰语使用正确的变音符号、拼写和语法规则。`,
  temperature: 0.5,
  max_tokens: 2500,
  top_p: 1.0,
  frequency_penalty: headings ? 0.5 : 0.3,
  presence_penalty: headings ? 1 : 0.7,
})

内容的提问来源于stack exchange,提问作者GrubaPanda

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 22:15:13