| from langchain.agents import AgentExecutor, create_react_agent |
| from langchain_openai import ChatOpenAI |
| from utils.prompt import prompt_default |
| from utils.tools import tools_default |
|
|
|
|
| def create_agent_executor( |
| llm=None, |
| tools=None, |
| prompt=None, |
| verbose=True, |
| max_execution_time=60, |
| max_iterations=10, |
| early_stopping_method="generate", |
| ): |
| if llm is None: |
| llm = ChatOpenAI( |
| model="gpt-4o", |
| temperature=0, |
| timeout=60, |
| request_timeout=120, |
| max_retries=2, |
| ) |
|
|
| if tools is None: |
| tools = tools_default |
|
|
| if prompt is None: |
| prompt = prompt_default |
|
|
| agent = create_react_agent(llm, tools, prompt) |
| agent_executor = AgentExecutor( |
| agent=agent, |
| tools=tools, |
| verbose=verbose, |
| max_execution_time=max_execution_time, |
| max_iterations=max_iterations, |
| early_stopping_method=early_stopping_method, |
| ) |
| return agent_executor |
|
|