Langertha
view release on metacpan or search on metacpan
lib/Langertha/Engine/AnthropicBase.pm view on Meta::CPAN
);
has inference_geo => (
is => 'ro',
isa => 'Str',
predicate => 'has_inference_geo',
);
sub update_request {
my ( $self, $request ) = @_;
$request->header('x-api-key', $self->api_key);
$request->header('content-type', 'application/json');
$request->header('anthropic-version', $self->api_version);
}
sub default_model { croak "".(ref $_[0])." requires model to be set" }
sub chat_request {
my ( $self, $messages, %extra ) = @_;
lib/Langertha/Engine/Gemini.pm view on Meta::CPAN
$request_body{generationConfig} = \%generation_config if %generation_config;
return $self->generate_http_request(
POST => $url,
sub { $self->chat_response(shift) },
%request_body,
%extra,
);
}
sub update_request {
my ( $self, $request ) = @_;
$request->header('content-type', 'application/json');
}
sub chat_response {
my ( $self, $response ) = @_;
my $data = $self->parse_response($response);
# Gemini response format: candidates[0].content.parts[].text
my $candidates = $data->{candidates} || [];
lib/Langertha/Engine/LMStudio.pm view on Meta::CPAN
has api_key => (
is => 'ro',
lazy_build => 1,
);
sub _build_api_key {
return $ENV{LANGERTHA_LMSTUDIO_API_KEY};
}
sub update_request {
my ( $self, $request ) = @_;
my $key = $self->api_key;
$request->header('Authorization', 'Bearer '.$key) if defined $key;
}
sub default_model { 'default' }
sub default_response_size { 1024 }
sub openapi_file { yaml => dist_file('Langertha','lmstudio.yaml') };
lib/Langertha/Plugin/Langfuse.pm view on Meta::CPAN
$opts{start_time} ? ( startTime => $opts{start_time} ) : (),
$opts{end_time} ? ( endTime => $opts{end_time} ) : (),
$opts{parent_observation_id}? ( parentObservationId => $opts{parent_observation_id} ) : (),
$opts{metadata} ? ( metadata => $opts{metadata} ) : (),
},
};
return $id;
}
sub update_trace {
my ( $self, %opts ) = @_;
return unless $self->enabled;
my $id = $opts{id} // croak("update_trace requires id");
push @{$self->_batch}, {
id => _id(),
type => 'trace-create',
timestamp => _timestamp(),
body => {
id => $id,
$opts{output} ? ( output => $opts{output} ) : (),
lib/Langertha/Role/OpenAICompatible.pm view on Meta::CPAN
use Langertha::ToolCall;
has api_key => (
is => 'ro',
lazy_build => 1,
);
sub _build_api_key { undef }
sub update_request {
my ( $self, $request ) = @_;
my $key = $self->api_key;
$request->header('Authorization', 'Bearer '.$key) if defined $key;
}
sub openapi_file { yaml => dist_file('Langertha','openai.yaml') };
sub default_embedding_model { 'text-embedding-3-large' }
( run in 2.382 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )