langchain.agents.self_ask_with_search.base.SelfAskWithSearchAgent

class langchain.agents.self_ask_with_search.base.SelfAskWithSearchAgent[source]

基础: Agent

自版本 0.1.0 被弃用: 请使用 create_self_ask_with_search

为自我查找论文创建的代理。

通过解析和验证关键字参数中的输入数据来创建一个新模型。

如果输入数据无法解析为有效模型,将触发 ValidationError。

参数 allowed_tools: Optional[List[str]]] = None

代理允许使用的工具。如果为 None,允许所有工具。

参数 llm_chain: LLMChain [Required]

代理使用 LLMChain。

参数 output_parser: AgentOutputParser [Optional]

代理使用的输出解析器。

async aplan(intermediate_steps: List[Tuple[AgentAction, str]], callbacks: Optional[Union[List[BaseCallbackHandler], BaseCallbackManager]], **kwargs: Any) Union[AgentAction, AgentFinish]

异步处理输入,决定做什么。

参数
  • intermediate_steps (列表[[元组[AgentAction, str]]]) – LLM 到目前为止采取的步骤以及观察到的内容。

  • callbacks (可选[联合[列表[BaseCallbackHandler], BaseCallbackManager]]) – 要运行的回调函数。

  • **kwargs (任何) – 用户输入。

返回

指定使用哪些工具的操作。

返回类型

联合[AgentAction, AgentFinish]

classmethod create_prompt(tools: Sequence[BaseTool]) BasePromptTemplate[来源代码]

提示不依赖于工具。

参数

tools (Sequence[BaseTool]) –

返回类型

BasePromptTemplate

classmethod from_llm_and_tools(llm: BaseLanguageModel, tools: Sequence[BaseTool], callback_manager: Optional[BaseCallbackManager] = None, output_parser: Optional[AgentOutputParser] = None, **kwargs: Any) Agent

从一个LLM和工具中构建智能体。

参数
  • llm (BaseLanguageModel) – 要使用的语言模型。

  • tools (Sequence[BaseTool]) – 要使用的工具。

  • callback_manager (Optional[BaseCallbackManager]) – 要使用的回调管理器。

  • output_parser (Optional[AgentOutputParser]) – 要使用的输出解析器。

  • kwargs (Any) – 额外参数。

返回

智能体对象。

返回类型

智能体

get_allowed_tools() Optional[List[str]]

获取允许的工具。

返回类型

Optional[List[str]]

get_full_inputs(intermediate_steps: List[Tuple[AgentAction, str]], **kwargs: Any) Dict[str, Any]

从中间步骤创建LLMChain的完整输入。

参数
  • intermediate_steps (列表[[元组[AgentAction, str]]]) – LLM 到目前为止采取的步骤以及观察到的内容。

  • **kwargs (任何) – 用户输入。

返回

LLMChain的完整输入。

返回类型

Dict[str, Any]

plan(intermediate_steps: List[Tuple[AgentAction, str]], callbacks: Optional[Union[List[BaseCallbackHandler], BaseCallbackManager]], **kwargs: Any) Union[AgentAction, AgentFinish]

根据输入,决定要做什么。

参数
  • intermediate_steps (列表[[元组[AgentAction, str]]]) – LLM 到目前为止采取的步骤以及观察到的内容。

  • callbacks (可选[联合[列表[BaseCallbackHandler], BaseCallbackManager]]) – 要运行的回调函数。

  • **kwargs (任何) – 用户输入。

返回

指定使用哪些工具的操作。

返回类型

联合[AgentAction, AgentFinish]

return_stopped_response(early_stopping_method: str, intermediate_steps: List[Tuple[AgentAction, str]], **kwargs: Any) AgentFinish

由于最大迭代次数而停止代理时返回响应。

参数
  • early_stopping_method (str) – 用于早期停止的方法。

  • intermediate_steps (列表[[元组[AgentAction, str]]]) – LLM 到目前为止采取的步骤以及观察到的内容。

  • **kwargs (任何) – 用户输入。

返回

代理完成对象。

返回类型

AgentFinish

抛出异常

ValueError – 如果 early_stopping_method 不在 ['force', 'generate'] 中。

save(file_path: Union[Path, str]) None

保存代理。

参数

file_path (Union[Path, str]) – 要保存代理的文件路径。

返回类型

None

示例:.. code-block:: python

# 如果使用代理执行器:agent.agent.save(file_path="path/agent.yaml")

tool_run_logging_kwargs() Dict

返回工具运行日志的 kwargs。

返回类型

Dict

property llm_prefix: str

添加到 LLM 调用的前缀。

property observation_prefix: str

添加到观察的前缀。

property return_values: List[str]

代理的返回值。