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.2.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.2-py3-none-any.whl (261.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kttc-0.3.2.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.2.tar.gz
Algorithm Hash digest
SHA256 34dac458ea462903488fcdfcf9983511d8dc54746ead09e290a07804529dba0f
MD5 15414af8ec2f44c27fc6d1339fea4333
BLAKE2b-256 989cd16dacc86a869f06c7384987523e8a5961031015e4e2f535af2acdf4260a

See more details on using hashes here.

Provenance

The following attestation bundles were made for kttc-0.3.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: kttc-0.3.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 348ea752c2501054ca3cd0309ead1b737998ed89b944a00d3653abd7dbf4ec2b
MD5 4fe0a5e96b926e0571a52cdf0034bc88
BLAKE2b-256 48697e6ca003e48d09b6605df894174a2ec6f81316d94a0efff1e305fd04c447

See more details on using hashes here.

Provenance

The following attestation bundles were made for kttc-0.3.2-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