create_sql_agent#
- langchain_cohere.sql_agent.agent.create_sql_agent(llm: BaseLanguageModel, toolkit: SQLDatabaseToolkit | None = None, callback_manager: BaseCallbackManager | None = None, prefix: str | None = None, suffix: str | None = None, top_k: int = 10, max_iterations: int | None = 15, max_execution_time: float | None = None, early_stopping_method: str = 'force', verbose: bool = False, agent_executor_kwargs: Dict[str, Any] | None = None, extra_tools: Sequence[BaseTool] = (), *, db: SQLDatabase | None = None, prompt: BasePromptTemplate | None = None, **kwargs: Any) AgentExecutor [source]#
从LLM和工具包或数据库构建一个SQL代理。
- Parameters:
llm (BaseLanguageModel) – 用于代理的语言模型。如果代理类型是“工具调用”,则llm需要支持工具调用。
toolkit (可选[SQLDatabaseToolkit]) – 代理使用的SQLDatabaseToolkit。必须提供‘toolkit’或‘db’中的一个。如果你想为代理和工具包使用不同的模型,请指定‘toolkit’。
callback_manager (可选[BaseCallbackManager]) – 已弃用。请将“callbacks”键传递到‘agent_executor_kwargs’中,以将构造函数回调传递给AgentExecutor。
prefix (可选[str]) – 提示前缀字符串。必须包含变量“top_k”和“dialect”。
suffix (可选[str]) – 提示后缀字符串。默认值取决于代理类型。
input_variables – 已弃用。
top_k (int) – 默认查询的行数。
max_iterations (可选[int]) – 传递给 AgentExecutor 初始化。
max_execution_time (可选[float]) – 传递给 AgentExecutor 初始化。
early_stopping_method (str) – 传递给AgentExecutor初始化。
verbose (bool) – AgentExecutor 的详细程度。
agent_executor_kwargs (Optional[Dict[str, Any]]) – 任意额外的AgentExecutor参数。
extra_tools (Sequence[BaseTool]) – 除了SQLDatabaseToolkit自带的工具之外,额外提供给代理的工具。
db (可选[SQLDatabase]) – 用于创建 SQLDatabaseToolkit 的 SQLDatabase。工具包是使用 'db' 和 'llm' 创建的。必须提供 'db' 或 'toolkit' 中的一个。
prompt (可选[BasePromptTemplate]) – 完整的代理提示。prompt 和 {prefix, suffix, format_instructions, input_variables} 是互斥的。必须包含变量“top_k”和“dialect”。如果提示需要,可以包含变量“table_info”或“table_names”。
**kwargs (Any) – 任意额外的代理参数。
- Returns:
一个具有指定agent_type代理的AgentExecutor。
- Return type:
示例
从langchain_cohere导入ChatCohere, create_sql_agent 从langchain_community.utilities导入SQLDatabase
db = SQLDatabase.from_uri(“sqlite:///Chinook.db”) llm = ChatCohere(model=”command-r-plus”, temperature=0) agent_executor = create_sql_agent(llm, db=db, verbose=True) resp = agent_executor.run(“显示‘Album’表的前5行。”) print(resp.get(“output”))
使用 create_sql_agent 的示例