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

[Feature]: 用户可自定义翻译服务图标文件 | Customize the translation service icon file #830

Closed
syaoranwe opened this issue Jun 9, 2024 · 2 comments

Comments

@syaoranwe
Copy link

syaoranwe commented Jun 9, 2024

功能描述

用户可以自定义一个网络URL,指向一个图标图片文件,配置翻译服务时Pot程序可以自动缓存一次图标,然后在后续的显示和翻译中使用自定义的图标展示。图标地址举例:

自定义图标示意图:
示意图

应用场景

我用了最新PR合并后的版本,多个openai翻译实例解决了之前无法自定义多个openai服务和不能自定义模型调用参数的不足,值得称赞。

不过目前不同实例都是共用同一个openai的icon(参见这个PR),是否能更进一步,让用户也可以自定义翻译服务的icon?这样方便区分不同模型服务。

比如我现在使用了多个不同的模型同时翻译(都是调用的兼容openai格式的API),每个模型我都是专门安装一个插件来自定义图标以方便区分(参见提供的图片),相较现在的版本,唯一的缺陷是插件不支持流式输出。

如果在现有的版本上,增加翻译服务可自定义icon图片地址,那么自定义服务就可以不用默认的openai的icon了,不同的图标可以更快地识别不同服务。我也就不需要再额外使用插件了。

顺便提一下

  • 智谱AI的最新模型名已经更新为glm-4-0520、glm-4 、glm-4-air、glm-4-airx、 glm-4-flash,现在的版本里模型还是旧模型名,即将被弃用。为了避免之后需要再次更新的麻烦,建议所有大语言模型类的翻译服务均采用和openai一样的用户自定义模型名的方式(或者Pot程序可以预置一些选择,但是可自定义)。
  • openai类翻译服务的默认模型参数配置json是:{"temperature":0,"top_p":1,"frequency_penalty":1,"presence_penalty":1},建议改为{"temperature":0.1,"top_p":0.99,"frequency_penalty":0,"presence_penalty":0}。原因是:
    • temperature为0或者为0.1在模型输出影响上几乎没有差别(由大语言模型softmax过程中temperature的作用决定),top_p为0.99或者为1对模型输出的影响也几乎没有差别,但是一些平台不能设置边界值(例如智谱AI),调成此参数可以规避掉这些不兼容之处。
    • frequency_penalty和presence_penalty的默认值一般是0(参见openai 文档),如果设置为1,会导致模型在生成译文的过程中减少已有内容的重复,在有些场景下(例如一个名词出现了多次)可能造成同一个实体的翻译出现多种结果的情况(例如出现了多次的Amy一词在译文中的翻译可能有艾米、埃米、爱米、艾咪等多种表示)。
@xtyuns
Copy link
Member

xtyuns commented Jun 12, 2024

从功能上来讲,自定义图标并不能带来收益,且有可能导致后期维护混乱,因此基本上不会提供这个功能。

为 OpenAI 提供多实例功能是为了使那些兼容 OpenAI 接口规范的 LLM 服务可以借用已有的代码实现,自定义名称是为了区分不同配置,这就够了,我们不希望 OpenAI 的翻译服务变为一个其他 LLM 的工厂,OpenAI 就是 OpenAI,OpenAI 不是 Moonshot,OpenAI 也不是 DeepSeek,OpenAI 不需要考虑其他 LLM 的参数限制,它只需要关心自己的接口规范就好。

关于智谱的模型更新和 OpenAI 默认参数调整, @Pylogmon 你觉得怎么样?

@syaoranwe
Copy link
Author

确实,自定义服务图标更多的不是提供新功能,而是让应用使用起来更美观或者寻找特定服务时更直观快捷,收益更多是体验上的。修改现有处理图标显示的逻辑确实有引入新Bug的风险。

而这一功能要解决的问题也只是让不同服务区分得更明显、寻找起来更快,这靠插件系统也能做到,只不过目前插件还不支持流式输出,如果插件能支持流式输出,也可以做到相同的使用体验,那自定义图标这个功能其实也没有太大必要。

其实这个Feature和之前提出的这个Feature出发点都是一样的:

  • 现有市场上有大量模型提供或者可以通过中转提供兼容openai的接口,并且性价比高,我希望接入Pot使用。
  • 我希望可以自定义PromptList和模型参数,方便调教翻译效果/适配不同场景。
  • 我希望不同的模型可以在呈现翻译时能和其他翻译服务一样方便区分服务,可以靠不同的服务名和图标来实现。(这是本Feature提议)
  • 由于使用LLMs翻译时相较传统机器翻译慢,所以我希望所有的LLMs翻译服务在翻译时都可以流式输出,减少等待完整响应的时间。(而这一项目前靠插件还实现不了)

@Pylogmon Pylogmon closed this as not planned Won't fix, can't repro, duplicate, stale Jun 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants