Vector stores
vector store 在一个 vector store 中存储 embedded 数据并执行相似性搜索。
选择 embedding model:
Select embeddings model:
pip install -qU langchain-openai
import getpass
import os
if not os.environ.get("OPENAI_API_KEY"):
os.environ["OPENAI_API_KEY"] = getpass.getpass("Enter API key for OpenAI: ")
from langchain_openai import OpenAIEmbeddings
embeddings = OpenAIEmbeddings(model="text-embedding-3-large")
选择 vector store:
Select vector store:
pip install -qU langchain-core
from langchain_core.vectorstores import InMemoryVectorStore
vector_store = InMemoryVectorStore(embeddings)
| Vectorstore | Delete by ID | Filtering | Search by Vector | Search with score | Async | Passes Standard Tests | Multi Tenancy | IDs in add Documents |
|---|---|---|---|---|---|---|---|---|
| AstraDBVectorStore | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
| Chroma | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
| Clickhouse | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| CouchbaseSearchVectorStore | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ |
| DatabricksVectorSearch | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
| ElasticsearchStore | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
| FAISS | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
| InMemoryVectorStore | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ |
| Milvus | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| MongoDBAtlasVectorSearch | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
| openGauss | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ | ✅ |
| PGVector | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
| PineconeVectorStore | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ |
| QdrantVectorStore | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ |
| Redis | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
| Weaviate | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ |
| SQLServer | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
All Vectorstores
| Name | Description |
|---|---|
| Activeloop Deep Lake | Activeloop Deep Lake 是一个多模态向量存储,用于存储嵌入及其元数据,包括文本、JSON、图像、音频、视频等。它将数据保... |
| Aerospike | Aerospike Vector Search (AVS) 是 Aerospike 数据库的一个扩展,能够跨存储在 Aerospike 中... |
| 阿里云 OpenSearch | 阿里云 Opensearch 是一个用于开发智能搜索服务的一站式平台。OpenSearch 构建于阿里巴巴开发的分布式搜索引擎之上。Ope... |
| AnalyticDB | AnalyticDB for PostgreSQL 是一个大规模并行处理 (MPP) 数据仓库服务,专为在线分析海量数据而设计。 |
| Annoy | Annoy (Approximate Nearest Neighbors Oh Yeah) 是一个 C++ 库,提供 Python 绑定,... |
| Apache Doris | Apache Doris 是一个用于实时分析的现代数据仓库。 |
| ApertureDB | ApertureDB 是一个数据库,可存储、索引和管理多模态数据,如文本、图像、视频、边界框和嵌入,及其关联的元数据。 |
| Astra DB Vector Store | 本页提供了一个使用 Astra DB 作为 Vector Store 的快速入门指南。 |
| Atlas | Atlas 是 Nomic 公司打造的一个平台,用于与小型及互联网规模的非结构化数据集进行交互。它使任何人都能在浏览器中可视化、搜索和共享... |
| AwaDB | AwaDB 是专为 LLM 应用所使用的 embedding 向量的搜索和存储设计的 AI Native 数据库。 |
| Azure Cosmos DB Mongo vCore | 本 Notebook 展示了如何利用此集成 向量数据库 来存储集合中的文档、创建索引并使用近似最近邻算法(如 COS(余弦距离)、L2(欧... |
| Azure Cosmos DB No SQL | 本笔记本展示了如何利用这个集成的 向量数据库 在集合中存储文档、创建索引,并使用近似最近邻算法(如 COS(余弦距离)、L2(欧几里得距离... |
| Azure AI Search | Azure AI Search(以前称为 Azure Search 和 Azure Cognitive Search)是一项云搜索服务,为... |
| Bagel | Bagel (一个用于人工智能的开放推理平台),就像是人工智能数据的 GitHub。 |
| BagelDB | BagelDB (Open Vector Database for AI) 就像是 AI 数据的 GitHub。 |
| 百度云 Elasticsearch VectorSearch | 百度云 VectorSearch 是一项完全托管的企业级分布式搜索和分析服务,与开源版本 100% 兼容。百度云 VectorSearch... |
| 百度向量数据库 | 百度向量数据库 是百度智能云研发和运营的,开服即托管的企业级分布式向量数据库服务。它在存储、检索和分析多维向量数据方面表现出色。Vecto... |
| Apache Cassandra | 本页面提供了一个使用 Apache Cassandra® 作为向量存储的快速入门指南。 |
| Chroma | 本笔记本介绍了如何开始使用 Chroma 向量存储。 |
| Clarifai | Clarifai 是一个 AI 平台,提供从数据探索、数据标注、模型训练、评估到推理的全方位 AI 生命周期服务。在上传输入后,Clari... |
| ClickHouse | ClickHouse 是最快、资源效率最高的开源数据库,适用于实时应用程序和分析,提供完整的 SQL 支持以及广泛的函数,可协助用户编写分... |
| CloudflareVectorize | 本笔记本介绍了如何开始使用 CloudflareVectorize vector store。 |
| Couchbase | Couchbase 是一款屡获殊荣的分布式 NoSQL 云数据库,为您的所有云、移动、AI 和边缘计算应用提供无与伦比的多功能性、性能、可... |
| DashVector | DashVector 是一个全托管的向量数据库服务,支持高维稠密向量和稀疏向量,以及实时插入和过滤搜索。它旨在自动扩展,并能适应不同的应用... |
| Databricks | Databricks Vector Search 是一个无服务器的相似性搜索引擎,允许您在向量数据库中存储数据的向量表示,包括元数据。借助... |
| IBM Db2 Vector Store 和 Vector Search | LangChain 的 Db2 集成 (langchain-db2) 为使用 IBM 关系数据库 Db2 v12.1.2 及更高版本提供了... |
| DingoDB | DingoDB 是一个分布式多模向量数据库,结合了数据湖和向量数据库的特点,可以存储任何类型和大小的数据(键值对、PDF、音频、视频等)。... |
| DocArray HnswSearch | DocArrayHnswSearch 是 Docarray 提供的一个轻量级 Document Index 实现,它完全在本地运行,最适合... |
| DocArray内存搜索 | DocArrayInMemorySearch 是由 Docarray 提供的一个文档索引,它将文档存储在内存中。对于小型数据集来说,这是一... |
| Amazon Document DB | Amazon DocumentDB (with MongoDB Compatibility) 可以轻松地在云中设置、运行和扩展兼容 Mon... |
| DuckDB | 本笔记本展示了如何使用 DuckDB 作为向量存储。 |
| 中国移动ECloud ElasticSearch VectorSearch | China Mobile ECloud VectorSearch 是一项全托管的企业级分布式搜索和分析服务。中国移动ECloud Vect... |
| Elasticsearch | Elasticsearch 是一个分布式的、RESTful 的搜索和分析引擎,能够同时执行向量搜索和词汇搜索。它构建在 Apache Lu... |
| Epsilla | Epsilla 是一个开源向量数据库,它利用先进的并行图遍历技术进行向量索引。Epsilla 的许可协议为 GPL-3.0。 |
| Faiss | Facebook AI Similarity Search (FAISS) 是一个用于高效相似性搜索和密集向量聚类的库。它包含在任何大小的... |
| Faiss (Async) | Facebook AI Similarity Search (Faiss) 是一个用于高效相似性搜索和密集向量聚类的库。它包含在任何大小的... |
| FalkorDBVectorStore | FalkorDB 是一个开源图数据库,集成了向量相似性搜索功能 |
| Gel | 使用 gel 作为后端实现的 LangChain 向量存储 抽象。 |
| Google AlloyDB for PostgreSQL | AlloyDB 是一种完全托管的关系型数据库服务,提供高吞吐量、无缝集成和出色的可扩展性。AlloyDB 与 PostgreSQL 100... |
| Google BigQuery 向量搜索 | Google Cloud BigQuery 向量搜索 可让您使用 GoogleSQL 进行语义搜索,使用向量索引获得快速的近似结果,或使用... |
| Google Cloud SQL for MySQL | Cloud SQL 是一个完全托管的关系数据库服务,提供高吞吐量、无缝集成和出色的可扩展性。它提供 PostgreSQL、MySQL 和 ... |
| Google Cloud SQL for PostgreSQL | Cloud SQL 是一项完全托管的关系数据库服务,具有高性能、无缝集成和卓越的可扩展性。它提供 PostgreSQL、MySQL 和 S... |
| Firestore | Firestore 是一个无服务器的面向文档的数据库,可根据任何需求进行扩展。通过利用 Firestore 的 Langchain 集成,... |
| Google Memorystore for Redis | Google Memorystore for Redis 是一项全托管服务,由 Redis 内存数据存储提供支持,可用于构建提供亚毫秒级数... |
| Google Spanner | Spanner 是一个可高度扩展的数据库,它将无限的可扩展性与关系语义结合起来,例如二级索引、强一致性、模式和 SQL,在一个简单的解决方... |
| Google Vertex AI Feature Store | Google Cloud Vertex Feature Store streamlines your ML feature managem... |
| Google Vertex AI Vector Search | 本 Notebook 演示了如何使用与 Google Cloud Vertex AI Vector Search 向量数据库相关的各项功能。 |
| Hippo | Transwarp Hippo 是一款企业级云原生分布式向量数据库,支持海量基于向量的数据集的存储、检索和管理。它能高效解决向量相似性搜索... |
| Hologres | Hologres 是阿里云开发的一款统一的实时数据仓库服务。您可以使用 Hologres 实时写入、更新、处理和分析海量数据。 |
| Infinispan | Infinispan 是一个开源键值数据网格,它可以作为单个节点运行,也可以分布式运行。 |
| Jaguar 向量数据库 | 1. 这是一个分布式向量数据库 |
| KDB.AI | KDB.AI 是一个强大的知识型向量数据库和搜索引擎,通过提供高级搜索、推荐和个性化功能,让您能够利用实时数据构建可扩展、可靠的 AI 应... |
| Kinetica | Kinetica 是一个数据库,集成了对向量相似性搜索的支持。 |
| LanceDB | LanceDB 是一个开源的向量搜索数据库,基于持久化存储构建,极大地简化了嵌入向量的检索、过滤和管理。完全开源。 |
| Lantern | Lantern 是一个开源的 Postgres 向量相似性搜索工具。 |
| Lindorm | 本笔记本介绍了如何开始使用 Lindorm 向量存储。 |
| LLMRails | LLMRails 是一个用于构建 GenAI 应用程序的 API 平台。它提供了一个易于使用的 API,用于文档索引和查询,该 API 由... |
| ManticoreSearch VectorStore | ManticoreSearch 是一个开源搜索引擎,提供快速、可扩展且用户友好的功能。它起源于 Sphinx Search 的一个分支,并... |
| MariaDB | LangChain 的 MariaDB 集成 (langchain-mariadb) 为处理 MariaDB 11.7.1 及更高版本提供... |
| Marqo | 此Notebook展示了如何使用与 Marqo 向量存储相关的功能。 |
| Meilisearch | Meilisearch 是一个开源、闪电般快速且高度相关的搜索引擎。它提供了许多出色的默认设置,可帮助开发人员构建响应迅速的搜索体验。 |
| Amazon MemoryDB | Vector Search 入门和 langchain 集成指南。 |
| Milvus | Milvus 是一个数据库,用于存储、索引和管理由深度神经网络和其他机器学习 (ML) 模型生成的海量 embedding 向量。 |
| Momento Vector Index (MVI) | MVI:您数据最高效、最易用的无服务器向量索引。开始使用 MVI,只需注册一个账户即可。无需处理基础设施、管理服务器或担心扩展问题。MVI... |
| MongoDB Atlas | 本Jupyter Notebook介绍了如何在LangChain中使用langchain-mongodb包进行MongoDB Atlas向... |
| MyScale | MyScale 是一个基于开源 ClickHouse 构建的、为 AI 应用和解决方案优化的云数据库。 |
| Neo4j Vector Index | Neo4j 是一个开源图数据库,集成了对向量相似性搜索的支持。 |
| NucliaDB | 您可以使用本地 NucliaDB 实例或使用 Nuclia Cloud。 |
| Oceanbase | 本指南介绍如何开始使用 Oceanbase vector store。 |
| openGauss | 本 Notebook 将介绍 openGauss VectorStore 的入门方法。openGauss 是一个高性能的关系型数据库,具备... |
| OpenSearch | OpenSearch is a scalable, flexible, and extensible open-source softwa... |
| Oracle AI Vector Search:向量存储 | Oracle AI Vector Search 专为人工智能(AI)工作负载而设计,允许您基于语义而非关键字来查询数据。 |
| Pathway | Pathway 是一个开源数据处理框架。它使您能够轻松开发数据转换管道和机器学习应用程序,这些应用程序可以处理实时数据源和不断变化的数据。 |
| Postgres 嵌入 | Postgres Embedding 是一个开源的 Postgres 向量相似性搜索扩展,它使用 Hierarchical Navigab... |
| PGVecto.rs | 本 Notebook 展示了如何使用与 Postgres 向量数据库 (pgvecto.rs) 相关的功。 |
| PGVector | 使用 postgres 作为后端并利用 pgvector 扩展的 LangChain vectorstore 抽象的实现。 |
| Pinecone | Pinecone 是一个功能丰富的向量数据库。 |
| Pinecone (稀疏) | Pinecone 是一个具有广泛功能的向量数据库。 |
| Qdrant | Qdrant (“象限” 的发音) 是一个向量相似性搜索引擎。它提供了一个生产就绪的服务,拥有便捷的 API,用于存储、搜索和管理带有附加... |
| Redis | 本笔记本介绍如何开始使用 Redis 向量存储。 |
| Relyt | Relyt 是一种云原生数据仓库服务,旨在在线分析海量数据。 |
| Rockset | Rockset 是一个专为云构建的实时搜索和分析数据库。Rockset 使用 Converged Index™ 和高效的向量嵌入存储,以大... |
| SAP HANA Cloud Vector Engine | SAP HANA Cloud Vector Engine 是一个完全集成到 SAP HANA Cloud 数据库中的向量数据库。 |
| ScaNN | ScaNN (Scalable Nearest Neighbors) 是一种用于大规模高效向量相似性搜索的方法。 |
| SemaDB | SemaDB 来自 SemaFind,它是一个简洁的向量相似性数据库,用于构建 AI 应用。托管的 SemaDB Cloud 提供了无忧的... |
| SingleStore | SingleStore 是一个强大、高性能的分布式 SQL 数据库解决方案,专为在 云 和本地环境中都能表现出色而设计。它拥有多功能的功能... |
| scikit-learn | scikit-learn 是一个开源的机器学习算法集合,包括一些 k 最近邻 的实现。SKLearnVectorStore 封装了此实现,... |
| SQLiteVec | 本 Notebook 介绍如何开始使用 SQLiteVec 向量数据库。 |
| SQLite-VSS | SQLite-VSS 是一个专为向量搜索设计的 SQLite 扩展,它注重本地优先操作,并且可以轻松集成到无需外部服务器的应用程序中。通过... |
| SQL Server | Azure SQL 提供了一个专用的 Vector data type,可简化关系数据库中向量嵌入的创建、存储和查询。这消除了对单独向量数... |
| StarRocks | StarRocks 是一个高性能分析数据库。 |
| Supabase (Postgres) | Supabase 是一个开源的 Firebase 替代品。Supabase 构建在 PostgreSQL 之上,它提供了强大的 SQL 查... |
| SurrealDBVectorStore | SurrealDB 是一个统一的多模型数据库,专为人工智能系统而构建。它将结构化和非结构化数据(包括向量搜索、图遍历、关系查询、全文搜索、... |
| Tablestore | Tablestore 是一项全托管的 NoSQL 云数据库服务。 |
| Tair | Tair 是由 Alibaba Cloud 开发的一款云原生内存数据库服务。 |
| 腾讯云向量数据库 | 腾讯云向量数据库 是一款全托管、自研的分布式数据库服务,专为存储、检索和分析多维向量数据而设计,面向企业级应用。该数据库支持多种索引类型和... |
| ThirdAI NeuralDB | NeuralDB 是由 ThirdAI 开发的、对 CPU 友好且可微调的向量存储库。 |
| TiDB Vector | TiDB Cloud 是一个全面的数据库即服务(DBaaS)解决方案,提供专用和无服务器选项。TiDB Serverless 现已将内置向... |
| Tigris | Tigris 是一个开源的无服务器 NoSQL 数据库和搜索平台,旨在简化高性能向量搜索应用程序的构建。 |
| TileDB | TileDB 是一个强大的引擎,用于对密集型和稀疏型多维数组进行索引和查询。 |
| Timescale Vector (Postgres) | Timescale Vector 是专为 AI 应用设计的 PostgreSQL++ 向量数据库。 |
| Typesense | Typesense 是一个 开源、内存中的搜索引擎,你可以选择 自行托管 或在 Typesense Cloud 上运行。 |
| Upstash Vector | Upstash Vector 是一个为使用向量嵌入而设计的无服务器向量数据库。 |
| USearch | USearch 是一个更小、更快的单文件向量搜索引擎 |
| Vald | Vald 是一个高扩展性的分布式快速近似最近邻(ANN)密集向量搜索引擎。 |
| VDMS | 本 Notebook 介绍了如何开始使用 VDMS 作为向量存储。 |
| Vearch | Vearch 是深度学习和人工智能应用的向量搜索基础设施。 |
| Vectara | Vectara 是一个值得信赖的 AI 助手和代理平台,专注于企业级任务的关键应用就绪性。 |
| Vespa | Vespa 是一个功能齐全的搜索引擎和向量数据库。它支持向量搜索 (ANN)、词汇搜索以及结构化数据搜索,所有这些都可以在同一个查询中实现。 |
| viking DB | viking DB 是一种数据库,用于存储、索引和管理深度神经网络及其他机器学习 (ML) 模型生成的海量嵌入向量。 |
| vlite | VLite 是一个简单且极速的向量数据库,它允许您使用嵌入(embeddings)以语义方式存储和检索数据。VLite 使用 numpy ... |
| Weaviate | 本笔记本将介绍如何使用 langchain-weaviate 包在 LangChain 中开始使用 Weaviate 向量存储。 |
| Xata | Xata 是一个无服务器数据平台,基于 PostgreSQL。它提供了一个与数据库交互的 Python SDK,以及一个用于管理数据的 U... |
| YDB | YDB 是一款通用的开源分布式 SQL 数据库,结合了高可用性、可扩展性与强一致性和 ACID 事务。它可以同时处理事务型(OLTP)、分... |
| Yellowbrick | Yellowbrick 是一款弹性、大规模并行处理 (MPP) 的 SQL 数据库,可在云端和本地运行,利用 Kubernetes 实现规... |
| Zep | 回忆、理解并从聊天记录中提取数据。驱动个性化 AI 体验。 |
| Zep Cloud | 召回、理解并从聊天记录中提取数据。赋能个性化 AI 体验。 |
| Zilliz | Zilliz Cloud 是 LF AI Milvus® 的全托管云服务, |