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 | 乔丹·托特 |