Skip to main content

概述

向量存储嵌入数据并执行相似性搜索。

接口

LangChain 为向量存储提供了一个统一的接口,允许你:
  • add_documents - 向存储中添加文档。
  • delete - 按 ID 删除已存储的文档。
  • similarity_search - 查询语义相似的文档。
这种抽象使你可以在不同的实现之间切换,而无需更改应用逻辑。

初始化

要初始化向量存储,请为其提供一个嵌入模型:

添加文档

像这样添加 Document 对象(包含 page_content 和可选的元数据):

删除文档

通过指定 ID 进行删除:

相似性搜索

使用 similarity_search 发起语义查询,它将返回最接近的嵌入文档:
许多向量存储支持以下参数:
  • k — 要返回的结果数量
  • filter — 基于元数据的条件过滤

相似性度量与索引

嵌入相似性可以使用以下方式计算:
  • 余弦相似度
  • 欧几里得距离
  • 点积
高效的搜索通常采用索引方法,如 HNSW(分层可导航小世界图),但具体取决于向量存储。

元数据过滤

通过元数据(例如来源、日期)过滤可以细化搜索结果:

主要集成

选择嵌入模型:
选择向量存储:
pip
安装包并使用 start-local 脚本在本地启动 Elasticsearch:
这将创建一个 elastic-start-local 文件夹。要启动 Elasticsearch:
Elasticsearch 将在 http://localhost:9200 上可用。elastic 用户的密码和 API 密钥存储在 elastic-start-local 文件夹中的 .env 文件中。

所有向量存储

Activeloop Deep Lake

Alibaba Cloud MySQL

Alibaba Cloud OpenSearch

AnalyticDB

Annoy

Apache Doris

ApertureDB

Astra DB Vector Store

Atlas

AwaDB

Azure Cosmos DB Mongo vCore

Azure Cosmos DB No SQL

Azure Database for PostgreSQL - Flexible Server

Azure AI Search

Bagel

BagelDB

Baidu Cloud ElasticSearch VectorSearch

Baidu VectorDB

Apache Cassandra

Chroma

Clarifai

ClickHouse

CockroachDB

Couchbase

DashVector

Databricks

IBM Db2

DingoDB

DocArray HnswSearch

DocArray InMemorySearch

Amazon Document DB

DuckDB

China Mobile ECloud ElasticSearch

Elasticsearch

Epsilla

Faiss

Faiss (Async)

FalkorDB

Gel

Google AlloyDB

Google BigQuery Vector Search

Google Cloud SQL for MySQL

Google Cloud SQL for PostgreSQL

Firestore

Google Memorystore for Redis

Google Spanner

Google Bigtable

Google Vertex AI Feature Store

Google Vertex AI Vector Search

Hippo

Hologres

Jaguar Vector Database

Kinetica

LambdaDB

LanceDB

Lantern

Lindorm

LLMRails

ManticoreSearch

MariaDB

Marqo

Meilisearch

Amazon MemoryDB

Milvus

Momento Vector Index

Moorcheh

MongoDB Atlas

MyScale

Neo4j Vector Index

NucliaDB

Oceanbase

openGauss

OpenSearch

Oracle AI Database

Pathway

Postgres Embedding

PGVecto.rs

PGVector

PGVectorStore

Pinecone

Pinecone (sparse)

Qdrant

Relyt

Rockset

SAP HANA Cloud Vector Engine

ScaNN

SemaDB

SingleStore

scikit-learn

SQLiteVec

SQLite-VSS

SQLServer

StarRocks

Supabase

SurrealDB

Tablestore

Tair

Tencent Cloud VectorDB

Teradata VectorStore

ThirdAI NeuralDB

TiDB Vector

Tigris

TileDB

Timescale Vector

Typesense

turbopuffer

Upstash Vector

USearch

Vald

Valkey

VDMS

veDB for MySQL

Vearch

Vectara

Vespa

viking DB

vlite

Volcengine RDS for MySQL

Weaviate

Xata

YDB

Yellowbrick

Zep

Zep Cloud

ZeusDB

Zilliz

Zvec