Skip to main content
Glama
M-T-D-N

koharu-hy-qwen-pipeline

by M-T-D-N

Koharu Hy-MT2 + Qwen pipeline

Независимый экспериментальный конвейер перевода манги с японского на корейский для Koharu. Этот репозиторий не является официальным проектом Koharu и не является запросом на вклад в вышестоящий проект.

Репозиторий содержит:

  • патч, привязанный к коммиту Koharu a81c5829ea99a45e04580ff97fd6affa81b2db34, который добавляет headless веб-интерфейс, HTTP API и конечную точку MCP, доступные только через loopback;

  • совместимый с OpenAI сайдкар перевода, который выполняет первый проход с фиксированной версией Hy-MT2, выгружает её, запускает внешне управляемый рецензент Qwen, допускает один целевой проход исправления и завершается с ошибкой при нерешённых областях;

  • обёртки процессов, которые записывают и впоследствии проверяют точную идентичность процесса перед остановкой или перезапуском Koharu или сайдкара.

Он не содержит весов моделей, страниц манги, корпусов OCR, сгенерированных переводов, частных результатов оценки или среды выполнения Qwen. Частный пилотный проект на 512 страницах / 6 525 областях повлиял на разработку, но ни исходный материал, ни подробные результаты здесь не публикуются.

Архитектура и границы

Koharu pipeline
  -> loopback OpenAI-compatible sidecar
  -> pinned Hy-MT2-7B first translation (CUDA only)
  -> Hy-MT2 process exits and releases VRAM
  -> externally owned Qwen lifecycle starts the reviewer
  -> sparse review, then at most one targeted repair
  -> deterministic validation and Koharu typography update
  -> Qwen lifecycle stops the reviewer

Сайдкар по умолчанию привязывается к loopback. Он отказывается от запасного варианта CPU для Hy-MT2, отказывается переводить, пока Qwen уже запущен, требует, чтобы процесс Qwen сообщал, что он был запущен текущим запросом, сериализует задания GPU и возвращает ошибку, а не молча принимает нерешённый вывод.

Требования

  • Windows 11 и PowerShell 7

  • Python 3.13

  • инструментарий Rust и зависимости сборки, требуемые Koharu

  • NVIDIA GPU с поддержкой CUDA; в конфигурации разработки использовалась RTX 5090 на 32 ГБ

  • сборка PyTorch с поддержкой CUDA, совместимая с локальным драйвером

  • curl.exe

  • внешний сервер Qwen, совместимый с OpenAI, и скрипт жизненного цикла, описанный ниже

В коде по умолчанию используется идентификатор модели Qwen dirk-qwen3.8-27b-q5 по адресу http://127.0.0.1:8000/v1. Оба значения настраиваются. Веса моделей и их лицензии остаются ответственностью оператора.

Подготовка Koharu

Клонируйте точную вышестоящую ревизию в локальный каталог репозитория vendor/koharu и примените закреплённый патч:

git clone https://github.com/mayocream/koharu.git vendor/koharu
git -C vendor/koharu checkout a81c5829ea99a45e04580ff97fd6affa81b2db34
pwsh -File .\scripts\apply-koharu-patch.ps1 -KoharuCheckout .\vendor\koharu
cargo build --manifest-path .\vendor\koharu\Cargo.toml -p koharu

Скрипт применения отклоняет другой коммит, грязный checkout или патч, который не проходит git apply --check.

Подготовка Python и Hy-MT2

Создайте виртуальное окружение, принадлежащее репозиторию. Установите сборку PyTorch с CUDA, используя команду, подходящую для локального драйвера, затем установите остальные закреплённые пакеты:

python -m venv .venv
.\.venv\Scripts\python.exe -m pip install --upgrade pip
# Install a compatible CUDA build of PyTorch here.
.\.venv\Scripts\python.exe -m pip install -r requirements.txt
.\.venv\Scripts\python.exe .\scripts\download-model.py hy-mt2-7b

download-model.py загружает только ревизию, записанную в config/model-lock.json, и записывает локальный манифест SHA-256. Каталог модели игнорируется Git.

Контракт жизненного цикла Qwen

Аргумент -QwenLifecycleScript обязателен и зависит от конкретной машины. Его скрипт должен поддерживать:

  • -Operation status -Summary, возвращающий JSON, в котором поля qwen.state и comfyui сообщают off до запуска конвейера;

  • -Operation start-qwen, возвращающий JSON с started_by_request: true только когда этот запрос владеет запущенным процессом Qwen;

  • -Operation stop-qwen, останавливающий только этот принадлежащий процесс и возвращающий JSON.

Реализация жизненного цикла намеренно не включена в комплект, поскольку среды выполнения Qwen, команды запуска, расположение моделей и политика совместного использования GPU различаются в зависимости от машины.

Настройка и запуск

В Koharu настройте провайдера, совместимого с OpenAI, чтобы использовать модель koharu-hy-qwen-v1 и базовый URL http://127.0.0.1:4020/v1. Это можно сохранить один раз через обычный интерфейс настроек Koharu перед использованием headless-режима.

Запустите и сайдкар, и пропатченный Koharu:

pwsh -File .\scripts\start.ps1 `
  -QwenLifecycleScript C:\path\to\your\Invoke-QwenLifecycle.ps1

Затем откройте http://127.0.0.1:4010/. JSON API находится по адресу /api/v1, а конечная точка MCP JSON-RPC — /mcp.

Остановите только процессы, записанные этим репозиторием:

pwsh -File .\scripts\stop.ps1

stop.ps1 проверяет каждый записанный путь к исполняемому файлу, время запуска, родительский PID, время создания и полную командную строку перед обращением к PID. Если идентичность изменилась, он сохраняет состояние и отказывается останавливать.

Проверка

Запустите переносимые проверки:

.\.venv\Scripts\python.exe -m unittest service.test_server

$scripts = Get-ChildItem .\scripts -Filter *.ps1
foreach ($script in $scripts) {
  $tokens = $null
  $errors = $null
  [void][System.Management.Automation.Language.Parser]::ParseFile($script.FullName, [ref]$tokens, [ref]$errors)
  if ($errors.Count) { throw ($errors | Out-String) }
}

Для пропатченного checkout Koharu:

cargo test --manifest-path .\vendor\koharu\Cargo.toml -p koharu-app api::tests
cargo test --manifest-path .\vendor\koharu\Cargo.toml -p koharu-pipeline onomatopoeia_becomes_a_sound_effect_text_layer
cargo test --manifest-path .\vendor\koharu\Cargo.toml -p koharu-translator serializes_optional_koharu_region_metadata
cargo build --manifest-path .\vendor\koharu\Cargo.toml -p koharu

Рабочий процесс CI запускает переносимые тесты Python, компиляцию Python и проверки синтаксического анализа PowerShell. Полные сборки Koharu и тесты GPU/моделей остаются локальными, поскольку требуют специфичных для платформы нативных и модельных входных данных.

Ограничения

  • Патч намеренно привязан к одному коммиту Koharu; не утверждается, что он применим к более поздним ревизиям.

  • Конвейер в настоящее время ориентирован на текст с японского на корейский и фиксированную политику ролей леттеринга.

  • Сквозная работа требует предоставленной оператором реализации жизненного цикла Qwen и модели.

  • Автоматическая и живая функциональная проверка не заменяет ручную проверку исходного кода или независимый аудит безопасности.

Раскрытие информации об ИИ-разработке

Большинство последующих изменений были сгенерированы и доработаны OpenAI Codex на основе требований, предоставленных пользователем, и итеративных запросов на принятие. Владелец репозитория не проверял исходный код вручную. Проверка основана на автоматических тестах и живом функциональном тестировании в среде Windows/Codex владельца. Независимый сторонний аудит кода или безопасности не проводился.

Короче: сгенерировано ИИ, протестировано пользователем, не проверено вручную.

Атрибуция вышестоящего проекта и лицензия

Патч Koharu основан на Koharu от mayocream и участников на точном коммите, указанном выше. См. THIRD_PARTY_NOTICES.md для границ зависимостей и атрибуции. Этот репозиторий предлагается на ваш выбор под лицензией Apache License 2.0 или MIT License; см. LICENSE-APACHE и LICENSE-MIT.

-
license - not tested
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • LibreTranslate MCP — open-source machine translation (BYO endpoint)

  • MCP server for AI dialogue using various LLM models via AceDataCloud

  • MCP server for Hailuo (MiniMax) AI video generation

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/M-T-D-N/koharu-hy-qwen-pipeline'

If you have feedback or need assistance with the MCP directory API, please join our Discord server