Assisters API
SDKs

PHP SDK

Install and use the Assisters PHP SDK

Installation

composer require assisters-dev/assisters-php

Quick 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

MethodDescription
$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()}";
}