create_json_agent#
- langchain_community.agent_toolkits.json.base.create_json_agent(llm: BaseLanguageModel, toolkit: JsonToolkit, callback_manager: BaseCallbackManager | None = None, prefix: str = 'You are an agent designed to interact with JSON.\nYour goal is to return a final answer by interacting with the JSON.\nYou have access to the following tools which help you learn more about the JSON you are interacting with.\nOnly use the below tools. Only use the information returned by the below tools to construct your final answer.\nDo not make up any information that is not contained in the JSON.\nYour input to the tools should be in the form of `data["key"][0]` where `data` is the JSON blob you are interacting with, and the syntax used is Python. \nYou should only use keys that you know for a fact exist. You must validate that a key exists by seeing it previously when calling `json_spec_list_keys`. \nIf you have not seen a key in one of those responses, you cannot use it.\nYou should only add one key at a time to the path. You cannot add multiple keys at once.\nIf you encounter a "KeyError", go back to the previous key, look at the available keys, and try again.\n\nIf the question does not seem to be related to the JSON, just return "I don\'t know" as the answer.\nAlways begin your interaction with the `json_spec_list_keys` tool with input "data" to see what keys exist in the JSON.\n\nNote that sometimes the value at a given path is large. In this case, you will get an error "Value is a large dictionary, should explore its keys directly".\nIn this case, you should ALWAYS follow up by using the `json_spec_list_keys` tool to see what keys exist at that path.\nDo not simply refer the user to the JSON or a section of the JSON, as this is not a valid answer. Keep digging until you find the answer and explicitly return it.\n', suffix: str = 'Begin!"\n\nQuestion: {input}\nThought: I should look at the keys that exist in data to see what I have access to\n{agent_scratchpad}', format_instructions: str | None = None, input_variables: List[str] | None = None, verbose: bool = False, agent_executor_kwargs: Dict[str, Any] | None = None, **kwargs: Any) AgentExecutor [source]#
从LLM和工具构建一个json代理。
- Parameters:
llm (BaseLanguageModel) – 使用的语言模型。
toolkit (JsonToolkit) – 要使用的工具包。
callback_manager (可选[BaseCallbackManager]) – 要使用的回调管理器。默认为 None。
prefix (str) – 要使用的前缀。默认是 JSON_PREFIX。
suffix (str) – 要使用的后缀。默认是 JSON_SUFFIX。
format_instructions (可选[str]) – 使用的格式说明。默认为 None。
input_variables (可选[列表[字符串]]) – 要使用的输入变量。默认为 None。
verbose (bool) – 是否打印详细输出。默认为 False。
agent_executor_kwargs (Optional[Dict[str, Any]]) – 代理执行器的可选附加参数。
kwargs (Any) – 代理的附加参数。
- Returns:
代理执行器。
- Return type:
使用 create_json_agent 的示例