Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

功能建议:希望可以增加ChatGPT的翻譯 #28

Closed
YanAnnLu opened this issue Mar 11, 2023 · 27 comments
Closed

功能建议:希望可以增加ChatGPT的翻譯 #28

YanAnnLu opened this issue Mar 11, 2023 · 27 comments
Labels
enhancement New feature or request fixed in next release The issue will be closed once next release is available

Comments

@YanAnnLu
Copy link

功能描述

我在使用ChatGPT時,有一種運用是讓GPT協助我翻譯。我會使用「請以繁體中文優雅地翻譯以下文字」作為我的開頭來詠唱,希望有一天能夠加入類似的功能。

@YanAnnLu YanAnnLu added the enhancement New feature or request label Mar 11, 2023
@github-actions
Copy link

Hello YanAnnLu, Thank you for your first issue contribution 🎉

@tisfeng
Copy link
Owner

tisfeng commented Mar 11, 2023

确实,ChatGPT 翻译效果很不错,我已经在测试 OpenAI 的接口了,稍后准备好了会开放支持的。

image

@tisfeng tisfeng added the feat label Mar 11, 2023
@cxfksword
Copy link

因为openai翻译要花钱的,希望后面能参考下bob的设计,点击时再显示openai的翻译

@tisfeng
Copy link
Owner

tisfeng commented Apr 17, 2023

可以~

@tisfeng
Copy link
Owner

tisfeng commented Apr 28, 2023

1.3.0 版本已经支持 OpenAI 翻译了,考虑到 OpenAI 接口不稳定、限制 IP 以及其他因素,目前以 beta 测试方式提供,暂时还没写界面,需要通过命令方式启用。

请先确保你有 APIKey。

在输入框输入下面代码,然后 enter ,就会开启 OpenAI 翻译

easydict://writeKeyValue?EZBetaFeatureKey=1

配置 APIKey

easydict://writeKeyValue?EZOpenAIAPIKey=sk-xxx

查看 APIKey,其他 key 类似,如果查询成功,会将结果写到剪贴板。

easydict://readValueOfKey?EZOpenAIAPIKey

目前 OpenAI 支持三种查询模式:单词,句子和长翻译,默认都是开启的,其中单词和句子也可关闭。

查询单词:
image

分析英语句子:
image

翻译
6fd5e6c91249d711cde7a3274a66e18d

@tisfeng
Copy link
Owner

tisfeng commented Apr 28, 2023

注意,OpenAI 有时候查询结果会不正确,尤其中文历史知识,经常胡编乱造 😅

image

image

@tisfeng
Copy link
Owner

tisfeng commented Apr 29, 2023

对了,考虑到 OpenAI 的 token 费用因素,还提供了默认关闭选项,写入下面命令后, OpenAI 将默认关闭查询,仅在用户手动点击展开按钮时才查询

easydict://writeKeyValue?EZOpenAIServiceUsageStatusKey=1

@cxfksword
Copy link

因为国内网络原因,一般都是使用代理接口,希望openai再加个api地址配置

@kaiyo655
Copy link

Azure OpenAI API提供了简便和可用性较高的GPT 3.5/4的选择, 希望能够添加支持. 但是它的api和openai api有所区别, 详见官方文档Azure OpenAI Studio代码示例

@tisfeng
Copy link
Owner

tisfeng commented Apr 30, 2023

可以,稍后我加个自定义 API 域名吧。

Azure OpenAI Service 这个我没拿到资格,没办法测试,有小伙伴来提 PR 吗

@tisfeng
Copy link
Owner

tisfeng commented Apr 30, 2023

算是提前免责声明吧,因为听过一些奇怪用户使用 APIKey 被封的例子,这个问题很复杂很玄学,建议自行了解个中原因, 权衡利弊风险。

使用低风险、固定代理 IP,或自定义免翻墙域名,或 Azure OpenAI 等,可能是一些比较好的方式。

如果担心被封,不了解原理,又没办法降低风险,那不建议用。

https://twitter.com/yetone/status/1638439103632142336

@tisfeng
Copy link
Owner

tisfeng commented May 4, 2023

虽然 OpenAI 翻译已经很优秀了,且通常相比 DeepL 和 Google 翻译都要更准确 #29 ,但实测有时仍会出现翻车情况,尝试过各种方式优化翻译 Prompt,但效果不是很好,所以我引入了分析句子模式中的推理翻译,通过引导模型逐步推理,来实现更准确、更合理的翻译。

image

@tisfeng
Copy link
Owner

tisfeng commented May 4, 2023

image

image

image

@tshu-w
Copy link

tshu-w commented May 5, 2023

虽然 OpenAI 翻译已经很优秀了,且通常相比 DeepL 和 Google 翻译都要更准确 #29 ,但实测有时仍会出现翻车情况,尝试过各种方式优化翻译 Prompt

在用 https://github.com/yetone/openai-translator 感觉 prompt 还行,另外可以考虑用 ``` 等符号把待翻译内容包起来,来源:https://www.deeplearning.ai/short-courses/chatgpt-prompt-engineering-for-developers/

@tisfeng
Copy link
Owner

tisfeng commented May 5, 2023

这个我在 OpenAI 的 best-practices 看过,目前也在使用了,这种优化对用户输入处理很有用,但可惜它对提高翻译的准确度方面没什么帮助 😢

一开始我也希望能够构建出一步到位,直接提高准确度的翻译 Prompt,但都失败了,后面发现还是推理翻译最管用。

如果有更好的 Prompt,欢迎推荐。另外,如果发现有翻译不准确的例子,也可以来这个 issue #29 下提交记录,我会尝试优化的。

image

image

@tisfeng
Copy link
Owner

tisfeng commented May 21, 2023

1.3.1 支持了设置自定义域名和模型:

//  xxx 默认是 api.openai.com
easydict://writeKeyValue?EZOpenAIDomainKey=xxx

//  xxx 默认是 gpt-3.5-turbo
easydict://writeKeyValue?EZOpenAIModelKey=xxx

关于部署自定义域名,可以参考这个 vercel 反代项目 vercel-reverse-proxy

本项目是vercel反向代理。完全免费,万能代理,可代理全网一切接口,包括openai、github、google等等。

@ryanwuson
Copy link

您好,请问 "单词和句子" 如何关闭,谢谢

@tisfeng
Copy link
Owner

tisfeng commented May 23, 2023

前面好像忘记写了。。注意,目前关于句子的判定有点欠缺,如果关闭查单词,那单词会被识别为句子类型(因为理论上句子可以是一个单词),会有点奇怪,建议要关闭就一起关闭。稍后我优化一下判定。

温馨提示:如果你只是偶尔不希望分析句子,可以不用关闭句子类型,只需要在【句子】后面添加一个波浪符~,这样就会变成翻译类型了。

// 关闭查单词
easydict://writeKeyValue?EZOpenAIDictionaryKey=0

// 关闭句子分析
easydict://writeKeyValue?EZOpenAISentenceKey=0
image

@ryanwuson
Copy link

謝謝開發者說明🥳

@cheneyxx
Copy link

image

为什么配置好了会请求超时

@tisfeng
Copy link
Owner

tisfeng commented May 30, 2023

先检查一下自己的网络环境问题。

考虑到 OpenAI 接口不稳定、限制 IP 以及其他因素,目前以 beta 测试方式提供

@ntpd1
Copy link

ntpd1 commented Jun 15, 2023

可以,稍后我加个自定义 API 域名吧。

Azure OpenAI Service 这个我还没拿资格,没办法测试,有小伙伴来提 PR 吗😔

Azure OpenAI怎么设置啊?

@tisfeng
Copy link
Owner

tisfeng commented Jun 15, 2023

我还没拿到资格,也没有收到 PR,你要来一个吗 🥹

@tisfeng
Copy link
Owner

tisfeng commented Oct 25, 2023

你好,2.0.1 版本已实现该功能。

开放 OpenAI (ChatGPT) 翻译,支持 Azure OpenAI 接口。 #28

@tisfeng tisfeng closed this as completed Oct 25, 2023
@tobemaster56
Copy link

通过 urlscheme 设置,我还是第一次见,为啥要这样设计呢,而且,我的 openaikey,设置是失败的,DeepL 的是成功的

@tisfeng
Copy link
Owner

tisfeng commented Nov 3, 2023

最开始支持的一些服务都是不需要 key 的,因此代码设计上就没有考虑用户配置服务 key 的 UI 界面,加上后面添加 OpenAI 服务的时候,也是以 beta 方式提供,这一点就一直遗留了下来。 如果你有好的想法,欢迎提交 PR。

@tisfeng
Copy link
Owner

tisfeng commented Nov 3, 2023

@tobemaster56 设置是失败的,这种模糊的描述没有意义,具体是有什么问题,有报错提示吗?确认 openaikey 是有效的吗,网络能访问 OpenAI 接口吗?

如果确认是应用 bug,请单独提 issue,详细描述问题,最好附上图片或视频。

我的 openaikey,设置是失败的

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request fixed in next release The issue will be closed once next release is available
Projects
None yet
Development

No branches or pull requests

9 participants