Xata 是一个基于 PostgreSQL 的无服务器数据平台。它提供了一个用于与数据库交互的 Python SDK 和一个用于管理数据的用户界面。Xata 具有原生向量类型,可以添加到任何表中,并支持相似性搜索。LangChain 将向量直接插入到 Xata,并查询给定向量的最近邻,以便您可以将所有 LangChain Embeddings 集成与 Xata 结合使用。本笔记本将指导您如何使用 Xata 作为 VectorStore。
设置
创建一个数据库用作向量存储
在 Xata 用户界面中创建一个新数据库。您可以随意命名,在本笔记本中我们使用langchain。创建一个表,同样可以任意命名,但我们将使用 vectors。通过用户界面添加以下列:
- 类型为“Text”的
content。用于存储Document.pageContent的值。 - 类型为“Vector”的
embedding。使用您计划使用的模型所用的维度。在本笔记本中,我们使用 OpenAI 嵌入,其维度为 1536。 - 类型为“Text”的
source。本示例用作元数据列。 - 任何其他您想用作元数据的列。它们从
Document.metadata对象中填充。例如,如果在Document.metadata对象中有一个title属性,您可以在表中创建一个title列,它将被填充。
https://demo-uni3q8.eu-west-1.xata.sh/db/langchain。
创建 Xata 向量存储
让我们导入测试数据集相似度搜索
带分数的相似性搜索(向量距离)
以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。