gpt4 book ai didi

openai-api - OpenAI API GPT-3.5 翻译问题 : Incorrect Output for Turkish to Japanese Translation

转载 作者:行者123 更新时间:2023-12-02 05:49:07 24 4
gpt4 key购买 nike

我正在使用 OpenAI API 并尝试使用 GPT-3.5 模型将土耳其语数据翻译为日语。然而,我得到的结果并不如预期。提供的 JSON 数据包含土耳其语言代码(“tr”),应将其替换为正确的日语代码。

我希望输出具有正确的日语代码(“ja”)而不是“JA”,并显示所提供的土耳其语数据的正确翻译。

有人可以帮助我找出问题并提出解决方案,以使用 OpenAI API 和 GPT-3.5 模型获得正确的土耳其语到日语的翻译吗?谢谢!

这是我正在使用的代码片段:

const { Configuration, OpenAIApi } = require("openai");
const { getLanguageString } = require('../../../helpers/auto_translate_helpers');

async function gptTranslateHelper(chunks, schema, target_language) {
const responseData = [];
const configuration = new Configuration({
apiKey: process.env.OPENAI_API_KEY,
});

const openai = new OpenAIApi(configuration);
try {
for (const chunk of chunks) {
const userMessage = {
"role": "user",
"content": `I am a restaurant owner and I manage my data in Turkish.My data : ${chunk.data} Please translate my data to ${getLanguageString(target_language)}. Replace all occurrences of "TR" with ${target_language}.
`,
};

const completion = await openai.createChatCompletion({
model: "gpt-3.5-turbo-16k",
messages: [
{ "role": "system", "content": "You are a helpful assistant." },
userMessage,
],
functions: [{ name: "set_schema", parameters: schema }],
function_call: { name: "set_schema" },
});

const generatedText = completion.data.choices[0].message.content;
const parsedMenu = JSON.parse(generatedText);

responseData.push(...parsedMenu.data);
}
} catch (e) {
console.log(e);
}
console.log(responseData);

return responseData;
}

module.exports = { gptTranslateHelper };

提示:

我是一家餐馆老板,我用土耳其语管理我的数据。我的数据:[{"_id":"64adce3a897a661ba27dcc4b","name":{"tr":"Yemekler"}},{"_id ":"64adce44897a661ba27dcc4c","name":{"tr":"şecekler"}}] 请将我的数据翻译成日语。将所有出现的“tr”替换为 ja。

结果不正确:[ { _id: '64adce3a897a661ba27dcc4b', name: { ja: 'Yemekler' } }, { _id: '64adce44897a661ba27dcc4c', name: { ja: 'Içecekler' } } ]

Schema

最佳答案

您可以使用这样的架构:

{
"name": "translate",
"description": "Return Japanese translation of input",
"parameters": {
"type": "object",
"properties": {
"tr": {
"type": "string",
"description": "Turkish word"
},
"ja": {
"type": "string",
"description": "Japanese translation of Turkish word"
}
},
"required": ["ja"]
}
}

OpenAI 的函数调用旨在为您中​​的已知函数生成参数,而不是生成该函数的结果。就像this以天气为例,ChatGPT 不会返回实际的天气信息,而是提取可用于获取天气信息的位置信息。

在您的示例中,考虑一个名为 translate 的函数,它需要两个参数; “tr”和“ja”。 “Yemekler”将被提取并放置在“tr”参数中,其翻译将放置在“ja”中。

关于openai-api - OpenAI API GPT-3.5 翻译问题 : Incorrect Output for Turkish to Japanese Translation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76846518/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com