phpexperts/ChatGPT-speaker

一个简单易用的扩展,用于轻松处理OpenAI的ChatGPT API。

v1.0.0 2024-02-27 13:18 UTC

This package is auto-updated.

Last update: 2024-08-27 15:07:34 UTC


README

Maintainability Test Coverage

ChatGPTSpeaker是PHP Experts, Inc.的项目,旨在简化访问OpenAI API。

此库使用RESTSpeaker通过组合架构模式利用Guzzle HTTP客户端。

您可能对使用和/或与此项目相邻的项目非常感兴趣

安装

通过Composer

composer require phpexperts/chatgpt-speaker

将项目根目录中的.env.example复制到.env,并输入您的OpenAI凭据。

变更日志

请参阅变更日志以获取有关最近更改的更多信息。

使用方法

默认情况下,返回JSON结果。

    $chatGPT = new ChatGPTSpeaker();

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

响应

{
  "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"
        }
      ]
    }
  }
}

要获取与ChatGPT用户界面相同的基本结果,请执行以下操作

    $chatGPT = new ChatGPTSpeaker();
    $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);

 

(从RESTSpeaker) 将RESTSpeaker API请求转换为curl CLI命令,请这样做

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!'."}]}'

(从RESTSpeaker) 获取由api.openai.com返回的原始有效负载

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

用例

✔ 返回与chat.openai.com相同的响应。

测试

phpunit

路线图

  • 实现Models端点
  • 实现Images端点
  • 实现Files端点
  • 实现Audio端点
  • 实现新的Embeddings端点以进行AI模型训练
  • 实现新的Fine Tunings端点以自定义GPT代理
  • 实现Moderations端点
  • 实现GPT5代理的支持

贡献者

Theodore R. Smith theodore@phpexperts.pro
GPG指纹:4BF8 2613 1C34 87AC D28F 2AD8 EB24 A91D D612 5690
CEO:PHP Experts, Inc.

许可证

CC-BY-ND-4.0 创意共享非派生v4.0:请参阅许可证文件以获取更多信息。

您可以分叉此项目。

您不得将此项目的任何派生作品发布到您的网站或第三方托管。