跳转至

JSONSearchTool

实验状态

JSONSearchTool目前处于实验阶段。这意味着该工具正在积极开发中,用户可能会遇到意外的行为或变化。我们非常鼓励用户提供任何问题或改进建议的反馈。

描述

JSONSearchTool旨在方便用户在JSON文件内容中进行高效和精确的搜索。它利用RAG(检索和生成)搜索机制,允许用户指定JSON路径以在特定JSON文件内进行针对性搜索。这一功能显著提高了搜索结果的准确性和相关性。

安装

要安装JSONSearchTool,请使用以下pip命令:

pip install 'crewai[tools]'

使用示例

以下是如何有效利用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",
                # 可以在此处添加进一步的定制选项。
            },
        },
    }
)