PHP code example of citomni / vectorembedding
1. Go to this page and download the library: Download citomni/vectorembedding 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/ */
citomni / vectorembedding example snippets
declare(strict_types=1);
return [
\CitOmni\VectorEmbedding\Boot\Registry::class,
];
$this->app->vectorEmbedder->embed(array $request): array
[
'profile' => 'openai-text-embedding-3-small',
'items' => [
[
'type' => 'text',
'text' => 'Lejelovens regler om depositum',
],
],
'options' => [
'dimensions' => null,
'task_type' => null,
],
'provider_options' => [],
'debug' => [
'
[
'type' => 'text',
'text' => 'Lejelovens regler om depositum',
]
[
'profile' => 'openai-text-embedding-3-small',
'provider' => 'openai',
'model' => 'text-embedding-3-small',
'vectors' => [
[
'index' => 0,
'vector' => [0.123, -0.456, 0.789],
'meta' => [
'input_type' => 'text',
],
],
],
'usage' => [
'input_tokens' => 10,
'total_tokens' => 10,
],
'raw' => null,
'meta' => [
'cached' => false,
'cache_key' => null,
'duration_ms' => 123,
],
]
declare(strict_types=1);
return [
'vectorembedding' => [
'default_profile' => 'openai-text-embedding-3-small',
'debug' => [
'mbedding-3-small' => [
'adapter' => \CitOmni\VectorEmbedding\Adapter\OpenAiEmbeddingAdapter::class,
'provider' => 'openai',
'model' => 'text-embedding-3-small',
'base_url' => 'https://api.openai.com/v1',
'api_key' => '',
'timeout' => 60,
'connect_timeout' => 10,
],
'gemini-embedding-001' => [
'adapter' => \CitOmni\VectorEmbedding\Adapter\GeminiEmbeddingAdapter::class,
'provider' => 'google',
'model' => 'gemini-embedding-001',
'base_url' => 'https://generativelanguage.googleapis.com/v1beta',
'api_key' => '',
'timeout' => 60,
'connect_timeout' => 10,
],
],
],
];
interface EmbeddingAdapterInterface {
public function buildUrl(): string;
public function buildRequest(array $request): array;
public function buildHeaders(array $request): array;
public function parseResponse(array $transportResult, array $request): array;
}
$this->app->curl->execute(array $request): array
declare(strict_types=1);
$response = $this->app->vectorEmbedder->embed([
'profile' => 'openai-text-embedding-3-small',
'items' => [
[
'type' => 'text',
'text' => 'Lejelovens regler om depositum',
],
],
'options' => [
'dimensions' => 256,
],
]);
$vector = $response['vectors'][0]['vector'] ?? [];
bash
php bin/citomni vectorembedding:embed "Lejelovens regler om depositum"
bash
php bin/citomni vectorembedding:embed "Lejelovens regler om depositum" --profile="openai-text-embedding-3-small"
bash
php bin/citomni vectorembedding:embed "Test" --dimensions=256
php bin/citomni vectorembedding:embed "Depositum ved leje" --task-type="RETRIEVAL_QUERY"
bash
php bin/citomni vectorembedding:embed "Lejelovens regler om depositum" --json