project
Zvec - Alibabaがオープンソース化した軽量組み込み型ベクトルデータベース。
Zvecは、アリババがオープンソース化した軽量な組み込み型ベクトルデータベースで、同社の内部エンジンであるProximaをベースに構築されています。従来のスタンドアロン型デプロイメントソリューションとは異なり、Zvecはアプリケーションプロセス内で直接動作するため、追加のサーバーや設定は不要です。インストールも簡単です。
Zvecとは何ですか?
Zvecはアリババによるオープンソースプロジェクトです。軽量組み込みベクターデータベースProximaエンジンをベースとするZvecは、従来のスタンドアロン型デプロイメントソリューションとは異なり、アプリケーションプロセス内で直接動作するため、追加のサーバーや設定は不要です。インストール後すぐに使用できます。Zvecは、数十億個のベクトルに対するミリ秒単位の検索、密なベクトルと疎なベクトルを組み合わせたクエリをサポートし、簡潔なPython APIを提供します。Zvecは、RAGや画像/コード検索などのAIシナリオに適しています。
Zvecの主な機能
-
インプロセスアーキテクチャこれは組み込みライブラリとしてアプリケーションプロセス内で直接実行されるため、別途サーバーをデプロイしたり、外部インフラストラクチャを管理したりする必要はありません。
-
高性能ベクトル検索アリババのProximaエンジンをベースにしており、数十億のベクトルに対してミリ秒単位で類似性検索を実行できる。
-
複数種類のベクトルをサポート密ベクトルと疎ベクトルの両方をサポートし、単一のクエリで混合検索を実行できます。
-
クエリのフィルタリングとグループ化セマンティック検索と属性フィルタリング条件の組み合わせ、および指定された次元による検索結果のグループ化と集計をサポートしています。
-
ミニマリスト開発の経験直感的なPython APIを提供し、pip経由でインストール後、60秒以内に設定して使用できます。
-
幅広い展開能力ノートパソコン、サーバー、CLIツール、エッジデバイスなど、さまざまな環境で動作可能であり、RAG、画像検索、コード検索といったAIアプリケーションのシナリオに適しています。
Zvecの使い方
- インストール
pip install zvec # Python 3.10-3.12 环境下执行 pip 命令安装 zvec 库。
- データ構造を定義する
import zvec
schema = zvec.CollectionSchema(name="my_db", vectors=zvec.VectorSchema("vec", zvec.DataType.VECTOR_FP32,
128))
# 创建名为 my_db 的集合结构,定义 128 维 32 位浮点向量字段 vec。
- データベースの作成/開く
collection = zvec.create_and_open(path="./data", schema=schema)
# 在本地 ./data 目录创建并打开数据库,若已存在则直接打开。
- ベクターデータを挿入する
collection.insert(zvec.Doc(id="1", vectors={"vec":
[0.1,
0.2,
...]}))
# 将包含 ID 为 "1" 的 128 维向量数据插入到集合中。
- 類似性検索を実行する
results = collection.query(zvec.VectorQuery("vec", vector=[0.1,
0.2,
...]), topk=10)
# 用查询向量在集合中搜索最相似的 10 条结果并返回。
Zvecのプロジェクトアドレス
- プロジェクト公式サイト:https://zvec.org/
- GitHubリポジトリ:https://github.com/alibaba/zvec
Zvecの応用シナリオ
- RAGナレッジベースQ&A文書の断片はベクトルとして生成され、Zvecに格納されます。ユーザーが質問をすると、関連する断片が取得され、大規模モデルのコンテキストに挿入されることで、正確な知識拡張生成が実現されます。
- Eコマース商品検索このシステムは、製品画像と説明をマルチモーダルなベクトルに変換することで、ユーザーが参照画像をアップロードしたりキーワードを入力したりする際に、視覚的または意味的に類似した製品を迅速に取得できるようにします。
- インテリジェントなコード検索コードスニペットとコメントをベクトルにエンコードすることで、開発者は要件を自然言語で記述し、類似のコード実装を検索できるようになります。
- 推奨システムのリコールユーザーの行動とアイテムの特徴をベクトル化し、類似するユーザーやアイテムを候補セットとしてリアルタイムで取得することで、パーソナライズされたレコメンデーションのための最初のリコールラウンドをサポートします。
- バイオインフォマティクス解析タンパク質配列データや遺伝子発現データをベクターにエンコードし、類似性検索によって機能的に類似した生体分子や疾患標的を迅速に発見する。