NAME

AI::Chat - Interact with AI Chat APIs

VERSION

Version 0.1

SYNOPSIS

use AI::Chat;

my $chat  = AI::Chat->new(
    key   => 'your-api-key',
    api   => 'OpenAI',
    model => 'gpt-3.5-turbo-0125',
);

my $reply = $chat->prompt("What is the meaning of life?");
print $reply;

DESCRIPTION

This module provides a simple interface for interacting with AI Chat APIs, currently supporting OpenAI.

The AI chat agent can be given a role and then passed prompts. It will reply to the prompts in natural language. Being AI, the responses are non-deterministic, that, is the same prompt will result in diferent responses on different occasions.

Further control of the creativity of the responses is possible by specifying at optional temperature parameter.

METHODS

new

my $chat = AI::Chat->new(%params);

Creates a new AI::Chat object.

Parameters

key

required Your API key for the chosen service.

api

The API to use (currently only 'OpenAI' is supported).

model

The language model to use (default: 'gpt-3.5-turbo-0125').

See https://platform.openai.com/docs/models/overview

role

The role to use for the bot in conversations.

This tells the bot what it's purpose when answering prompts.

For example: "You are a world class copywriter famed for creating content that is immediately engaging with a lighthearted, storytelling style".

prompt

my $reply = $chat->prompt($prompt, $temperature);

Sends a prompt to the AI Chat API and returns the response.

Parameters

prompt

required The prompt to send to the AI.

temperature

The creativity level of the response (default: 1.0).

Temperature ranges from 0 to 2. The higher the temperature, the more creative the bot will be in it's responses.

success

my $success = $chat->success();

Returns true if the last operation was successful.

error

my $error = $chat->error();

Returns the error message if the last operation failed.

SEE ALSO

https://openai.com - OpenAI official website

AUTHOR

Ian Boddison <ian at boddison.com>

BUGS

Please report any bugs or feature requests to bug-ai-chat at rt.cpan.org, or through the web interface at https://rt.cpan.org/NoAuth/ReportBug.html?Queue=bug-ai-chat. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc AI::Chat

You can also look for information at:

COPYRIGHT AND LICENSE

Copyright (C) 2024 by Ian Boddison

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.