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 |