跳转到内容

XML RAG 搜索

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

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

Terminal window
pip install 'crewai[tools]'

下面是两个演示如何使用 XMLSearchTool 的示例。
第一个示例展示在特定 XML 文件中搜索,第二个示例展示在未预先指定 XML 路径的情况下开始搜索,从而提供更灵活的搜索范围。

from crewai_tools import XMLSearchTool
# 允许智能体在执行过程中了解到路径后,
# 搜索任意 XML 文件的内容
tool = XMLSearchTool()
# 或者
# 使用特定 XML 文件路径初始化工具,
# 以便仅在该文档内进行专属搜索
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", # 或 "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),
}
},
}
)