用 Rust 写了一个跨平台 LLM 汉化漫画的工具

9 天前
 9yu

支持日语翻译到中文、英文。

用多个 CV 模型来做文字检测、识别、修图。

本地跑 8B 的 LLM 来进行翻译。

纯 Rust 写的,模型全部用 candle 重新实现了,支持 N 卡的 CUDA 和 macos 的 MPS 进行 GPU 加速。

跨平台,安装包极小。CUDA 等依赖全部动态下载。

开源: https://github.com/mayocream/koharu


Tips:

需要联网下载 pypi 包(提取 DLL ),从 HuggingFace 拉模型。

2085 次点击
所在节点    分享创造
21 条回复
9yu
9 天前
没什么自信,目标是能有 10 个用户……> <
loveqianool
9 天前
我只表示感谢。
studyingss
9 天前
都快 300star 了,恭喜超额到达目标
kaiii
9 天前
Star 了,非常感谢分享
uxn
9 天前
太棒了,前排支持哈哈哈
lucifer9
9 天前
这个必须支持,福音啊
liuliuliuliu
9 天前
为啥 win 版不让选安装目录啊,安装完不算 model 两个多 g……
yianing
9 天前
我用的 manga-image-translator 太占显存了,但是效果很好,等会试下这个看看
yianing
9 天前
@yianing inpaint 处理速度太慢了,我这里处理一张图基本要好几分钟,gpu 2070s, manga-image-translator 基本上 10s 左右
WizardLeo
9 天前
一直挺希望这样的翻译软件可以手动添加翻译表,对特定关键词(比如人名、专有名词这类)指定特定译名,但好像没人这么做。
9yu
8 天前
@liuliuliuliu TvT velopack 还不支持安装选项,安装的时候只能蠢蠢的丢到 data local 里面去,portable 版会下载到当前目录(但是代码有点小问题,还没修好,已经在修了!)。

主要是 CUDA 和 cuDNN 特别大,N 厂没有自带,所以要开发者来 bundle……其实程序本身特别小。
9yu
8 天前
@yianing 最近刚从 ONNX 迁移到 candle ,我自己实现的 LaMa 模型感觉哪里有问题……

这个问题其实挺麻烦的,manga-image-translator 用的是 Pytorch 的实现,自带了 fft 的 ops ,而 candle 里面根本没有 fft 。

我目前给 candle 的依赖库 cudarc 提了一个 PR 来支持 cufft: https://github.com/chelsea0x3b/cudarc/pull/500

Koharu 用的是我 fork 的 candle ,现在已经用到 cufft 快了一点点了。

除了实现不高效,另一点是我用 LaMa 整张图片处理的,没有切片,这个可能导致速度很慢。

小声说我用的 5090 跑一张图只要几秒钟,所以我没注意到。

用 candle 来实现模型优点是自己可以调整模型的结构,所以一定可以优化得更快。最近我也在尝试向 candle 贡献代码,希望提升整体的性能。
9yu
8 天前
@WizardLeo 其实 SakuraLLM 官方说明了可以添加术语表: https://github.com/SakuraLLM/SakuraLLM#%E6%8E%A8%E7%90%86

目前 Koharu 是允许手动编辑译文,来进行修正的。术语表、或者是给 LLM 提供更多 Context 有打算做,但是 LLM 听不听话就不知道了……

但是这个功能一定会做的!
ruomeng
8 天前
@9yu 您好,我在本地试用了下,但是一直卡在 LLM Generate 中有近 8 分钟了,环境是 win11 13900k+4090 感觉有点问题,另外是日志里显示保存模型到 models 目录,但是我没在目录下看到。使用的便携版,日志可以参考这个 https://privatebin.net/?b2ad896ae3cb85a8#2oSMVe2zyjfmxSA2gDLtRzPQPYymknt512oQ83gbX8Qr
ruomeng
8 天前
@9yu 我换用了安装版 setup.exe 就可以了,迅速搞定!可能是便携版 Koharu-win-Portable.zip 有点小问题!
ZztGqk
8 天前
这不是用的 tauri 么,甚至 nextjs
kpprotector
7 天前
@9yu 感谢哦,让我来成为用户之一。
kpprotector
7 天前
@9yu 贴主说话可可爱爱的……
9yu
7 天前
@ZztGqk 其实几度删了 Tauri 最后又回到了 Tauri ,Slint 也尝试过但是还是 Tauri 做 GUI 最适合这个项目,Next.js 只是 setup 比较方便,倒是没有用到 vendor-lock 的功能。
9yu
7 天前
@kpprotector ☺️ 谢谢你

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1177306

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX