shevant/open-ai-client

Open AI API 的 PHP 客户端

1.0.0 2024-06-28 10:04 UTC

This package is auto-updated.

Last update: 2024-09-28 11:30:14 UTC


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;