技术背景介绍
Zilliz Cloud Pipelines是一种能够将非结构化数据转换为可搜索向量集合的方法。它们将数据的嵌入、摄取、搜索和删除过程串联起来,以便于数据的管理和查询。Zilliz Cloud Pipelines可以通过Zilliz Cloud控制台以及RestFul APIs进行访问。
本文将演示如何准备Zilliz Cloud Pipelines并通过LangChain Retriever进行使用。
核心原理解析
Zilliz Cloud Pipelines通过执行一系列操作来处理非结构化数据,这些操作包括:
- 数据库设置:注册Zilliz Cloud并创建集群。
- 创建Pipelines:包括文档的摄取、搜索和删除等操作。
代码实现演示
首先,确保你已经注册并创建了Zilliz Cloud的集群。然后按照以下步骤操作。
安装依赖
%pip install --upgrade --quiet langchain-milvus
导入并初始化检索器
from langchain_milvus import ZillizCloudPipelineRetriever
retriever = ZillizCloudPipelineRetriever(
pipeline_ids={
"ingestion": "<YOUR_INGESTION_PIPELINE_ID>", # 如果不需要添加文档,可以跳过这行
"search": "<YOUR_SEARCH_PIPELINE_ID>", # 如果不需要获取相关文档,可以跳过这行
"deletion": "<YOUR_DELETION_PIPELINE_ID>", # 如果不需要删除文档,可以跳过这行
},
token="<YOUR_ZILLIZ_CLOUD_API_KEY>",
)
添加文档
通过文本摄取管道添加文本
retriever.add_texts(
texts=["示例文本1", "示例文本2"],
metadata={"example_field": "example_value"} # 如果摄取管道不需要预留字段,可以跳过这行
)
通过文档摄取管道添加文档URL
retriever.add_doc_url(
doc_url="https://publicdataset.zillizcloud.com/milvus_doc.md",
metadata={"version": "v2.3.x"}
)
获取相关文档
docs = retriever.get_relevant_documents(
query="用户可以通过复杂的布尔表达式删除实体吗?",
top_k=5
)
for doc in docs:
print(doc.page_content)
应用场景分析
Zilliz Cloud Pipelines适用于需要处理大量非结构化数据的应用场景,例如:
- 大规模文本数据的检索和分析
- 文档管理系统中的文档搜索功能
- 渠道中的数据摄取和处理
实践建议
- 有效管理Pipeline:确保只有需要的Pipeline处于活跃状态,以减少资源消耗。
- 优化查询性能:在实际应用中,根据需要调整查询的
top_k值和其他参数,以确保获取到的结果满足需求。 - 定期维护数据:定期删除不再需要的文档,以保持数据库的整洁和高效。
如果遇到问题欢迎在评论区交流。
—END—
338

被折叠的 条评论
为什么被折叠?



