Skip to content

lang_tools.llm.translation

TranslationChain: translate text between any two supported languages.

Classes:

Functions:

TranslationInput

Bases: BaseModelKwargs

Inputs to TranslationChain.

Attributes:

  • text (str) –

    Source text.

  • source_language (str) –

    ISO 639-1 code of the source.

  • target_language (str) –

    ISO 639-1 code of the destination.

TranslationOutput

Bases: BaseModel

Outputs from TranslationChain.

Attributes:

  • translated_text (str) –

    The translated string.

build_translation_chain

build_translation_chain(
    chat_config: ChatConfig,
    *,
    base_prompt_fol: Path | None = None,
    version: str = "auto",
) -> StructuredLLMChain[
    TranslationInput, TranslationOutput
]

Build a translation chain wired to chat_config.

Parameters:

  • chat_config (ChatConfig) –

    llm-core ChatConfig (e.g. ChatOpenAIConfig).

  • base_prompt_fol (Path | None, default: None ) –

    Override prompts root; defaults to in-package folder.

  • version (str, default: 'auto' ) –

    Prompt version ("1" or "auto").

Returns:

Source code in src/lang_tools/llm/translation.py
def build_translation_chain(
    chat_config: ChatConfig,
    *,
    base_prompt_fol: Path | None = None,
    version: str = "auto",
) -> StructuredLLMChain[TranslationInput, TranslationOutput]:
    """Build a translation chain wired to `chat_config`.

    Args:
        chat_config: `llm-core` `ChatConfig` (e.g. `ChatOpenAIConfig`).
        base_prompt_fol: Override prompts root; defaults to in-package folder.
        version: Prompt version (``"1"`` or ``"auto"``).

    Returns:
        `StructuredLLMChain` ready to `invoke` / `ainvoke`.
    """
    return StructuredLLMChain(
        chat_config=chat_config,
        prompt_str=load_prompt(
            "translation",
            base_prompt_fol=base_prompt_fol,
            version=version,
        ),
        input_model=TranslationInput,
        output_model=TranslationOutput,
    )