V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
LuffyPro
V2EX  ›  OpenAI

如何让 chatgpt 按要求,翻译长文本(数组形式)

  •  
  •   LuffyPro · 11 天前 · 531 次点击

    rt,现在有个需求,需要让 chatgpt 按照字符串数组一一翻译数组里面每个元素的内容。

    要求:

    • 必须保持数组长度,翻译一一对应。
    • 仅翻译,无需解释和回答内容

    实践起来,简单的短数组文本,一般没啥问题,但是文本长度一长,gpt 很难按要求保留一一对应翻译文本,并且无法保证数组长度一致。

    请问大佬们,有什么思路实现这个需求,谢谢大家回复。

    11 条回复    2024-04-24 16:38:30 +08:00
    matrix1010
        1
    matrix1010  
       11 天前 via iPhone
    数组拆开一个个发不就行了
    renmu
        2
    renmu  
       11 天前 via Android
    function call 调用一下
    LuffyPro
        3
    LuffyPro  
    OP
       11 天前
    @matrix1010 嗯嗯,目前暂时是这么做的,然而,这样会有两问题😂:
    1.调用次数增加,耗时增多,延迟加大,用户体验不好;
    2.增加 token 消耗量。
    Trinityuan
        4
    Trinityuan  
       11 天前
    @matrix1010 赞同,这样还可以并行请求,顺便优化了底下提到的延迟问题。
    vacuitym
        5
    vacuitym  
       11 天前
    可以试试优化一下 prompt ,比如给他一个示例,强调一下对应关系,然后让他 json 格式返回之类的
    LuffyPro
        6
    LuffyPro  
    OP
       11 天前
    谢谢大家的回复!
    @renmu 谢谢建议,回头我试一下。
    @Trinityuan 嗯嗯,你的补充是我现有方案正在执行当中的优化版。
    @vacuitym 提示语里面确实没提供实例,返回格式这点是有规范要求的,我尝试过,数量不等时,带上上下文,同时强化提示语,结果返回还是数组长度不一致的结果。
    matrix1010
        7
    matrix1010  
       11 天前
    @LuffyPro 可以试试这个 https://community.openai.com/t/returning-fixed-length-arrays-with-chat-completion-api/329001/3, 我用 gemini 1.0 试了几次。数组长度为 20 挺稳定,偶尔会少,没有多过。但一一对应没问题。我猜 gemini 内部应该是根据 schema 一个一个字段按顺序填充的,类似于发多次请求
    yinmin
        8
    yinmin  
       10 天前 via iPhone
    数组改成 json 格式,调用 api 的数据包里再加一组问答的示例
    maymay5
        9
    maymay5  
       10 天前
    jsonmodel
    LuffyPro
        10
    LuffyPro  
    OP
       10 天前
    @matrix1010 @yinmin @maymay5 谢谢回复,这几天忙其他的,后面看看大家说的这些方案。
    leoWeek
        11
    leoWeek  
       9 天前
    也是存在同样的问题,长文本给 gpt 后,输出都是总结或者删减内容,并没有按原文逐句翻译,最后只能拆成每 300 个字符一段去处理了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   949 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:41 · PVG 02:41 · LAX 11:41 · JFK 14:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.