Spaces:
Paused
Paused
| 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 |