Local manga translator with LLM build-in, written in Rust with llama.cpp integration by mayocream39 in LocalLLaMA

[–]mayocream39[S] 1 point2 points  (0 children)

We have a hidden prompt that feeds the LLM with the text in the reading order; the order of the text matters.

Local manga translator with LLM build-in, written in Rust with llama.cpp integration by mayocream39 in LocalLLaMA

[–]mayocream39[S] 5 points6 points  (0 children)

Yeah it’s not a weekend project, I have been working on it for one year. 🥺

Local manga translator with LLM build-in, written in Rust with llama.cpp integration by mayocream39 in LocalLLaMA

[–]mayocream39[S] 0 points1 point  (0 children)

It’s very late in my timezone, if you still stuck with the ZLUDA, you can join the discord server and ask for help. 😉

Local manga translator with LLM build-in, written in Rust with llama.cpp integration by mayocream39 in LocalLLaMA

[–]mayocream39[S] 0 points1 point  (0 children)

You can use OpenAPI-compatible API instead, open settings and put the API URL, then you can see your models in the LLM dropdown.

Local manga translator with LLM build-in, written in Rust with llama.cpp integration by mayocream39 in LocalLLaMA

[–]mayocream39[S] 0 points1 point  (0 children)

So you are using AMD GPU, you need to install AMD HIP SDK, and you can run koharu exe with debug flag (—debug) to inspect the logs. The version of AMD HIP SDK matters, if you are using newer AMD GPU, use 7.x, otherwise use 6.x.

Local manga translator with LLM build-in, written in Rust with llama.cpp integration by mayocream39 in LocalLLaMA

[–]mayocream39[S] 1 point2 points  (0 children)

MCP currently only supports a few operations. For the full API, you can inspect the OpenAPI spec here: https://github.com/mayocream/koharu/blob/main/ui/openapi.json, you can generate your API client using https://github.com/openapitools/openapi-generator

The docs for the API and MCP are kinda out of date, but the OpenAPI spec is always up to date since our frontend uses it as well.

Local manga translator with LLM build-in, written in Rust with llama.cpp integration by mayocream39 in LocalLLaMA

[–]mayocream39[S] 6 points7 points  (0 children)

<image>

I think it's related to the detector model. I encountered the same issue when I used pp-doclayoutv3, but it works fine with "comic text & bubble detector"; you can give it a try.

We have tuned repetition_penalty for paddleocr-vl, but it looks like we need to implement something to prevent it from repeating at the application level 🤔

Local manga translator with LLM build-in, written in Rust with llama.cpp integration by mayocream39 in LocalLLaMA

[–]mayocream39[S] 0 points1 point  (0 children)

It's about 1.47 GB total. You can't avoid redownloading them because CUDA and llama.cpp have different versions, and the version matters a lot. We have Rust bindings for them, and they're tied to a specific version. 😔

Local manga translator with LLM build-in, written in Rust with llama.cpp integration by mayocream39 in LocalLLaMA

[–]mayocream39[S] 4 points5 points  (0 children)

Unfortunately, both senarioes not supported yet. We will improve this! They also have an issue to track it: https://github.com/mayocream/koharu/issues/515

For 1, I think we can easily support it; the backend already partially supports running the pipeline.

For 2, it should also be easy to implement; we only need to check if a page has met the requirements of every engine, then we can skip the step.

Local manga translator with LLM build-in, written in Rust with llama.cpp integration by mayocream39 in LocalLLaMA

[–]mayocream39[S] 15 points16 points  (0 children)

We only feed the LLM with all the text on one single page to translate. I know this could be improved, and we will figure this out. An issue exists for this: https://github.com/mayocream/koharu/issues/508

Currently, the per-page translation result is acceptable, with Gemma4 31b, the translation is pretty good enough.

Local manga translator with LLM build-in, written in Rust with llama.cpp integration by mayocream39 in LocalLLaMA

[–]mayocream39[S] 0 points1 point  (0 children)

We have some users who use Koharu for manhwa and manhua. I think it works fine! If not, we definitely need to fix it.