sgraaf/chatgpt-php

A convenient PHP wrapper for the OpenAI ChatGPT API.

0.1.0 2023-03-07 10:42 UTC

This package is auto-updated.

Last update: 2024-12-05 00:18:23 UTC


README

Packagist Version Packagist PHP Version pre-commit.ci status Packagist License

A convenient PHP wrapper for the OpenAI ChatGPT API.

Installation

You can install ChatGPT PHP via Composer:

composer require sgraaf/chatgpt-php

Usage

Initialize the client

// initialize the client
$client = new ChatGPT\Client('YOUR_OPENAI_API_KEY');

Use a custom system message

// initialize the client
$client = new ChatGPT\Client('YOUR_OPENAI_API_KEY', system_message: 'You are a helpful assistant that translates English to French.');

Start a conversation

// provide an instruction
$message = $client->chat('Who won the world series in 2020?');
var_dump($message);
// string(53) "The Los Angeles Dodgers won the World Series in 2020."

// continue the conversation
$message = $client->chat('Where was it played?');
var_dump($message);
// string(116) "The 2020 World Series was played in Arlington, Texas at the Globe Life Field, the home stadium of the Texas Rangers."

View the conversation history

var_dump($client->messages);
// array(5) {
//   [0]=>
//   array(2) {
//     ["role"]=>
//     string(6) "system"
//     ["content"]=>
//     string(28) "You are a helpful assistant."
//   }
//   [1]=>
//   array(2) {
//     ["role"]=>
//     string(4) "user"
//     ["content"]=>
//     string(33) "Who won the world series in 2020?"
//   }
//   [2]=>
//   array(2) {
//     ["role"]=>
//     string(9) "assistant"
//     ["content"]=>
//     string(53) "The Los Angeles Dodgers won the World Series in 2020."
//   }
//   [3]=>
//   array(2) {
//     ["role"]=>
//     string(4) "user"
//     ["content"]=>
//     string(20) "Where was it played?"
//   }
//   [4]=>
//   array(2) {
//     ["role"]=>
//     string(9) "assistant"
//     ["content"]=>
//     string(116) "The 2020 World Series was played in Arlington, Texas at the Globe Life Field, the home stadium of the Texas Rangers."
//   }
// }

Clear the conversation history

// clear the conversation history
$client->clear();

var_dump($client->messages);
// array(1) {
//   [0]=>
//   array(2) {
//     ["role"]=>
//     string(6) "system"
//     ["content"]=>
//     string(28) "You are a helpful assistant."
//   }
// }