Upstash Vector
Upstash Vector 是一个无服务器向量数据库,可用于存储和查询向量。安装
在 Upstash 控制台创建一个新的无服务器向量数据库。根据您的模型选择首选的距离度量和维度计数。 使用pip install upstash-vector 安装 Upstash Vector Python SDK。LangChain 中的 Upstash Vector 集成是 Upstash Vector Python SDK 的包装器。因此,需要 upstash-vector 包。集成
使用 Upstash 控制台的凭据创建UpstashVectorStore 对象。您还需要传入一个 Embeddings 对象,该对象可以将文本转换为向量嵌入。
UpstashVectorStore 的另一种方法是传入 embedding=True。这要归功于 Upstash Vector 索引具有关联嵌入模型的能力,这是 UpstashVectorStore 的独特功能。在此配置中,我们要插入的文档或要搜索的查询都作为文本简单地发送到 Upstash Vector。在后台,Upstash Vector 嵌入这些文本并使用这些嵌入执行请求。要使用此功能,请通过选择模型创建 Upstash Vector 索引,然后简单地传入 embedding=True
命名空间
您可以使用命名空间来分区索引中的数据。当您想要查询大量数据并希望分区数据以加快查询速度时,命名空间很有用。当您使用命名空间时,结果将不会进行后过滤,这将使查询结果更加精确。插入向量
Embeddings 对象将其嵌入。 大多数嵌入模型可以一次嵌入多个文档,因此文档被批量处理并并行嵌入。批次大小可以使用 embedding_chunk_size 参数控制。 然后将嵌入的向量存储在 Upstash Vector 数据库中。发送时,多个向量被批量处理在一起以减少 HTTP 请求的数量。批次大小可以使用 batch_size 参数控制。Upstash Vector 在免费层级中每个批次限制为 1000 个向量。查询向量
可以使用文本查询或另一个向量查询向量。 返回的值是 Document 对象的列表。filter 参数,该参数将允许您按元数据进行过滤
删除向量
向量可以通过其 ID 删除。获取存储信息
您可以使用 info 函数获取有关数据库的信息,例如距离度量维度。 发生插入时,数据库会进行索引。在此期间,无法查询新向量。pendingVectorCount 表示当前正在索引的向量数量。Upstash Redis
此页面介绍如何将 Upstash Redis 与 LangChain 结合使用。安装和设置
- Upstash Redis Python SDK 可以使用
pip install upstash-redis安装 - 可在 Upstash 控制台创建全局分布式、低延迟和高可用性数据库
集成
所有 Upstash-LangChain 集成均基于upstash-redis Python SDK,作为 LangChain 的包装器使用。此 SDK 通过从控制台提供 UPSTASH_REDIS_REST_URL 和 UPSTASH_REDIS_REST_TOKEN 参数来利用 Upstash Redis DB。
缓存
Upstash Redis 可用作 LLM 提示和响应的缓存。 要导入此缓存:以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。