softcreatr / php-openai-sdk
一个强大且易于使用的PHP SDK,用于OpenAI API,允许您无缝地将高级AI功能集成到PHP项目中。
2.2.0
2024-02-04 06:27 UTC
Requires
- php: >=7.4
- ext-fileinfo: *
- ext-json: *
- ext-mbstring: *
- psr/http-client: ^1.0
- psr/http-factory: ^1.0
- psr/http-message: ^1.0
Requires (Dev)
README
这个PHP库为OpenAI API提供了一个简单的封装,让您可以轻松地将OpenAI API集成到PHP项目中。
特性
- 轻松与OpenAI API集成
- 支持所有OpenAI API端点
- 使用符合PSR-17和PSR-18规范的HTTP客户端和API请求工厂
要求
- PHP 7.4或更高版本
- PSR-17 HTTP工厂实现(例如,guzzle/psr7 或 nyholm/psr7)
- PSR-18 HTTP客户端实现(例如,guzzlehttp/guzzle 或 symfony/http-client)
安装
您可以通过 Composer 安装库
composer require softcreatr/php-openai-sdk
用法
首先,将库包含到您的项目中
<?php require_once 'vendor/autoload.php';
然后,使用您的API密钥、组织(可选)、HTTP客户端、HTTP请求工厂和HTTP流工厂创建一个OpenAI类的实例
use SoftCreatR\OpenAI\OpenAI; $apiKey = 'your_api_key'; $organization = 'your_organization_id'; // optional // Replace these lines with your chosen PSR-17 and PSR-18 compatible HTTP client and factories $httpClient = new YourChosenHttpClient(); $requestFactory = new YourChosenRequestFactory(); $streamFactory = new YourChosenStreamFactory(); $uriFactory = new YourChosenUriFactory(); $openAI = new OpenAI($requestFactory, $streamFactory, $uriFactory, $httpClient, $apiKey, $organization);
现在您可以使用魔术方法 __call
调用任何受支持的OpenAI API端点
$response = $openAI->listModels(); // Process the API response if ($response->getStatusCode() === 200) { $models = json_decode($response->getBody()->getContents(), true); print_r($models); } else { echo "Error: " . $response->getStatusCode(); }
有关如何使用每个端点的更多详细信息,请参阅 OpenAI API文档 和存储库中提供的 示例。
支持的方法
模型
聊天完成
图片
- 创建图片 - 示例
createImage(array $options = [])
- 创建图片编辑 - 示例
createImageEdit(array $options = [])
- 创建图片变体 - 示例
createImageVariation(array $options = [])
嵌入
音频
- 创建转录 - 示例
createTranscription(array $options = [])
- 创建翻译 - 示例
createTranslation(array $options = [])
- 创建语音 - 示例
createSpeech(array $options = [])
文件
- 列出文件 - 示例
listFiles()
- 创建文件 - 示例
createFile(array $options = [])
- 删除文件 - 示例
deleteFile(string $id)
- 检索文件 - 示例
retrieveFile(string $id)
- 下载文件 - 示例
downloadFile(string $id)
微调
- 创建微调作业 - 示例
createFineTuningJob(array $options = [])
- 列出微调作业 - 示例
listFineTuningJobs()
- 检索微调作业 - 示例
retrieveFineTuningJob(string $id)
- 取消微调 - 示例
cancelFineTuning(string $id)
- 列出微调事件 - 示例
listFineTuningEvents(string $id, array $options = [])
内容审核
更新日志
有关详细变更和更新列表,请参阅 CHANGELOG.md 文件。我们遵循 语义化版本控制 并为每个版本记录显著变更。
已知问题和限制
流支持
目前,在 createCompletion
和 createChatCompletion
方法中不支持流。计划尽快解决这个问题。目前,请注意,这些方法不能用于流式传输目的。
如果您需要流式功能,请考虑使用替代实现或关注该库的未来更新。
许可证
本库采用 ISC 许可证。有关更多信息,请参阅 LICENSE 文件。