NAME

Langertha::Engine::Remote - Base class for all remote engines

VERSION

version 0.302

SYNOPSIS

package My::Engine;
use Moose;

extends 'Langertha::Engine::Remote';

has '+url' => ( default => 'https://api.example.com' );

sub default_model { 'my-model' }

DESCRIPTION

Root base class for all HTTP-based LLM engines in Langertha. Composes Langertha::Role::JSON, Langertha::Role::HTTP, and Langertha::Role::PluginHost, and makes the url attribute required.

All engines in the distribution extend this class, either directly (Langertha::Engine::Anthropic, Langertha::Engine::Gemini, Langertha::Engine::Ollama, Langertha::Engine::AKI) or via the OpenAI-compatible intermediate class Langertha::Engine::OpenAIBase.

rate_limit

my $rl = $engine->rate_limit;

Returns the Langertha::RateLimit from the most recent API response, or undef if no rate limit headers were present.

has_rate_limit

if ($engine->has_rate_limit) { ... }

Returns true if the engine has rate limit data from the most recent response.

SEE ALSO

SUPPORT

Issues

Please report bugs and feature requests on GitHub at https://github.com/Getty/langertha/issues.

CONTRIBUTING

Contributions are welcome! Please fork the repository and submit a pull request.

AUTHOR

Torsten Raudssus <torsten@raudssus.de> https://raudss.us/

COPYRIGHT AND LICENSE

This software is copyright (c) 2026 by Torsten Raudssus.

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