hcfyapp / crx-selection-translate

一站式划词 / 截图 / 网页全文 / 音视频翻译扩展。
https://hcfy.app
4.06k stars 539 forks source link

Gemini 中转API走OpenAI通道的支持 #2016

Closed leslietoo closed 3 weeks ago

leslietoo commented 3 weeks ago

官网申请的几个Gemini apikey通通都被限制不能用了,使用频率绝对不频繁,仅仅在划词翻译里手动划词用而已,非常恼火。

只能考虑用中转API,可是找遍了中转服务提供商,但凡能提供Gemini中转API的统统都是走OpenAI通道的,就像这个一样: image

看看某提供商的Gemini API文档:https://ob6nfbpu76.apifox.cn/api-134703528 gemini是POST https://api2.aigcbest.top/v1/chat/completions这个url(也就是ChatGPT的url),Body参数里的model指定为gemini的模型名那就实际使用的是gemini而不是GPT.

这就导致划词翻译目前没有办法以直接改Gemini URL的方式来使用中转Gemini,只能把ChatGPT的模型名改为Gemini的来曲线救国,但这样一来ChatGPT虽然是变成Gemini了,但是想要ChatGPT(基于GPT4)和Gemini同时一起翻译的却实现不了了,这就太蛋疼了。

我想到的解决方法有两个: 方法1. 如图 image

方法2. 单独再增加一个ChatGPT的设置(最好可以让用户自定义翻译引擎名称),也就是双ChatGPT设置,这样既可以满足gpt-x+gemini的需求,也满足要2个gpt-x的需求(比如gpt4+gpt3.5/gpt-4o)。

当然也可以方法1+方法2都实现,那就更完美了,哈哈

lmk123 commented 3 weeks ago

方法 2 其实我早有设想,只是改起来太麻烦了,所以一直没动。先等我把 mv3 改造完吧。

方法 1 确实可以解决问题,但我觉得作为中转服务就应该跟原服务的调用方式保持一致才对。再加上以后我是会把方法 2 开发出来的,所以我可能不会采用方法 1——但是方法 2 可能要过好几个月才会上线

以下是吐槽,不用看 :joy:

我觉得中转服务本身应该让接入方尽可能减少代码改动,所以 chatgpt 的中转服务全都是遵循 chatgpt api 调用方式的,代码上只需要把 url 做成变量。

结果现在 gemini 变成了中转服务反过来要求接入方改代码,那就得给 gemini 准备两套调用方式(虽然另一套复用了 chatgpt 但还是得额外加代码逻辑)

我觉得还是因为通过中转服务使用 gemini 的人少了,所以中转服务也懒得单独做一个 gemini 的接口 :joy:

leslietoo commented 3 weeks ago

比起ChatGPT肯定是算少的,不过感觉1.5出来后好评不断用户也在逐渐增加。另外一个可能是这些中转API都是相互copy来copy去的,可能大家都犯懒在等第一个吃螃蟹的。 Anyway, waiting for your good news

lmk123 commented 3 weeks ago

v10.9.0 增加了四个国内的 AI 服务,除了通义千问,其它三个(Moonshot (Kimi)、零一万物、DeepSeek)都是用的 OpenAI 的接口,也就是说你可以用它们来做 gemini 的中转

这应该也算是临时解决了你的问题,所以我先关闭了,有任何疑问可以继续留言

leslietoo commented 2 weeks ago

试了一下确实可以,解了燃眉之急,感谢!