NAME

OpenAI::API - access GPT models via OpenAI API

SYNOPSIS

use OpenAI::API;

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

my $completions = $openai->completions(
    model  => 'text-davinci-003',
    prompt => 'What is the capital of France?',
);

my $edits = $openai->edits(
    model       => 'text-davinci-edit-001',
    input       => 'What day of the wek is it?',
    instruction => 'Fix the spelling mistakes',
);

my $moderations = $openai->moderations(
    model => 'text-moderation-latest',
    input => 'I want to kill them.',
);

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.

  • endpoint [optional]

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

completions()

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

Mandatory parameters:

  • model

    ID of the model to use.

  • prompt

    The prompt for the text generation.

More info: OpenAI::API::Request::Completion

edits()

Creates a new edit for the provided input, instruction, and parameters.

Mandatory parameters:

  • model

    ID of the model to use. You can use the text-davinci-edit-001 or code-davinci-edit-001 model with this endpoint.

  • instruction

    The instruction that tells the model how to edit the prompt.

  • input [optional, but often required]

    The input text to use as a starting point for the edit.

More info: OpenAI::API::Request::Edit

embeddings()

Get a vector representation of a given input that can be easily consumed by machine learning models and algorithms.

  • model

  • input

More info: OpenAI::API::Request::Embedding

moderations()

Given a input text, outputs if the model classifies it as violating OpenAI's content policy.

Mandatory parameters:

  • input

Documentation: Moderations

SEE ALSO

OpenAI Reference Overview

AUTHOR

Nelson Ferraz <nferraz@gmail.com>

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.