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
-
requiredYour 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').
- 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
-
requiredThe 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:
RT: CPAN's request tracker (report bugs here)
Search CPAN
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.