1. Go to this page and download the library: Download hyperf/qdrant-client 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/ */
hyperf / qdrant-client example snippets
use App\VectorStore\Qdrant\Config;
use Hyperf\Qdrant\Api\Collections;
use Hyperf\Qdrant\Api\Points;
use Hyperf\Qdrant\Connection\HttpClient;
use Hyperf\Qdrant\Struct\Collections\Enums\Distance;
use Hyperf\Qdrant\Struct\Collections\VectorParams;
use Hyperf\Qdrant\Struct\Points\ExtendedPointId;
use Hyperf\Qdrant\Struct\Points\Point\PointStruct;
use Hyperf\Qdrant\Struct\Points\SearchCondition\FieldCondition;
use Hyperf\Qdrant\Struct\Points\SearchCondition\Filter;
use Hyperf\Qdrant\Struct\Points\SearchCondition\Match\MatchValue;
use Hyperf\Qdrant\Struct\Points\VectorStruct;
$client = new HttpClient(new Config(...));
$collections = new Collections($client);
$collections->createCollection('test_collection', new VectorParams(1536, Distance::COSINE));
# insert vector data
$points = new Points($client);
$points->setWait(true);
$points->upsertPoints('test_collection', [
new PointStruct(
new ExtendedPointId($key + 10000),
new VectorStruct($data['embeddings'][0]),
[
# payload
'name' => $data['name'],
'description' => $data['description'],
'image' => $data['image'],
],
),
]);
# similarity search
$result = $points->searchPoints(
'test_collection',
new VectorStruct($data['embeddings'][0]),
3,
withPayload: new WithPayload(true),
);
print_r($result);
# payload filter
$result = $points->searchPoints(
'test_collection',
new VectorStruct($data['embeddings'][0]),
3,
new Filter(
must: [
new FieldCondition('name', new MatchValue('qdrant')),
]
),
withPayload: new WithPayload(true),
);
print_r($result);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.