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

NAME

OpenAI::API::Request::Completion - completions endpoint

SYNOPSIS

    use OpenAI::API::Request::Completion;

    my $request = OpenAI::API::Request::Completion->new(
        model       => "text-davinci-003",
        prompt      => "Say this is a test",
        max_tokens  => 7,
        temperature => 0,
    );

    my $res = $request->send();    # or: $request->send( http_response => 1 );

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

DESCRIPTION

Given a prompt, the model will return one or more predicted completions.

METHODS

new()

  • model

    ID of the model to use.

    See Models overview for a reference of them.

  • prompt

    The prompt for the text generation.

  • suffix [optional]

    The suffix that comes after a completion of inserted text.

  • max_tokens [optional]

    The maximum number of tokens to generate.

    Most models have a context length of 2048 tokens (except for the newest models, which support 4096.

  • temperature [optional]

    What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.

  • top_p [optional]

    An alternative to sampling with temperature, called nucleus sampling.

    We generally recommend altering this or temperature but not both.

  • n [optional]

    How many completions to generate for each prompt.

    Use carefully and ensure that you have reasonable settings for max_tokens and stop.

  • stop [optional]

    Up to 4 sequences where the API will stop generating further tokens. The returned text will not contain the stop sequence.

  • frequency_penalty [optional]

    Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far.

  • presence_penalty [optional]

    Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far.

  • best_of [optional]

    Generates best_of completions server-side and returns the "best" (the one with the highest log probability per token).

    Use carefully and ensure that you have reasonable settings for max_tokens and stop.

send()

Sends the request and returns a data structured similar to the one documented in the API reference.

send_async()

Send a request asynchronously. Returns a Promises promise that will be resolved with the decoded JSON response. See OpenAI::API::Request for an example.

SEE ALSO

OpenAI API Reference: Completions