1. Go to this page and download the library: Download sitehostnz/sthai library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
sitehostnz / sthai example snippets
use SthAI\Client;
$client = new Client(); // or new Client('your-api-key')
$response = $client->chat("What's the tallest mountain in New Zealand?");
echo $response->output()->text;
$client->chat("I'm planning a tramping trip to Fiordland.");
$client->chat('What should I pack?'); // the model sees the earlier turn
$client->chat('Standalone question.', useHistory: false); // neither sends nor records
$client->clearHistory();
$client->chat('Be brief: why is the sky blue?', systemPrompt: 'You are terse.');
$response = $client->chat('What is 17 * 23?', useThinking: true, maxTokens: 2000);
echo $response->output()->reasoning; // or $client->lastReasoning()
echo $response->output()->text;
$client->chat("What's in this image?", imageFiles: ['photo.png']);
$client->chat('Compare these.', imageUrls: [
'https://example.com/a.jpg',
'https://example.com/b.jpg',
]);
$vector = $client->embed("The Beehive is New Zealand's parliament building.")->output()[0];
$queryVector = $client->embed('Where does NZ parliament sit?', query: true)->output()[0];
$small = $client->embed('Compact vector, please.', dimensions: 512)->output()[0];
$vectors = $client->batchEmbed([
'Wellington is the capital of New Zealand.',
'Auckland is the largest city in New Zealand.',
])->output();
$response = $client->rerank(
'What is the capital of New Zealand?',
[
'The capital of New Zealand is Wellington.',
'Auckland has the largest population in New Zealand.',
"The All Blacks are New Zealand's national rugby team.",
],
topN: 2,
);
foreach ($response->output() as $result) {
echo $result->relevanceScore, ' ', $result->document->text, PHP_EOL;
}
$client = new Client(autoSession: true);
echo $client->sessionPin(); // the pin in use, e.g. to persist it
$client->setSessionPin('my-pin'); // pin to a known session (null unpins)
$pin = $client->newSession(); // switch to a freshly generated pin
$client->healthy(); // true if the server is up
foreach ($client->models() as $card) {
echo $card->id, PHP_EOL;
}
use SthAI\Client;
use SthAI\Exception\ApiException;
use SthAI\Exception\ClientException;
use SthAI\Exception\InputException;
use SthAI\Exception\ResponseException;
use SthAI\Exception\TransportException;
$client = new Client();
try {
$response = $client->chat('hello', model: 'no-such-model');
} catch (ClientException $e) {
echo $e->getStatusCode(), ' ', $e->getErrorType(), ' ', $e->getMessage();
// 404 invalid_request_error 404: model not found (invalid_request_error)
} catch (ApiException $e) {
// 5xx: the server had a problem
} catch (TransportException $e) {
// the request never completed: connection failure, timeout, TLS error
} catch (InputException $e) {
// bad arguments to a client method
} catch (ResponseException $e) {
// the server returned something the client couldn't use
}
bash
git clone https://github.com/sitehostnz/sthai-php.git
cd sthai-php
composer install
composer test # phpunit
composer stan # phpstan
composer cs # php-cs-fixer (dry run)
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.