koharu-hy-qwen-pipeline
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-7bdownload-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.ps1stop.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.
This server cannot be installed
Maintenance
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
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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