跳转到主要内容

XMLSearchTool

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

描述

XMLSearchTool 是一款尖端的 RAG 工具,专门用于在 XML 文件中进行语义搜索。对于需要高效解析和提取 XML 内容信息的用户来说,这款工具非常理想。它支持输入搜索查询和可选的 XML 文件路径。通过指定 XML 路径,用户可以更精确地针对该文件的内容进行搜索,从而获得更相关的搜索结果。

安装

要开始使用 XMLSearchTool,您必须首先安装 crewai_tools 包。这可以通过以下命令轻松完成
pip install 'crewai[tools]'

示例

这里有两个示例演示如何使用 XMLSearchTool。第一个示例展示了在特定 XML 文件中进行搜索,而第二个示例则说明了在不预定义 XML 路径的情况下启动搜索,从而提供了搜索范围的灵活性。
代码
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 进行嵌入和摘要。要自定义模型,您可以使用如下所示的配置字典:
代码
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),
            }
        },
    }
)