Langertha
view release on metacpan or search on metacpan
lib/Langertha/Engine/Perplexity.pm view on Meta::CPAN
sub default_model { 'sonar' }
sub _build_static_models {[
{ id => 'sonar' },
{ id => 'sonar-pro' },
{ id => 'sonar-reasoning' },
{ id => 'sonar-reasoning-pro' },
]}
__PACKAGE__->meta->make_immutable;
1;
__END__
=pod
=encoding UTF-8
=head1 NAME
Langertha::Engine::Perplexity - Perplexity Sonar API
=head1 VERSION
version 0.502
=head1 SYNOPSIS
use Langertha::Engine::Perplexity;
my $perplexity = Langertha::Engine::Perplexity->new(
api_key => $ENV{PERPLEXITY_API_KEY},
model => 'sonar-pro',
);
print $perplexity->simple_chat('What are the latest Perl releases?');
# Streaming
$perplexity->simple_chat_stream(sub {
print shift->content;
}, 'Summarize recent Perl news');
# Async with Future::AsyncAwait
use Future::AsyncAwait;
my $response = await $perplexity->simple_chat_f('What is new in Perl?');
=head1 DESCRIPTION
Provides access to Perplexity's Sonar API. Composes
L<Langertha::Role::OpenAICompatible> with Perplexity's endpoint
(C<https://api.perplexity.ai>). Perplexity models are search-augmented
LLMs with real-time web access; responses include citations alongside
generated text.
Available models: C<sonar> (default, fast), C<sonar-pro> (deeper analysis),
C<sonar-reasoning> (chain-of-thought), C<sonar-reasoning-pro> (most capable).
Limitations: tool calling, embeddings, and transcription are not supported.
Only chat and streaming are available.
Get your API key at L<https://www.perplexity.ai/settings/api> and set
C<LANGERTHA_PERPLEXITY_API_KEY>.
B<THIS API IS WORK IN PROGRESS>
=head1 SEE ALSO
=over
=item * L<https://status.perplexity.com/> - Perplexity service status
=item * L<https://docs.perplexity.ai/> - Official Perplexity API documentation
=item * L<Langertha::Role::OpenAICompatible> - OpenAI API format role
=item * L<Langertha::Engine::DeepSeek> - Another search-augmented engine (web-aware reasoning)
=back
=head1 SUPPORT
=head2 Issues
Please report bugs and feature requests on GitHub at
L<https://github.com/Getty/langertha/issues>.
=head2 IRC
Join C<#langertha> on C<irc.perl.org> or message Getty directly.
=head1 CONTRIBUTING
Contributions are welcome! Please fork the repository and submit a pull request.
=head1 AUTHOR
Torsten Raudssus <getty@cpan.org>
=head1 COPYRIGHT AND LICENSE
This software is copyright (c) 2026 by Torsten Raudssus L<https://raudssus.de/>.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
=cut
( run in 1.343 second using v1.01-cache-2.11-cpan-0bb4e1dffa6 )