SDKs
PHP SDK
Install and use the Assisters PHP SDK
Installation
composer require assisters-dev/assisters-phpQuick Start
<?php
require 'vendor/autoload.php';
use Assisters\Client;
$client = new Client(apiKey: $_ENV['ASSISTERS_API_KEY']);
$response = $client->chat->completions->create([
'model' => 'assisters-chat-v1',
'messages' => [
['role' => 'user', 'content' => 'Hello, world!'],
],
]);
echo $response->choices[0]->message->content;Available Methods
| Method | Description |
|---|---|
$client->chat->completions->create(array $params) | Create a chat completion; pass 'stream' => true for streaming |
$client->embeddings->create(array $params) | Generate embeddings for one or more input strings |
$client->moderations->create(array $params) | Moderate text content |
$client->rerank->create(array $params) | Rerank documents against a query |
$client->models->list() | List available models |
$client->audio->transcriptions->create(array $params) | Transcribe an audio file |
Parameters Reference
// chat/completions
[
'model' => 'assisters-chat-v1',
'messages' => [['role' => 'user', 'content' => '...']],
'temperature' => 0.7, // optional
'max_tokens' => 1024, // optional
'stream' => false, // optional
]
// embeddings
[
'model' => 'assisters-chat-v1',
'input' => ['text one', 'text two'],
]
// rerank
[
'model' => 'assisters-chat-v1',
'query' => 'search query',
'documents' => ['doc 1', 'doc 2'],
'top_n' => 3,
]
// audio/transcriptions
[
'file' => fopen('/path/to/audio.mp3', 'r'),
'model' => 'assisters-chat-v1',
'language' => 'en',
]Streaming
$stream = $client->chat->completions->create([
'model' => 'assisters-chat-v1',
'messages' => [['role' => 'user', 'content' => 'Tell me a story']],
'stream' => true,
]);
foreach ($stream as $chunk) {
echo $chunk->choices[0]->delta->content ?? '';
ob_flush();
flush();
}Error Handling
use Assisters\Exceptions\ApiException;
use Assisters\Exceptions\NetworkException;
try {
$response = $client->chat->completions->create([...]);
} catch (ApiException $e) {
echo "API error {$e->getStatusCode()}: {$e->getMessage()}";
} catch (NetworkException $e) {
echo "Network error: {$e->getMessage()}";
}