以编程方式使用文档

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

设置

要使用火山引擎 MySQL 向量存储,您需要一个火山引擎账户和一个 RDS for MySQL 实例。

安装

安装集成包:

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 文档.