Skip to main content
Volcengine RDS for MySQL 是由火山引擎(Volcengine)开发的全托管、稳定且可扩展的关系型数据库服务。Volcengine 是 TikTok 母公司字节跳动开发的云服务平台。本集成允许您在 LangChain 中将 RDS for MySQL 用作向量存储。

配置

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

安装

安装集成包:
pip
pip install -U langchain-volcengine-mysql

实例化

配置 mysql 子模块,然后访问 mysql.vector_store
from langchain_volcengine_mysql import mysql
from langchain_openai import OpenAIEmbeddings

embeddings = OpenAIEmbeddings()

mysql.configure(
    host="your-mysql-host.example.com",
    port=3306,
    user="your_user",
    password="your_password",
    database="your_db",
    table_name="langchain_vectors",
    embedding_function=embeddings,
)

vector_store = mysql.vector_store
retriever = mysql.retriever

管理向量存储

添加条目

from langchain_core.documents import Document

docs = [
    Document(page_content="Volcengine RDS for MySQL is a managed relational database.", metadata={"source": "docs"}),
    Document(page_content="You can use it as a LangChain vector store.", metadata={"source": "docs"}),
]

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

删除条目

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

查询向量存储

相似性搜索

results = vector_store.similarity_search(query="What is RDS for MySQL?", k=1)
for doc in results:
    print(f"* {doc.page_content} [{doc.metadata}]")

作为检索器使用

docs = retriever.invoke("What is RDS for MySQL?")

API 参考

请参阅官方 PyPI 文档