以编程方式使用文档

> veDB for MySQL 是火山引擎(Volcengine)开发的云原生、高性能数据库服务。 Volcengine 是字节跳动(TikTok的母公司)开发的云服务平台。此集成允许您在 LangChain 中将 veDB for MySQL 作为向量存储使用。

设置

要使用 veDB for MySQL 向量存储,您需要一个 Volcengine 账户和一个 veDB for MySQL 实例。

安装

安装集成包:

pip install -U langchain-volcengine-mysql

实例化

配置 vedb 子模块,然后访问 vedb.vector_store.

from langchain_volcengine_mysql import vedb
from langchain_openai import OpenAIEmbeddings

embeddings = OpenAIEmbeddings()

vedb.configure(
    host="your-vedb-host.example.com",
    port=3306,
    user="your_user",
    password="your_password",
    database="your_db",
    table_name="vector_embeddings",
    embedding_dim=1536,
    embedding_function=embeddings,
)

vector_store = vedb.vector_store
retriever = vedb.retriever

管理向量存储

添加项目

from langchain_core.documents import Document

docs = [
    Document(page_content="veDB for MySQL supports vector search.", metadata={"source": "docs"}),
    Document(page_content="LangChain can query it via a unified interface.", metadata={"source": "docs"}),
]

vector_store.add_documents(documents=docs, ids=["1", "2"])

删除项目

vector_store.delete(ids=["1"])

查询向量存储

相似性搜索

results = vector_store.similarity_search(query="Tell me about veDB", k=1)
for doc in results:
    print(f"* {doc.page_content} [{doc.metadata}]")

用作检索器

docs = retriever.invoke("Tell me about veDB")

API 参考

请参阅官方 PyPI 文档.