autonomo/ai-speaker

A quick and easy extension for effortlessly handling many LLM APIs

Installs: 0

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/autonomo/ai-speaker

1.0.0 2025-10-20 12:39 UTC

This package is not auto-updated.

Last update: 2025-10-21 11:02:36 UTC


README

Maintainability Test Coverage

AISpeaker is a project of Autonomo AI, FZCO, meant to ease the accessing of the OpenAI APIs.

This library uses RESTSpeaker to utilize the Guzzle HTTP Client via the Composition architectural pattern.

You might be very interested in the projects that used by and/or adjacent to this project:

Installation

Via Composer

composer require autonomo/ai-speaker

Copy .env.example to .env in your project's root directory and put in your OpenAI credentials.

Change log

Please see the changelog for more information on what has changed recently.

Usage

By default, JSON results are returned.

    $chatGPT = new AISpeaker();

    $prompt = <<<PROMPT
    Please create a table of the PHP major version releases along with the date of release.
    PROMPT;
    $response = $chatGPT->prompt($prompt);

Response:

{
  "model": "gpt-3.5-turbo",
  "messages": {
    "0": {
      "role": "user",
      "content": "format responses in JSON"
    },
    "1": {
      "role": "user",
      "content": "    Please create a table of the PHP major version releases along with the date of release."
    },
    "role": "assistant",
    "content": {
      "php_major_version_releases": [
        {
          "version": "PHP 3",
          "release_date": "June 6, 1998"
        },
        {
          "version": "PHP 4",
          "release_date": "May 22, 2000"
        },
        {
          "version": "PHP 5",
          "release_date": "July 13, 2004"
        },
        {
          "version": "PHP 6",
          "release_date": "No official release"
        },
        {
          "version": "PHP 7",
          "release_date": "December 3, 2015"
        },
        {
          "version": "PHP 8",
          "release_date": "November 26, 2020"
        }
      ]
    }
  }
}

To get the same basic results as the ChatGPT user interface, do the following:

    $chatGPT = new AISpeaker();
    $chatGPT->returnText();

    $prompt = <<<PROMPT
        Please create a table of the PHP major version releases along with the date of release.
    PROMPT;
    $response = $chatGPT->prompt($prompt);

(From RESTSpeaker) To convert the RESTSpeaker API request into a curl CLI command, do this:

composer require --dev octoper/cuzzle
$curlCLI = $chatGPT->api->http->testHandler->getRecords()[0];

Output:
curl 'https://api.openai.com/v1/chat/completions' -A 'PHPExperts/RESTSpeaker-2.4 (PHP 8.3.3)' \
   -H 'Content-Type: application/json'  -H 'Authorization: Bearer [redacted]' \
   -X POST  -d '{"model":"gpt-3.5-turbo","messages":[{"role":"user","content":"Say 'Hello, World!'."}]}'

(From RESTSpeaker) To get the raw payload as returned by api.openai.com:

$rawReturn = (string)$chatGPT->api->getLastResponse()->getBody();

Use cases

✔ Returns the same responses as chat.openai.com.

Testing

phpunit

Roadmap

  • Implement the Models endpoint
  • Implement the Images endpoints
  • Implement the Files endpoint
  • Implement the Audio endpoints
  • Implement the new Embeddings endpoints for AI Model Training
  • Implement the new Fine Tunings Endpoints for custom GPT Agents
  • Implement the Moderations endpoint
  • Implement support for the GPT5 Agents

Contributors

Theodore R. Smith theodore.smith@autonomo.codes GPG Fingerprint: 6CAC F838 454C 8912 8AA2 26DB 89DC D8F1 3BB9 33B3 CEO: PHP Experts, Inc.

License

CC-BY-ND-4.0 Creative Commons NoDerivations v4.0: Please see the license file for more information.

YOU MAY FORK THIS PROJECT.

YOU MAY NOT PUBLISH ANY DERIVATION of this project to either your own website or a third-party host.