File size: 1,010 Bytes
9c9a39f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
from langchain.agents import AgentExecutor, Agent, create_openai_tools_agent
from langchain_core.prompts import PromptTemplate, ChatPromptTemplate, MessagesPlaceholder
from langchain_core.tools import tool
from langchain_openai import ChatOpenAI

@tool
def multiply(a: int, b: int) -> int:
    """Multiply two numbers."""
    print("Multiply used")
    return a * b

class HelpAgent(AgentExecutor):
    
    def __init__(self, llm, system_prompt):
        prompt = ChatPromptTemplate.from_messages(
            [
                (
                    "human",
                    system_prompt,
                ),
                ("assistant",  "ok" ),  
                MessagesPlaceholder(variable_name="messages"),
                MessagesPlaceholder(variable_name="agent_scratchpad"),
            ]
        )
        #agent = prompt | llm
        agent = create_openai_tools_agent(llm, [multiply], prompt)
        super().__init__(agent=agent, tools=[multiply])