V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
9yu
V2EX  ›  分享创造

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

  •  2
     
  •   9yu ·
    mayocream · 2 天前 · 1477 次点击

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

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

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

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

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

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


    Tips:

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

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

    主要是 CUDA 和 cuDNN 特别大,N 厂没有自带,所以要开发者来 bundle……其实程序本身特别小。
    9yu
        12
    9yu  
    OP
       1 天前
    @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
        13
    9yu  
    OP
       1 天前
    @WizardLeo 其实 SakuraLLM 官方说明了可以添加术语表: https://github.com/SakuraLLM/SakuraLLM#%E6%8E%A8%E7%90%86

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

    但是这个功能一定会做的!
    ruomeng
        14
    ruomeng  
       1 天前
    @9yu 您好,我在本地试用了下,但是一直卡在 LLM Generate 中有近 8 分钟了,环境是 win11 13900k+4090 感觉有点问题,另外是日志里显示保存模型到 models 目录,但是我没在目录下看到。使用的便携版,日志可以参考这个 https://privatebin.net/?b2ad896ae3cb85a8#2oSMVe2zyjfmxSA2gDLtRzPQPYymknt512oQ83gbX8Qr
    ruomeng
        15
    ruomeng  
       1 天前   ❤️ 1
    @9yu 我换用了安装版 setup.exe 就可以了,迅速搞定!可能是便携版 Koharu-win-Portable.zip 有点小问题!
    ZztGqk
        16
    ZztGqk  
       1 天前 via iPhone
    这不是用的 tauri 么,甚至 nextjs
    kpprotector
        17
    kpprotector  
       6 小时 28 分钟前   ❤️ 1
    @9yu 感谢哦,让我来成为用户之一。
    kpprotector
        18
    kpprotector  
       6 小时 24 分钟前   ❤️ 1
    @9yu 贴主说话可可爱爱的……
    9yu
        19
    9yu  
    OP
       1 小时 3 分钟前 via iPhone
    @ZztGqk 其实几度删了 Tauri 最后又回到了 Tauri ,Slint 也尝试过但是还是 Tauri 做 GUI 最适合这个项目,Next.js 只是 setup 比较方便,倒是没有用到 vendor-lock 的功能。
    9yu
        20
    9yu  
    OP
       1 小时 2 分钟前 via iPhone
    @kpprotector ☺️ 谢谢你
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   5700 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 57ms · UTC 06:22 · PVG 14:22 · LAX 22:22 · JFK 01:22
    ♥ Do have faith in what you're doing.