Greasy Fork is available in English.

Cotrans Manga/Image Translator (Regular Edition)

(WIP) Translate texts in images on Pixiv, Twitter, Misskey, Calckey

< Σχολιασμός για τον κώδικα Cotrans Manga/Image Translator (Regular Edition)

Αναφορά: Καλός - ο κώδικας λειτουργεί

§
Δημοσιεύτηκε: 12/07/2023

您好,我自己写了个在线看漫画的脚本ComicRead,因为有用户提议接入 cotrans.touhou.ai,所以我参考了这个脚本实现了基本功能。但刚才翻评论才知道这个不能翻译R18内容,并且一次性上传太多服务器也会吃不消。

为避免给你们带来困扰,我想先问下除了上述两点外还有什么需要注意的吗?一次性上传太多不好的话改为手动一张一张上传可以吗?还是应该放弃直接调用服务器,改为调用用户本地部署的更好?

§
Δημοσιεύτηκε: 12/07/2023

另外虽然说翻译 R18 内容会被警告,但这个脚本也没对 pixiv 的 R18 作品进行限制?

QiroNTΔημιουργός
§
Δημοσιεύτηκε: 13/07/2023

啊 抱歉昨天没看到 最近不怎么清邮箱了

请放开做(笑

对于 R18 警告的事情,实际在部署之后到并没有了,所以暂时也没必要做太多控制措施。(现在最大的问题倒是 $120/mo 的上限快到了,等会填填表,不知道 OpenAI 会不会多说几句)

对于服务器的问题… 其实现在还想不好。对于这边来说需求会越来越高是不可能避免的,也暂时没有做限制的计划,不过服务器挺贵的所以现在也没有加的计划。对于你那边的情况的话,我主要担心的事情倒变成现在列队的 40 个上限了,毕竟本子还很好超这个限制。

Hmm 在脑袋里转了两圈,感觉需要独立 API 的可能性还挺大的,如果有能联系的 IM 的话希望能具体讨论一下。毕竟现在的 API 只适合单张上传,Pixiv 支持多张这件事情其实现在挺后悔做了的。最近在重构后端,也不知道重构之后能好多少,不过其实现在服务器负载也并不是一直很高,也许能撑得住呢。

本地部署这种事… 至少也得等几天了,我重构完后端就去写。而且部署很麻烦的,对配置要求也很高 (比如显存大概要 12G+),虽然确实会出不过估计也并没有多少人会真正去做。其实现在的架构是可以让内网的机器贡献算力的,或许可以考虑做 H@H 类似的事情,不过是之后的事情喏。

TL;DR 的话,随便做,不过我的建议是讨论个更合适点 API 好一些。

§
Δημοσιεύτηκε: 14/07/2023

因为实际实现了以后发现调服务器要排队实在是太慢了,所以还是把调用本地部署的功能给实现了。目前感觉最大问题是要用户自己去本地部署 manga-image-translator 的难度略大,虽然有 docker 可以跳过很多麻烦的环境配置,但光是在 win 上装 docker 可能就要筛掉九成的人了。

说回正题,既然可以放开做的话,那我就做成可以切换调用服务器还是本地部署的形式好了。至于 API,我是觉得没必要讨论。。。后端你怎么方便怎么来就好,本身我也是最近几天才接触了解到这个项目的,对这个项目完全不了解,反正前端也就调调接口而已,具体还是按后端的来就好。

QiroNTΔημιουργός
§
Δημοσιεύτηκε: 22/07/2023
Επεξεργάστηκε: 22/07/2023

后端重构完了,现在处理速度快了很多倍,可以试一试效果。

新发布了一个 @cotrans/types 的包 https://www.npmjs.com/package/@cotrans/types
里面有各种返回值定义,比如状态列表什么的,如果你那部分用的是 ts 的话可以用一下。

上传图片的上限改了,现在的推荐最高大小是 4096x。比较高的大小可能会报错,具体细节 @cotrans/types 里。

新增加了一个 group 的功能,可以只用连一个 websocket 就能接到一个 group 内任务的状态。
需要在你的客户端代码里生成一个随机的最高 14 位的字符串 group,之后访问 wss://api.cotrans.touhou.ai/task/group/${group}/event/v1
在挂上这个 websocket 之后的一分钟内和之前一样用 upload 上传文件,上传的 form 里带上 group,值为刚才定义的随机字符串。
之后这个任务的状态就会被发到上面的 websocket 里,和正常的消息相比会多出来 id 标识。
所有任务结束一分钟后服务端可能会主动踢,但是并不是确定的时长,推荐主动关连接。
注意这个 group 并不是为了“一直挂着然后时不时传个任务”设计的,只是为了方便批量上传。
列队的 40 个上限依旧在,注意别一次传太多了。具体怎么控制是你的事情了。

在五秒内没有访问 /:id/status/v1 且没有挂 websocket 的任务可能会被踢出列队,后续访问相关接口会返回 not_found
不过并不是就不处理了,列队相对空闲的时候这些任务还是会被回收到列队中处理的。
如果你需要立刻恢复的话,可以考虑重新上传。暂时还没做接口解决这个问题。

有些功能并没有严格测试过,如果你写的途中遇到问题了的话,尽量和我说一声。 如果可以的话,用 Discord 发给我 https://discordapp.com/users/QiroNT,这样我至少不会几天看不见。

QiroNTΔημιουργός
§
Δημοσιεύτηκε: 24/07/2023

我决定做个 SDK,你的活可以轻一些w

做好了我就去发个 pr(

§
Δημοσιεύτηκε: 25/07/2023

@cotrans/types 很有用,我现在就只是随便定义了下类型而已。

目前我是一张图传上去后等到结果返回处理完成后,再接着处理下一张图的,确保一次只会占用一个任务。之前测试功能的时候感觉40个的队列上限还是挺容易达到的,所以慢点就慢点吧,而且这样实现起来也简单。

zyddnysΔημιουργός
§
Δημοσιεύτηκε: 27/07/2023

我觉得可以加一个一键翻译全部图片而不用每页去点击翻译

§
Δημοσιεύτηκε: 27/07/2023

我觉得可以加一个一键翻译全部图片而不用每页去点击翻译

如果是用本地部署的就有一键翻译全部的选项了,cotrans 禁用全部翻译功能主要是为了防止把封面、空白页之类没必要翻译的页面也丢上去占队列

§
Δημοσιεύτηκε: 16/08/2023

您好,你这个软件很棒,请问这个,我怎么能在自己电脑使用吗?如果可以,需要哪些步骤?

§
Δημοσιεύτηκε: 18/08/2023

您好,你这个软件很棒,请问这个,我怎么能在自己电脑使用吗?如果可以,需要哪些步骤?

https://greasyfork.org/zh-CN/scripts/374903-comicread/discussions/193255

Δημοσίευση απάντησης

Συνδεθείτε για να δημοσιεύσετε μια απάντηση.