主题
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),
}
},
}
)