python - 使用 openai 翻译文本的程序。程序成功翻译了文本,但输出中给出的信息多于所需的信息

标签 python translation openai-api chatgpt-api

我正在尝试使用 python 中的 openai 来翻译文本。我正在使用 gpt-3.5-turbo。我编写了一个函数来帮助我进行翻译,它正在正确执行和工作,但给了我比我需要的更多的输出。这是编写的函数:

def 翻译文本(文本、源语言、目标语言): Prompt = f“将以下‘{source_language}’文本翻译为‘{target_language}’:{text}”

response = openai.ChatCompletion.create(
    model="gpt-3.5-turbo",
    messages=[
        {"role": "system", "content": "You are a helpful assistant that translates text."},
        {"role": "user", "content": prompt}
    ],
    max_tokens=150,
    n=1,
    stop=None,
    temperature=0.5,
)

translation = response.choices[0].message.content.strip()
return translation

下面我将调用该函数并设置输出:

    slide = presentation.slides.add_slide(slide_layout)
    shapes = slide.shapes

    answers = [row[3], row[4], row[5], row[6]]

    body_shape = shapes.placeholders[1]
    tf = body_shape.text_frame
    t0 = translate_text(answers, 'auto', 'fr').translate(answers[0])
    tf.text = "A. " + answers[0] + " <-- Translation --> " + ''.join([str(t0)])
    slide_count += 1
    print(t0)

我的输出如下所示:

A.巴拉特暴徒 <-- 翻译 --> ['巴拉特暴徒', '印度海盗', '印度斯坦暴徒', 'Combattants de la mer']

如何删除列出的其他选项。 期望的输出是: A.巴拉特暴徒 <-- 翻译 --> 巴拉特暴徒

我尝试修改该功能,但没有成功。我尝试修改函数中的 return 语句,但也没有成功。

最佳答案

可能尝试返回一个列表,其中包含您尝试的上一个返回值的第一个值。示例: previouslist = ['Thugs de Bharat', 'Pirates de l'Inde', 'Thugs de Hindostan', 'Combattants de la mer'] -> [previouslist[0]]

您可以尝试这种方法,但是去掉其他值,甚至根本使用 OpenAI 进行翻译都不是一个好主意。更好的想法是使用 API 进行翻译,您可以使用 python3 中的 requests 模块来实现。

关于python - 使用 openai 翻译文本的程序。程序成功翻译了文本,但输出中给出的信息多于所需的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76701626/

相关文章:

python - 为什么easy install无法获取mysql?

magento - 对于 Magento 中的某些单词,使用自定义翻译文件进行翻译失败

vb.net - ATN 从 QBasic 到 VB.Net

haskell - 将 G-Machine 源转换为 LLVM IR

openai-api - OpenAI API Codex 模型中的上下文窗口长度

javascript - 如何查看 openAI (node js) createModeration 响应 "flagged"是否为 true

python - 如何通过 USB 线从 Raspberry Pi 向 Arduino 发送消息

python - 使用光流对图像进行对流

python - 如何在漏勺中创建 "type-agnostic"SchemaNode

openai-api - 有没有办法减少发送到 chatgpt (作为上下文)的 token 数量?