The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

OpenAI::API - Perl interface to OpenAI API

SYNOPSIS

    use OpenAI::API;
    use OpenAI::API::Request::Chat;

    my $config = OpenAI::API->new();    # uses OPENAI_API_KEY environment variable

    my $request = OpenAI::API::Request::Chat->new(
        model    => "gpt-3.5-turbo",
        messages => [
            { "role" => "system",    "content" => "You are a helpful assistant." },
            { "role" => "user",      "content" => "Who won the world series in 2020?" },
            { "role" => "assistant", "content" => "The Los Angeles Dodgers won the World Series in 2020." },
            { "role" => "user",      "content" => "Where was it played?" }
        ],
    );

    my $res = $request->send($config);

    my $message = $res->{choices}[0]{message};

DESCRIPTION

OpenAI::API is a Perl module that provides an interface to the OpenAI API, which allows you to generate text, translate languages, summarize text, and perform other tasks using the language models developed by OpenAI.

To use the OpenAI::API module, you will need an API key, which you can obtain by signing up for an account on the OpenAI website.

METHODS

new()

Creates a new OpenAI::API object.

  • api_key [optional]

    Your API key. Default: $ENV{OPENAI_API_KEY}.

    Attention: never commit API keys to your repository. Use the OPENAI_API_KEY environment variable instead.

    See: Best Practices for API Key Safety.

  • api_base [optional]

    The api_base URL for the OpenAI API. Default: 'https://api.openai.com/v1/'.

  • timeout [optional]

    The timeout value, in seconds. Default: 60 seconds.

RESOURCES

SEE ALSO

OpenAI Reference Overview

AUTHOR

Nelson Ferraz <nferraz@gmail.com>

SUPPORT

This module is developed on GitHub.

Send ideas, feedback, tasks, or bugs to GitHub Issues.

COPYRIGHT AND LICENSE

Copyright (C) 2022, 2023 by Nelson Ferraz

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.30.2 or, at your option, any later version of Perl 5 you may have available.