from langchain.agents import AgentExecutor, create_openai_tools_agent from langchain_core.messages import BaseMessage, HumanMessage, SystemMessage, AIMessage from langchain_openai import ChatOpenAI from langchain_huggingface import ChatHuggingFace from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder def create_agent(llm: ChatHuggingFace, tools: list, system_prompt: str): # Each worker node will be given a name and some tools. prompt = ChatPromptTemplate.from_messages( [ ( "human", system_prompt, ), ("assistant", "ok" ), 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