shevant/open-ai-client
Open AI API 的 PHP 客户端
1.0.0
2024-06-28 10:04 UTC
Requires
- php: ^8.1.0
- nyholm/psr7: ^1.8
- php-http/discovery: ^1.17
- psr/http-client: ^1.0
- psr/http-client-implementation: *
- psr/http-factory-implementation: *
- symfony/http-client: ^7.1
Requires (Dev)
- guzzlehttp/guzzle: ^7.0
- phpstan/phpstan: ^1.11
- phpunit/phpunit: ^9.0
- rector/rector: ^1.1.0
README
ChatGptClient 是 OpenAI API 的 API 客户端,提供了一个方便的接口来交互各种 OpenAI 资源。
入门
需要 PHP 8.1+
首先,通过 Composer 包管理器安装 OpenAI
composer require shevant/open-ai-client
确保允许 php-http/discovery
Composer 插件运行或手动安装客户端,如果您的项目尚未集成 PSR-18 客户端。
composer require guzzlehttp/guzzle
运行测试
要运行所有测试,请使用以下命令
./vendor/bin/phpunit --bootstrap vendor/autoload.php tests
如果已全局安装 PHPUnit,您可以运行
phpunit --bootstrap vendor/autoload.php tests
##使用方法
require 'vendor/autoload.php'; use OpenAiClient\OpenAiClient; use GuzzleHttp\Client; $transport = new Client(); $apiKey = 'your-api-key'; $client = new OpenAiClient($transport, $apiKey); // Working with audio resources $audio = $client->audio(); // Use $audio methods to interact with audio resources // Working with chat resources $chat = $client->chat(); // Use $chat methods to interact with chat resources // Working with vector stores $vectorStores = $client->vectorStores();
资源
该客户端提供以下 OpenAI 资源的访问
-
音频
:与音频资源交互。public function createSpeech(array $params): array; public function createTranscription(array $params): array; public function createTranslation(array $params): array;
-
聊天
:与聊天资源交互。public function createChatCompletion(array $params): array;
-
嵌入
:与嵌入交互。public function createCreateEmbeddings(array $params): array;
-
微调
:与微调模型交互。public function createFineTuningJob(array $params): array; public function listFineTuningJobs(array $params): array; public function listFineTuningEvents(string $fineTuningJobId, array $params): array; public function listFineTuningCheckpoints(string $fineTuningJobId, array $params): array; public function retrieveFineTuningJob(string $fineTuningJobId): array; public function cancelFineTuning(string $fineTuningJobId): array;
-
批量
:与批量操作交互。public function createBatch(array $params): array; public function retrieveBatch(string $batchId): array; public function cancelBatch(string $batchId): array; public function listBatch(array $params): array;
-
文件
:与文件交互。public function uploadFile(array $params): array; public function listFiles(string $batchId): array; public function retrieveFile(string $fileId): array; public function deleteFile(string $fileId): array; public function retrieveFileContent(string $fileId): array;
-
图像
:与图像交互。public function createImage(array $params): array; public function createImageEdit(array $params): array; public function createImageVariation(array $params): array;
-
模型
:与模型交互。public function listModels(): array; public function retrieveModel(string $model): array; public function deleteFineTunedModel(string $model): array;
-
审查
:与审查交互。public function createModeration(array $params): array;
-
助手
:与助手交互。public function createAssistant(array $params): array; public function listAssistants(array $params): array; public function retrieveAssistant(string $assistantId): array; public function modifyAssistant(string $assistantId, array $params): array; public function deleteAssistant(string $assistantId): array;
-
线程
:与线程交互。public function createThread(array $params): array; public function retrieveThread(string $threadId): array; public function modifyThread(string $threadId, array $params): array; public function modifyAssistant(string $assistantId, array $params): array; public function deleteThread(string $threadId): array;
-
消息
:与消息交互。public function createMessage(string $threadId, array $params): array; public function listMessages(string $threadId, array $params): array; public function retrieveMessage(string $threadId, string $messageId): array; public function modifyMessage(string $threadId, string $messageId, array $params): array; public function deleteMessage(string $threadId, string $messageId): array;
-
运行
:与运行交互。public function createRun(string $threadId, array $params): array; public function createThreadAndRun(array $params): array; public function listRuns(string $threadId, array $params): array; public function retrieveRun(string $threadId, string $runId): array; public function modifyRun(string $threadId, string $runId, array $params): array; public function submitToolOutputsToRun(string $threadId, string $runId, array $params): array; public function cancelRun(string $threadId, string $runId): array;
-
运行步骤
:与运行步骤交互。public function listRunSteps(string $threadId, string $runId, array $params): array; public function retrieveRunStep(string $threadId, string $runId, string $stepId): array;
-
向量存储
:与向量存储交互。public function createVectorStore(array $params): array; public function listVectorStore(array $params): array; public function retrieveVectorStore(string $vectorStoreId): array; public function modifyVectorStore(string $vectorStoreId, array $params): array; public function deleteVectorStore(string $vectorStoreId): array;
-
向量存储文件
:与向量存储文件交互。public function createVectorStoreFile(string $vectorStoreId, array $params): array; public function listVectorStoreFiles(string $vectorStoreId, array $params): array; public function retrieveVectorStoreFile(string $vectorStoreId, string $fileId): array; public function deleteVectorStoreFile(string $vectorStoreId, string $fileId): array;
-
向量存储文件批量
:与向量存储文件批量交互。public function createVectorStoreFileBatch(string $vectorStoreId, array $params): array; public function retrieveVectorStoreFileBatch(string $vectorStoreId, string $batchId): array; public function cancelVectorStoreFileBatch(string $vectorStoreId, string $batchId): array; public function listVectorStoreFilesBatch(string $vectorStoreId, string $batchId): array;