Skip to content
CrewAI 文档版本 跟随上游 源快照 5128128c 更新于 2026-10-18

XML RAG 搜索

XMLSearchTool 旨在在 XML 文件的内容中执行 RAG(检索增强生成)搜索。

XMLSearchTool

NOTE

我们仍在改进这些工具,因此未来可能会出现意外行为或变更。

描述

XMLSearchTool 是一款前沿的 RAG 工具,专为在 XML 文件中执行语义搜索而构建。 它非常适合需要高效解析和提取 XML 内容信息的用户,支持输入搜索查询以及可选的 XML 文件路径。 通过指定 XML 路径,用户可以将搜索更精准地定位到该文件的内容,从而获得更相关的搜索结果。

安装

要开始使用 XMLSearchTool,你必须先安装 crewai_tools 包。这可以通过以下命令轻松完成:

shell
pip install 'crewai[tools]'

示例

以下两个示例演示了如何使用 XMLSearchTool。 第一个示例展示在特定 XML 文件中搜索,第二个示例展示在不预先定义 XML 路径的情况下发起搜索,从而在搜索范围上提供灵活性。

python
from crewai_tools import XMLSearchTool

# Allow agents to search within any XML file's content 
#as it learns about their paths during execution
tool = XMLSearchTool()

# OR

# Initialize the tool with a specific XML file path 
#for exclusive search within that document
tool = XMLSearchTool(xml='path/to/your/xmlfile.xml')

参数

  • xml:这是你希望搜索的 XML 文件路径。 它在工具初始化时是可选参数,但必须在初始化时或作为 run 方法参数的一部分提供,才能执行搜索。

自定义模型和嵌入

默认情况下,该工具使用 OpenAI 进行嵌入和摘要。要自定义模型,你可以使用如下配置字典:

python
from chromadb.config import Settings

tool = XMLSearchTool(
    config={
        "embedding_model": {
            "provider": "openai",
            "config": {
                "model": "text-embedding-3-small",
                # "api_key": "sk-...",
            },
        },
        "vectordb": {
            "provider": "chromadb",  # or "qdrant"
            "config": {
                # "settings": Settings(persist_directory="/content/chroma", allow_reset=True, is_persistent=True),
                # from qdrant_client.models import VectorParams, Distance
                # "vectors_config": VectorParams(size=384, distance=Distance.COSINE),
            }
        },
    }
)

BytesRouter 是社区翻译站点,所有译文仅供参考,一切以官方英文原文为准。