Open axdlee opened 7 months ago
这个我看了是兼容的,直接用 OpenAI 渠道,改掉 base url 即可
有点问题,虽然 Together AI 看起来兼容 OpenAI,但它的官方接口最后一个结束的 finish_reason 是 eos,而不是标准的 stop,这可能会导致在一些第三方应用中数据解析报错。
这是我在 Easydict 中的测试:
[BaseOpenAIService ● 89 ● ❌] translate(:from:to:completion:) ● 自定义 OpenAI 翻译-(Qwen/Qwen1.5-14B-Chat) error: 未能读取数据,因为它的格式不正确。 [BaseOpenAIService ● 90 ● ❌] translate(:from:to:completion:) ● dataCorrupted(Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "choices", intValue: nil), _JSONKey(stringValue: "Index 0", intValue: 0), CodingKeys(stringValue: "finish_reason", intValue: nil)], debugDescription: "Cannot initialize FinishReason from invalid String value eos", underlyingError: nil))
可以考虑单独加个 Together AI 渠道,处理一下 eos 问题。
如果认为 finish_reason 应严格遵守 OpenAI 接口,那直接修改默认 OpenAI 渠道的 finish_reason 字段也行,看如何考虑了。
这个是 Together AI 接口问题,我已经向官方反馈过了,但不清楚是 feature 还是 bug,也不确定他们是否会注意到或者修复。
one-api 作为一个优秀的聚合中转服务,我觉得我们还是应该处理一下,增加容错。
看了一下,新加的 Together AI 似乎没有额外处理 finish_reason 为 eos 问题 https://github.com/songquanpeng/one-api/commit/71f4403fd51d0a83cb6e8fb792fcaee562173199
例行检查
功能描述
应用场景