XML RAG 搜索
XMLSearchTool
Section titled “XMLSearchTool”XMLSearchTool 是一款前沿的 RAG 工具,专为在 XML 文件中进行语义搜索而设计。
它非常适合需要高效解析和提取 XML 内容信息的用户,支持输入搜索查询和可选的 XML 文件路径。
通过指定 XML 路径,用户可以更精确地针对该文件内容进行搜索,从而获得更相关的搜索结果。
要开始使用 XMLSearchTool,你必须先安装 crewai_tools 包。可以使用下面的命令轻松完成:
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方法参数的一部分提供,才能执行搜索。
自定义模型与嵌入
Section titled “自定义模型与嵌入”默认情况下,该工具使用 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), } }, })