Spaces:
Sleeping
Sleeping
| from typing import List | |
| from langchain.agents import AgentExecutor, create_openai_tools_agent | |
| from langchain.prompts import ChatPromptTemplate, MessagesPlaceholder | |
| from langchain_core.tools import BaseTool | |
| from langchain_openai import ChatOpenAI | |
| def create_agent( | |
| llm: ChatOpenAI, | |
| tools: List[BaseTool], | |
| system_prompt: str | |
| ) -> AgentExecutor: | |
| """Create an agent executor with given tools and a system prompt.""" | |
| prompt = ChatPromptTemplate.from_messages( | |
| [ | |
| ("system", system_prompt), | |
| MessagesPlaceholder(variable_name="messages"), | |
| MessagesPlaceholder(variable_name="agent_scratchpad"), | |
| ] | |
| ) | |
| agent = create_openai_tools_agent(llm, tools, prompt) | |
| executor = AgentExecutor(agent=agent, tools=tools) | |
| return executor |