#!/usr/bin/env python # coding: utf-8 # In[1]: from langchain_community.tools.wikidata.tool import WikidataAPIWrapper, WikidataQueryRun from langchain_openai import ChatOpenAI from langchain import hub from langchain.agents import create_openai_functions_agent from langchain.agents import AgentExecutor from langchain.tools import BaseTool, StructuredTool, tool from langchain.agents import load_tools from langchain.callbacks import get_openai_callback # In[2]: llm = ChatOpenAI(model='gpt-4-1106-preview') wikidata = WikidataQueryRun(api_wrapper=WikidataAPIWrapper()) prompt = hub.pull("hwchase17/openai-functions-agent") tools = [wikidata] agent = create_openai_functions_agent(llm, tools, prompt) agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True) # In[4]: agent_executor.invoke({"input": "When was the paper 'Respect limits of embryo patents' published?"}) # In[5]: agent_executor.invoke({"input": "Laura Loomer is a member of what Political Party?"}) # In[8]: agent_executor.invoke({"input": "Where is HuggingFace headquartered?"}) # In[12]: agent_executor.invoke({"input": "What year was the director of 'Primer' born using only information from wikidata?"}) # In[14]: agent_executor.invoke({"input": "When did the House episode 'Insensitive' air?"}) # In[ ]: