one-api 服务器500错误

whlutmcx  于 4个月前  发布在  其他
关注(0)|答案(1)|浏览(41)

根据您提供的信息,问题出在messages变量的格式上。您需要将messages中的每个元素转换为字符串数组。您可以使用以下代码来实现这个功能:

messages = [{'role': 'system', 'content': '
 "您的角色是负责翻译字幕的程序。您的任务是将字幕翻译成英文,保持口语化风格,避免使用冗长的句子,并忽略诸如‘so’、‘you know’等口头语。"
 "输入将是一个数组类型的字符串,应按照以下步骤进行翻译:"
 "步骤1:将字符串数组拼接成句子,然后翻译成英文,并打印相关输出"
 "步骤2:将翻译后的句子拆分为字符串数组,每个元素都应与输入数组中的相对应。并打印相关输出"
 "步骤3:核对输出数组的元素数量是否与输入数组相等。如果不相等,请返回步骤1重试。并打印相关输出"
 "以JSON格式的字符串数组回应。"
 }, {'role': 'user', 'content': ['这是祖利卡和哈桑团聚的第23天', '今天哈桑的母亲来到他们的家中', '请求哈桑回老家帮助铺设水泥地面', '晨曦之光洒遍整个荒原', '好似鎏金铸就的画卷', '此刻哈桑正与孩子们欢腾嬉戏', '在这个欢乐的时刻', '仿佛没有任何烦恼能够抵达', '他们的心田', '就像一汪清澈的泉水', '他们的内心邓静而纯粹', '哈桑的微笑也温暖着孩子们的心房', '宛如春日的阳光般温馨而舒适', '啊啊哈哈', '此时', '远处的身影渐渐地映入人们的眼帘', '来人便是哈桑的母亲', '他先是亲切地与祖利卡打了招呼', '然后才与孩子们', '还有哈桑进行亲切的交流', '一家人缓缓地述说着彼此的近况', '好久没有见过奶奶的阿胡拉', '有些不知所措', '女人温柔的将她抱到怀里', '心里的难过突然就模糊了她的眼睛', '在得知母亲还没有吃早饭后', '祖力卡也是给他制作了一些食物', '其实哈桑的母亲与祖力卡的关系', '还是挺不错的', '只是当初祖力卡被赶出家门的时候', '哈桑的母亲并不在家中', '所以没能阻止这场闹剧的发生', '哈桑虽然已经是三个孩子的父亲了', '但在自己母亲的面前', '永远是一个调皮的孩子', '哈萨的母亲今天的到访', '其实有着别的原因', '他希望哈桑能回家', '帮忙铺设一下水泥地面', '对于母亲的请求', '哈桑没有理由拒绝', '他和祖利卡收拾了一下东西', '就和孩子们踏上了回家的路程', '这条熟悉又陌生的路', '承载着一家人太多的回忆', '当时被赶出家门的情景还历历在目', '祖利卡一家再次来到熟悉的老家后', '此时早已物是人非事事休', '哈桑和祖利卡亲切地', '与家人打着招呼', '而哈桑的哥哥和嫂子早已离开了这里', '各位宝子', '因暂时不清楚', '这个男人是哈桑的什么人', '所以', '暂时就用家人这个词来代替称呼了', '祖力卡熟练地收拾着家务', '一会哈桑要给这片地面铺设水泥砂浆', '所以', '祖力卡和母亲要先将这里收拾干净', '哈桑熟练地制作着水泥砂浆', '有了家人的帮助后', '他制作的速度也是非常的快', '因为table太过于沉重', '只能由哈桑和家人一起将其搬离原处', '然后再将这片区域清理干净', '此时哈桑的家人正在制作水泥砂浆', '这熟练的手法', '比起哈桑来也是毫不逊色', '还好', '而哈桑这边也没闲着', '他将地面的石块挖掘出来', '然后再由孩子们把这些石头搬出去', '所以说阿曼能如此的优秀', '与这些能干的小伙伴', '也有着很大的原因', '此时', '哈桑已经开始给水泥和砂砾注入水源', '接着由其家人将水泥砂浆装到小车里', '在运送到哈桑面前的地面上', '这时哈桑就可以开始地面的铺设了', '虽然换了不同的地方', '但是对哈桑的技术却没有任何的影响', '他熟练地将水泥砂浆铺设平整', '母亲也贴心地帮哈桑将地面用水打湿', '阿曼不管在哪都是哈桑的得力小帮手', '闪闪地发着耀眼的光芒', '帮助哈桑照亮地上的水泥路面', '哪怕是弟弟阿胡拉', '他也能将其照顾的好好的']}]

现在messages变量已经转换为字符串数组格式了。您可以继续使用之前的代码调用completion函数。

uyhoqukh

uyhoqukh1#

使用了官方 API 和 OneAPI 中转测试后复现.
根据 官方文档链接 和使用官方接口测试复现, 这个错误应该符合预期.

  • UserMessage.content 支持数组, 但是元素必须为 object, 包含 typetext | image_url , 并不支持 issue 中所说的 list[str]
  • 未测试 Playground, 怀疑 playground 是把你的数组当成字符串处理, 并没有定义为数组.
  • 你可以尝试优化 prompt, 并将你的数组用 json 序列化发送给 OpenAI, 再将返回的字符串反序列化.

以下为测试代码

r = client.chat.completions.create(
    model='gpt-3.5-turbo-1106',
    messages=[
        {
            'role': 'user',
            'content': [
                {
                    'type': 'text',
                    'text': 'Hello'
                },
                {
                    'type': 'text',
                    'text': 'How are you?'
                }
            ]
        }
    ]
)

相关问题