diff --git a/libs/langchain/langchain/agents/openai_tools/base.py b/libs/langchain/langchain/agents/openai_tools/base.py index 9d3ba6660a7..dd6c3246f93 100644 --- a/libs/langchain/langchain/agents/openai_tools/base.py +++ b/libs/langchain/langchain/agents/openai_tools/base.py @@ -1,4 +1,4 @@ -from typing import Sequence +from typing import Optional, Sequence from langchain_core.language_models import BaseLanguageModel from langchain_core.prompts.chat import ChatPromptTemplate @@ -13,7 +13,10 @@ from langchain.agents.output_parsers.openai_tools import OpenAIToolsAgentOutputP def create_openai_tools_agent( - llm: BaseLanguageModel, tools: Sequence[BaseTool], prompt: ChatPromptTemplate + llm: BaseLanguageModel, + tools: Sequence[BaseTool], + prompt: ChatPromptTemplate, + strict: Optional[bool] = None, ) -> Runnable: """Create an agent that uses OpenAI tools. @@ -87,7 +90,9 @@ def create_openai_tools_agent( if missing_vars: raise ValueError(f"Prompt missing required variables: {missing_vars}") - llm_with_tools = llm.bind(tools=[convert_to_openai_tool(tool) for tool in tools]) + llm_with_tools = llm.bind( + tools=[convert_to_openai_tool(tool, strict=strict) for tool in tools] + ) agent = ( RunnablePassthrough.assign(