cognee/cognee/tasks/translation/__init__.py
andikarachman daf1227caf refactor: rename OpenAI translation provider to LLM provider
- Rename OpenAITranslationProvider to LLMTranslationProvider
- Rename openai_provider.py to llm_provider.py
- Change provider type from 'openai' to 'llm' in TranslationProviderType
- Update all test files to use 'llm' provider and has_llm_api_key()
- Add AliasChoices for explicit env var mapping in TranslationConfig
- Update translate_content.py to fallback to config.target_language
- Update cognify.py docstrings to reference 'llm' provider
- Update .env.template and test README documentation

The LLM provider now uses whatever LLM is configured in cognee
(OpenAI, Azure, Ollama, Anthropic, etc.) instead of being tied to OpenAI.
2026-01-04 12:06:50 +07:00

96 lines
2.7 KiB
Python

"""
Translation task for Cognee.
This module provides multilingual content translation capabilities,
allowing automatic detection and translation of non-English content
to a target language while preserving original text and metadata.
Main Components:
- translate_content: Main task function for translating document chunks
- translate_text: Convenience function for translating single texts
- batch_translate_texts: Batch translation for multiple texts
- detect_language: Language detection utility
- TranslatedContent: DataPoint model for translated content
- LanguageMetadata: DataPoint model for language information
Supported Translation Providers:
- LLM (default): Uses the configured LLM via existing infrastructure
- Google Translate: Requires google-cloud-translate package
- Azure Translator: Requires Azure Translator API key
Example Usage:
```python
from cognee.tasks.translation import translate_content, translate_text
# Translate document chunks in a pipeline
translated_chunks = await translate_content(
chunks,
target_language="en",
translation_provider="llm"
)
# Translate a single text
result = await translate_text("Bonjour le monde!")
print(result.translated_text) # "Hello world!"
```
"""
from .config import get_translation_config, TranslationConfig
from .detect_language import (
detect_language,
detect_language_async,
LanguageDetectionResult,
get_language_name,
)
from .exceptions import (
TranslationError,
LanguageDetectionError,
TranslationProviderError,
UnsupportedLanguageError,
TranslationConfigError,
)
from .models import TranslatedContent, LanguageMetadata
from .providers import (
TranslationProvider,
TranslationResult,
get_translation_provider,
LLMTranslationProvider,
GoogleTranslationProvider,
AzureTranslationProvider,
)
from .translate_content import (
translate_content,
translate_text,
batch_translate_texts,
)
__all__ = [
# Main task functions
"translate_content",
"translate_text",
"batch_translate_texts",
# Language detection
"detect_language",
"detect_language_async",
"LanguageDetectionResult",
"get_language_name",
# Models
"TranslatedContent",
"LanguageMetadata",
# Configuration
"get_translation_config",
"TranslationConfig",
# Providers
"TranslationProvider",
"TranslationResult",
"get_translation_provider",
"LLMTranslationProvider",
"GoogleTranslationProvider",
"AzureTranslationProvider",
# Exceptions
"TranslationError",
"LanguageDetectionError",
"TranslationProviderError",
"UnsupportedLanguageError",
"TranslationConfigError",
]