定制 hyperf/qdrant-client 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

hyperf/qdrant-client

最新稳定版本:v0.0.3

Composer 安装命令:

composer require hyperf/qdrant-client

包简介

README 文档

README

Install

composer require hyperf/qdrant-client

Usage

An example to create a collection:

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);

统计信息

  • 总下载量: 9.14k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 4
  • 点击次数: 1
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 4
  • Watchers: 3
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2023-07-24