arcade-mcp/examples/langchain/simple_chain.py
Sam Partee 4d2786935a
Langchain arcade (#125)
Co-authored-by: Eric Gustin <eric@arcade-ai.com>
Co-authored-by: Nate Barbettini <nathanaelb@gmail.com>
Co-authored-by: Nate Barbettini <nate@arcade-ai.com>
2024-10-25 16:59:21 -07:00

37 lines
1.1 KiB
Python

import os
from langchain import hub
from langchain.agents import AgentExecutor, create_openai_functions_agent
from langchain_arcade import ArcadeToolManager
from langchain_openai import ChatOpenAI
arcade_api_key = os.environ["ARCADE_API_KEY"]
openai_api_key = os.environ["OPENAI_API_KEY"]
# Pull relevant agent model.
prompt = hub.pull("hwchase17/openai-functions-agent")
# Get all the tools available in Arcade
manager = ArcadeToolManager(api_key=arcade_api_key)
# Tool names follow the format "ToolkitName.ToolName"
tools = manager.get_tools(tools=["Web.ScrapeUrl"])
print(manager.tools)
# clear and init new tools from a toolkit
manager.init_tools(toolkits=["Search"])
print(manager.tools)
# get more tools
tools = manager.get_tools(toolkits=["Math"])
print(manager.tools)
# init the LLM
llm = ChatOpenAI(api_key=openai_api_key)
# Define agent
agent = create_openai_functions_agent(llm, tools, prompt)
agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
# Try a few examples
agent_executor.invoke({"input": "Lookup Seymour Cray on Google"})
agent_executor.invoke({"input": "What is 1234567890 * 9876543210?"})