gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 05:48:56 30 4
gpt4 key购买 nike

我正在尝试使用 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/

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