Skip to main content

Knowledge Translation Transmutation Core - Transforming translations into gold-standard quality

Project description

KTTC

English · Русский · 中文 · हिन्दी · فارسی

KTTC - Knowledge Translation Transmutation Core

CI CodeQL PyPI Python Version License

Autonomous AI-powered translation quality assurance

KTTC uses specialized multi-agent systems to automatically detect, analyze, and fix translation quality issues following the industry-standard MQM (Multidimensional Quality Metrics) framework. Get production-ready translation quality in seconds, not hours.


Key Features

  • Multi-Agent QA System - 5 specialized agents analyze accuracy, fluency, terminology, hallucinations, and context
  • MQM Scoring - Industry-standard quality metrics used in WMT benchmarks
  • Smart Routing - Automatically selects optimal models based on text complexity (60% cost savings)
  • Auto-Correction - LLM-powered error fixing with iterative refinement (TEaR loop)
  • Language-Specific Agents - Native-level checks for English, Chinese, Russian, Hindi, and Persian
  • Translation Memory - Semantic search with quality tracking and reuse
  • Glossary Management - Custom terminology validation and consistency
  • Batch Processing - Process thousands of translations in parallel
  • CI/CD Ready - GitHub Actions integration, exit codes, multiple output formats
  • Multi-LLM Support - OpenAI, Anthropic, GigaChat, YandexGPT

Performance: 90% cost reduction vs manual review • 100-1000x faster • 95+ MQM quality target


Quick Start

1. Install

pip install kttc

Optional language enhancements:

pip install kttc[english]        # English: LanguageTool (5,000+ grammar rules)
pip install kttc[chinese]        # Chinese: HanLP (measure words, particles)
pip install kttc[hindi]          # Hindi: Indic NLP + Stanza + Spello
pip install kttc[persian]        # Persian: DadmaTools (spaCy-based)
pip install kttc[all-languages]  # All language helpers

2. Set API Key

export KTTC_OPENAI_API_KEY="sk-..."
# or
export KTTC_ANTHROPIC_API_KEY="sk-ant-..."

3. Check Translation Quality

kttc check source.txt translation.txt --source-lang en --target-lang es

Output:

✅ MQM Score: 96.5 (PASS - Excellent Quality)
📊 5 agents analyzed translation
⚠️  Found 2 minor issues, 0 major, 0 critical
✓ Quality threshold met (≥95.0)

That's it! KTTC works out of the box with smart defaults:

  • ✅ Smart routing (auto-selects cheaper models for simple texts)
  • ✅ Auto-glossary (uses 'base' glossary if exists)
  • ✅ Auto-format (detects output format from file extension)

Commands

KTTC provides a unified CLI with smart auto-detection:

kttc check source.txt translation.txt          # Single quality check
kttc check source.txt t1.txt t2.txt t3.txt     # Auto-compares multiple translations
kttc check translations.csv                     # Auto-detects batch mode (CSV/JSON)
kttc check source_dir/ trans_dir/              # Auto-detects directory batch mode

kttc batch --file translations.csv              # Explicit batch processing
kttc compare --source src.txt -t t1 -t t2      # Compare translations side-by-side
kttc translate --text "Hello" --source-lang en --target-lang es  # Translate with QA
kttc benchmark --source text.txt --providers openai,anthropic    # Benchmark LLMs

# Glossary management (project + user global storage)
kttc glossary list                              # List all glossaries
kttc glossary create tech --from-csv terms.csv  # Create project glossary
kttc glossary create personal --from-csv my.csv --user  # Create user glossary

See full command reference: docs/en/reference/cli-commands.md


Python API

import asyncio
from kttc.agents import AgentOrchestrator
from kttc.llm import OpenAIProvider
from kttc.core import TranslationTask

async def check_quality():
    llm = OpenAIProvider(api_key="your-key")
    orchestrator = AgentOrchestrator(llm)

    task = TranslationTask(
        source_text="Hello, world!",
        translation="¡Hola, mundo!",
        source_lang="en",
        target_lang="es",
    )

    report = await orchestrator.evaluate(task)
    print(f"MQM Score: {report.mqm_score}")
    print(f"Status: {report.status}")

asyncio.run(check_quality())

See full API reference: docs/en/reference/api-reference.md


Documentation

📚 Complete documentation is available in docs/

Quick Links

Documentation Structure

Following the Diátaxis framework:

  • 📚 Tutorials - Learn by doing (step-by-step guides)
  • 📖 Guides - Solve specific problems (how-to guides)
  • 📋 Reference - Look up technical details (API, CLI)
  • 💡 Explanation - Understand concepts (architecture, design)

Translations

Languages: 🇺🇸 English (primary) · 🇷🇺 Русский · 🇨🇳 中文 · 🇮🇳 हिन्दी · 🇮🇷 فارسی

Full documentation available in:


Development

Setup

git clone https://github.com/kttc-ai/kttc.git
cd kttc
python3.11 -m venv venv
source venv/bin/activate
pip install -e ".[dev]"
pre-commit install

Quality Standards

  • Type Checking: mypy --strict
  • Formatting: black (line length: 100)
  • Linting: ruff
  • Testing: pytest with asyncio support
# Run all checks
pre-commit run --all-files
pytest --cov=kttc

Contributing

We welcome contributions! See CONTRIBUTING.md for guidelines.

Quick start:

  1. Fork the repository
  2. Create a feature branch
  3. Make changes and add tests
  4. Run quality checks: pre-commit run --all-files && pytest
  5. Submit a pull request

Please read our Code of Conduct before contributing.


Security

For security vulnerabilities, see SECURITY.md. Do not open public issues for security concerns.


License

Licensed under the Apache License 2.0. See LICENSE for details.

Copyright 2025 KTTC AI (https://github.com/kttc-ai)


Citation

If you use KTTC in your research:

@software{kttc2025,
  title = {KTTC: Knowledge Translation Transmutation Core},
  author = {KTTC AI},
  year = {2025},
  url = {https://github.com/kttc-ai/kttc},
  version = {0.1.0}
}

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kttc-0.3.1.tar.gz (191.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kttc-0.3.1-py3-none-any.whl (261.9 kB view details)

Uploaded Python 3

File details

Details for the file kttc-0.3.1.tar.gz.

File metadata

  • Download URL: kttc-0.3.1.tar.gz
  • Upload date:
  • Size: 191.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for kttc-0.3.1.tar.gz
Algorithm Hash digest
SHA256 49a478fb59b9fb0cc68dfc61fb48a989f92fa1f982530fedcf669f96c72f884c
MD5 e86e8f53c315025a6efb3dbb89d0ab29
BLAKE2b-256 4da97e6a23de28bb4b0291e161777d3ef5b5feef84b99a08313fce5b9dd5e179

See more details on using hashes here.

Provenance

The following attestation bundles were made for kttc-0.3.1.tar.gz:

Publisher: publish.yml on kttc-ai/kttc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kttc-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: kttc-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 261.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for kttc-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 50798cb2ab32e64b31e36800eff8a2f4210dd8d2edeadb681d4e50f5d8454030
MD5 5f0b1a6c21d7e7e39815afd00be3b286
BLAKE2b-256 56f7d067dc4781860914848626ce7961815abe725d763e51fadd3e12039f3439

See more details on using hashes here.

Provenance

The following attestation bundles were made for kttc-0.3.1-py3-none-any.whl:

Publisher: publish.yml on kttc-ai/kttc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page