JSONSearchTool¶
实验状态
JSONSearchTool目前处于实验阶段。这意味着该工具正在积极开发中,用户可能会遇到意外的行为或变化。我们非常鼓励用户提供任何问题或改进建议的反馈。
描述¶
JSONSearchTool旨在方便用户在JSON文件内容中进行高效和精确的搜索。它利用RAG(检索和生成)搜索机制,允许用户指定JSON路径以在特定JSON文件内进行针对性搜索。这一功能显著提高了搜索结果的准确性和相关性。
安装¶
要安装JSONSearchTool,请使用以下pip命令:
使用示例¶
以下是如何有效利用JSONSearchTool在JSON文件中进行搜索的最新示例。这些示例考虑了当前实现和代码库中识别出的使用模式。
from crewai.json_tools import JSONSearchTool # 更新的导入路径
# 通用JSON内容搜索
# 当JSON路径事先已知或可以动态识别时,这种方法是合适的。
tool = JSONSearchTool()
# 将搜索限制在特定JSON文件
# 当你想将搜索范围限制在特定JSON文件时,使用这种初始化方法。
tool = JSONSearchTool(json_path='./path/to/your/file.json')
参数¶
json_path(str, 可选): 指定要搜索的JSON文件路径。如果工具初始化为通用搜索,则不需要此参数。提供时,它将搜索限制在指定的JSON文件内。
参数¶
json_path(str, 可选): 指定要搜索的JSON文件路径。如果工具初始化为通用搜索,则不需要此参数。提供时,它将搜索限制在指定的JSON文件内。
配置选项¶
JSONSearchTool通过配置字典支持广泛的定制。这允许用户根据其需求选择不同的嵌入和总结模型。
tool = JSONSearchTool(
config={
"llm": {
"provider": "ollama", # 其他选项包括google, openai, anthropic, llama2等。
"config": {
"model": "llama2",
# 可以在此处指定其他可选配置。
# temperature=0.5,
# top_p=1,
# stream=true,
},
},
"embedder": {
"provider": "google", # 或openai, ollama, ...
"config": {
"model": "models/embedding-001",
"task_type": "retrieval_document",
# 可以在此处添加进一步的定制选项。
},
},
}
)
使用示例¶
以下是如何有效利用JSONSearchTool在JSON文件中进行搜索的最新示例。这些示例考虑了当前实现和代码库中识别出的使用模式。
from crewai.json_tools import JSONSearchTool # 更新的导入路径
# 通用JSON内容搜索
# 当JSON路径事先已知或可以动态识别时,这种方法是合适的。
tool = JSONSearchTool()
# 将搜索限制在特定JSON文件
# 当你想将搜索范围限制在特定JSON文件时,使用这种初始化方法。
tool = JSONSearchTool(json_path='./path/to/your/file.json')
参数¶
json_path(str, 可选): 指定要搜索的JSON文件路径。如果工具初始化为通用搜索,则不需要此参数。提供时,它将搜索限制在指定的JSON文件内。
tool = JSONSearchTool(
config={
"llm": {
"provider": "ollama", # 其他选项包括google, openai, anthropic, llama2等。
"config": {
"model": "llama2",
# 可以在此处指定其他可选配置。
# temperature=0.5,
# top_p=1,
# stream=true,
},
},
"embedder": {
"provider": "google", # 或openai, ollama, ...
"config": {
"model": "models/embedding-001",
"task_type": "retrieval_document",
# 可以在此处添加进一步的定制选项。
},
},
}
)