phpexperts / ChatGPT-speaker
一个简单易用的扩展,用于轻松处理OpenAI的ChatGPT API。
v1.0.0
2024-02-27 13:18 UTC
Requires
- php: >=7.4
- ext-curl: *
- ext-json: *
- phpexperts/rest-speaker: ^2.5
- phpexperts/simple-dto: ^3.5
Requires (Dev)
- monolog/monolog: ^2.8
- octoper/cuzzle: ^3.1
- phpexperts/dockerize: *
- phpexperts/laravel-env-polyfill: *
- phpstan/phpstan: *
- phpunit/phpunit: 8.*|9.*
- symfony/var-dumper: *
Suggests
README
ChatGPTSpeaker是PHP Experts, Inc.的项目,旨在简化访问OpenAI API。
此库使用RESTSpeaker通过组合架构模式利用Guzzle HTTP客户端。
您可能对使用和/或与此项目相邻的项目非常感兴趣
- PHP Evolver
composer require phpexperts/evolver
- PHP中唯一两个遗传算法(GA)库之一,但非常易于使用。
- PHP中为数不多的AI/机器学习库之一。
- https://github.com/PHPExpertsInc/php-evolver
- RESTSpeaker
composer require phpexperts/rest-speaker
- 一种非常简单的方式,可以消费REST API。基于Guzzle构建,但具有更好的界面。
- https://github.com/PHPExpertsInc/RESTSpeaker
- SimpleDTO
composer require phpexperts/simple-dto
- 轻松构建适用于PHP 7.2+的验证DTO。
- https://github.com/PHPExpertsInc/SimpleDTO
安装
通过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:请参阅许可证文件以获取更多信息。
您可以分叉此项目。
您不得将此项目的任何派生作品发布到您的网站或第三方托管。