You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am working on creating a library of tool for my personal use. One tool I am working on is to get data using an OpenAPI. Below is getting an error "Too many arguments". Any workaround or suggestions?
import os, yaml
import requests
from langchain.llms.openai import OpenAI
from langchain.agents.agent_toolkits.openapi import planner
from langchain.chat_models import ChatOpenAI, ChatAnthropic
from langchain.agents import load_tools, initialize_agent, AgentType, Tool
from langchain.chains.conversation.memory import ConversationBufferWindowMemory
from langchain.tools.python.tool import PythonREPLTool
from langchain.python import PythonREPL
from langchain.requests import RequestsWrapper
from langchain.agents.agent_toolkits.openapi.spec import reduce_openapi_spec
# openai api tool
url = "https://raw.githubusercontent.com/openai/openai-openapi/master/openapi.yaml"
file_name = "openai_openapi.yaml"
response = requests.get(url, verify=False)
with open(file_name, "wb") as file:
file.write(response.content)
with open("openai_openapi.yaml") as f:
raw_openai_api_spec = yaml.load(f, Loader=yaml.Loader)
openai_api_spec = reduce_openapi_spec(raw_openai_api_spec)
headers = {
"Authorization": f"Bearer {os.getenv('OPENAI_API_KEY')}"
}
openai_requests_wrapper=RequestsWrapper(headers=headers)
llm = ChatOpenAI(temperature=0) #OpenAI(model_name="gpt-4", temperature=0.25)
openai_agent = planner.create_openapi_agent(openai_api_spec, openai_requests_wrapper, llm)
def open_api_response(user_query, **kwargs):
response = openai_agent.run(user_query)
return response
openai_api_tool = Tool(
name = "OpenAI API",
func = open_api_response,
description = """Useful when you need information directly from OpenAI regarding any topic.
"""
)
# Define available tools
available_tools = {
'Math': "llm-math",
'Open AI API Tool': openai_api_tool
}
# model selection
llm = ChatOpenAI(temperature=0)
# loading selected tools
tools = load_tools([available_tools[tool] for tool in available_tools.keys()
if isinstance(available_tools[tool], str) == True], llm=llm)
tools += [available_tools[tool] for tool in available_tools.keys()
if isinstance(available_tools[tool], str) != True]
# conversational agent memory
memory = ConversationBufferWindowMemory(
memory_key='chat_history',
k=5,
return_messages=True
)
# Initialize agent
agent = initialize_agent(
tools=tools,
llm=llm,
agent=AgentType.CHAT_ZERO_SHOT_REACT_DESCRIPTION,
memory=memory,
handle_parsing_errors=True,
verbose = True)
query = "get me a very short random paragraph using openai"
agent(query)
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
I am working on creating a library of tool for my personal use. One tool I am working on is to get data using an OpenAPI. Below is getting an error "Too many arguments". Any workaround or suggestions?
Beta Was this translation helpful? Give feedback.
All reactions