vector io
1.0.0

該庫對矢量數據集使用通用格式,以輕鬆從所有矢量數據庫中導出和導入數據。
通過對此民意調查的投票/評論要求對VectordB的支持
請參閱貢獻部分,以增加對您喜歡的矢量數據庫的支持。

| 向量數據庫 | 進口 | 出口 |
|---|---|---|
| 松果 | ✅ | ✅ |
| QDRANT | ✅ | ✅ |
| 米爾維斯 | ✅ | ✅ |
| GCP頂點AI矢量搜索 | ✅ | ✅ |
| kdb.ai | ✅ | ✅ |
| Lancedb | ✅ | ✅ |
| DataStax Astra DB | ✅ | ✅ |
| 色度 | ✅ | ✅ |
| 渦輪機 | ✅ | ✅ |
| 向量數據庫 | 進口 | 出口 |
|---|
| 向量數據庫 | 進口 | 出口 |
|---|---|---|
| Azure AI搜索 | ||
| 編織 | ||
| Mongodb地圖集 | ||
| OpenSearch | ||
| Apache Cassandra | ||
| TXTAI | ||
| PGVECTOR | ||
| sqlite-vss |
| 向量數據庫 | 進口 | 出口 |
|---|---|---|
| Vespa | ||
| 馬克 | ||
| Elasticsearch | ||
| REDIS搜索 | ||
| Clickhouse | ||
| usearch | ||
| 岩石 | ||
| Epsilla | ||
| Activeloop Deep Lake | ||
| AperturedB | ||
| 板條 | ||
| Meilisearch | ||
| myscale | ||
| neo4j | ||
| 核DB | ||
| Oramasearch | ||
| typessense | ||
| Anari ai | ||
| 山谷 | ||
| Apache Solr |
pip install vdf-iogit clone https://github.com/AI-Northstar-Tech/vector-io.git
cd vector-io
pip install -r requirements.txt class NamespaceMeta ( BaseModel ):
namespace : str
index_name : str
total_vector_count : int
exported_vector_count : int
dimensions : int
model_name : str | None = None
vector_columns : List [ str ] = [ "vector" ]
data_path : str
metric : str | None = None
index_config : Optional [ Dict [ Any , Any ]] = None
schema_dict : Optional [ Dict [ str , Any ]] = None
class VDFMeta ( BaseModel ):
version : str
file_structure : List [ str ]
author : str
exported_from : str
indexes : Dict [ str , List [ NamespaceMeta ]]
exported_at : str
id_column : Optional [ str ] = Noneexport_vdf --help
usage: export_vdf [-h] [-m MODEL_NAME]
[--max_file_size MAX_FILE_SIZE]
[--push_to_hub | --no-push_to_hub]
[--public | --no-public]
{pinecone,qdrant,kdbai,milvus,vertexai_vectorsearch}
...
Export data from various vector databases to the VDF format for vector datasets
options:
-h, --help show this help message and exit
-m MODEL_NAME, --model_name MODEL_NAME
Name of model used
--max_file_size MAX_FILE_SIZE
Maximum file size in MB (default:
1024)
--push_to_hub, --no-push_to_hub
Push to hub
--public, --no-public
Make dataset public (default:
False)
Vector Databases:
Choose the vectors database to export data from
{pinecone,qdrant,kdbai,milvus,vertexai_vectorsearch}
pinecone Export data from Pinecone
qdrant Export data from Qdrant
kdbai Export data from KDB.AI
milvus Export data from Milvus
vertexai_vectorsearch
Export data from Vertex AI Vector
Searchimport_vdf --help
usage: import_vdf [-h] [-d DIR] [-s | --subset | --no-subset]
[--create_new | --no-create_new]
{milvus,pinecone,qdrant,vertexai_vectorsearch,kdbai}
...
Import data from VDF to a vector database
options:
-h, --help show this help message and exit
-d DIR, --dir DIR Directory to import
-s, --subset, --no-subset
Import a subset of data (default: False)
--create_new, --no-create_new
Create a new index (default: False)
Vector Databases:
Choose the vectors database to export data from
{milvus,pinecone,qdrant,vertexai_vectorsearch,kdbai}
milvus Import data to Milvus
pinecone Import data to Pinecone
qdrant Import data to Qdrant
vertexai_vectorsearch
Import data to Vertex AI Vector Search
kdbai Import data to KDB.AI此Python腳本用於重新安裝矢量數據集。它採用VDF格式的向量數據集的目錄,並使用新模型重新安裝它。該腳本還允許您指定包含文本的列的名稱。
reembed_vdf --help
usage: reembed_vdf [-h] -d DIR [-m NEW_MODEL_NAME]
[-t TEXT_COLUMN]
Reembed a vector dataset
options:
-h, --help show this help message and exit
-d DIR, --dir DIR Directory of vector dataset in
the VDF format
-m NEW_MODEL_NAME, --new_model_name NEW_MODEL_NAME
Name of new model to be used
-t TEXT_COLUMN, --text_column TEXT_COLUMN
Name of the column containing
text to be embeddedexport_vdf -m hkunlp/instructor-xl --push_to_hub pinecone --environment gcp-starter
import_vdf -d /path/to/vdf/dataset milvus
reembed_vdf -d /path/to/vdf/dataset -m sentence-transformers/all-MiniLM-L6-v2 -t title請按照提示選擇要導出的索引和ID範圍。
如果您希望為新的矢量數據庫添加導入/導出實現,則還必須為同一數據庫實現導入/導出的另一面。請分配存儲庫,並為進出導出腳本發送PR。
添加新的矢量數據庫(ABC)的步驟:
src/vdf_io/export_vdf/export_abc.py和src/vdf_io/import_vdf/import_abc.py for New DB。出口:
進口:
如果您想更改VDF規範,請在發送PR之前打開問題以討論更改。
如果您想提高進出口腳本的效率,請分配存儲庫並發送PR。
在存儲庫中運行腳本將向AI Northstar Tech發送匿名用法數據,以幫助改善庫。
您可以通過將環境變量DISABLE_TELEMETRY_VECTORIO設置為1來選擇退出。
如有任何疑問,請在LinkedIn上的回購或消息Dhruv Anand上打開問題
達魯·阿南德(Dhruv Anand) ? | Jayesh Rathi | 喬丹·托特 |