PDFExtractor / application /services /langgraph_service.py
Vela
added agentic framework
172e21d
raw
history blame contribute delete
820 Bytes
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