NAME

App::Greple::xlate::llm::gpt5 - GPT-5.5 translation engine (llm backend) for greple xlate module

SYNOPSIS

greple -Mxlate --xlate-engine=gpt5 --xlate=ja file.txt

DESCRIPTION

This module provides GPT-5.5 translation support for the App::Greple::xlate module, calling the model through the llm command line tool (https://llm.datasette.io/) instead of the older gpty command. The engine name, translation prompt, and cache files (*.xlate-gpt5-*.json) are fully compatible with the gpty backend engine App::Greple::xlate::gpty::gpt5.

The llm command must be installed and must know the gpt-5.5 model (llm 0.31 or later ships it built in; check with llm models | grep gpt-5.5). If the call fails, this module inspects the environment and reports what is missing.

This engine is context-aware: when re-translating changed blocks it receives the surrounding source text, neighboring translation pairs, and the previous version of the changed text, controlled by the --xlate-context-window option of App::Greple::xlate.

CONFIGURATION

This engine uses the following defaults:

  • model: gpt-5.5

  • reasoning_effort: none (fastest; suitable for translation)

  • verbosity: low

  • max_length: 3000 characters per batch

No temperature option is sent: reasoning models reject non-default temperatures, and llm only sends the option when specified.

No max_tokens option is sent either. On llm 0.31 the gpt-5.5 model goes through the Chat Completions API, which rejects max_tokens for reasoning models (it requires max_completion_tokens, which llm does not expose); on llm 0.32+ the Responses API would accept it as max_output_tokens. Omitting the cap works on both, and translation output is naturally bounded by the input size.

ENVIRONMENT VARIABLES

  • OPENAI_API_KEY - OpenAI API key, read by the llm command. Alternatively use llm keys set openai.

RELATED OPTIONS

  • --xlate-maxlen=chars - Maximum characters sent per request (defaults to this engine's value of 3000 when unset)

  • --xlate-maxline=n - Maximum lines sent per request (default 0 = unlimited); useful as a safety valve if a large batch causes a response element-count mismatch

  • --xlate-debug - Dump the llm command and parameters

  • --xlate-setopt backend=gpty - Force the old gpty backend engine for comparison

DEPENDENCIES

SEE ALSO

AUTHOR

Kazumasa Utashiro

LICENSE

Copyright 2026 Kazumasa Utashiro.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.