Cleanup and added dependencies to make example executable (#4795)

- Installation of non-colab packages
- Get API keys
- Get rid of warnings

# Cleanup and added dependencies to make notebook executable on hosted
notebooks
@hwchase17
@vowelparrot
pull/4851/head
Mark Pors 1 year ago committed by GitHub
parent bcce9a3a92
commit 5bc7082e82
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -3,7 +3,9 @@
{ {
"cell_type": "markdown", "cell_type": "markdown",
"id": "4658d71a", "id": "4658d71a",
"metadata": {}, "metadata": {
"id": "4658d71a"
},
"source": [ "source": [
"# Conversation Agent (for Chat Models)\n", "# Conversation Agent (for Chat Models)\n",
"\n", "\n",
@ -14,46 +16,58 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 1,
"id": "f4f5d1a8",
"metadata": {},
"outputs": [],
"source": [ "source": [
"import os\n", "!pip install langchain\n",
"os.environ[\"LANGCHAIN_HANDLER\"] = \"langchain\"" "!pip install google-search-results\n",
] "!pip install openai"
],
"metadata": {
"id": "efpRpEwvNXU5"
},
"id": "efpRpEwvNXU5",
"execution_count": null,
"outputs": []
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 2, "execution_count": 2,
"id": "f65308ab", "id": "f65308ab",
"metadata": {}, "metadata": {
"outputs": [ "id": "f65308ab"
{ },
"name": "stderr", "outputs": [],
"output_type": "stream",
"text": [
"WARNING:root:Failed to default session, using empty session: HTTPConnectionPool(host='localhost', port=8000): Max retries exceeded with url: /sessions (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x10a1767c0>: Failed to establish a new connection: [Errno 61] Connection refused'))\n"
]
}
],
"source": [ "source": [
"from langchain.agents import Tool\n", "from langchain.agents import Tool\n",
"from langchain.memory import ConversationBufferMemory\n", "from langchain.memory import ConversationBufferMemory\n",
"from langchain.chat_models import ChatOpenAI\n", "from langchain.chat_models import ChatOpenAI\n",
"from langchain.utilities import SerpAPIWrapper\n", "from langchain.utilities import SerpAPIWrapper\n",
"from langchain.agents import initialize_agent\n", "from langchain.agents import initialize_agent\n",
"from langchain.agents import AgentType" "from langchain.agents import AgentType\n",
"from getpass import getpass"
] ]
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 3, "source": [
"SERPAPI_API_KEY = getpass()"
],
"metadata": {
"id": "qMOoW5QYNlPQ"
},
"id": "qMOoW5QYNlPQ",
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"execution_count": 4,
"id": "5fb14d6d", "id": "5fb14d6d",
"metadata": {}, "metadata": {
"id": "5fb14d6d"
},
"outputs": [], "outputs": [],
"source": [ "source": [
"search = SerpAPIWrapper()\n", "search = SerpAPIWrapper(serpapi_api_key=SERPAPI_API_KEY)\n",
"tools = [\n", "tools = [\n",
" Tool(\n", " Tool(\n",
" name = \"Current Search\",\n", " name = \"Current Search\",\n",
@ -65,9 +79,11 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 4, "execution_count": 5,
"id": "dddc34c4", "id": "dddc34c4",
"metadata": {}, "metadata": {
"id": "dddc34c4"
},
"outputs": [], "outputs": [],
"source": [ "source": [
"memory = ConversationBufferMemory(memory_key=\"chat_history\", return_messages=True)" "memory = ConversationBufferMemory(memory_key=\"chat_history\", return_messages=True)"
@ -75,41 +91,49 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 5, "source": [
"OPENAI_API_KEY = getpass()"
],
"metadata": {
"id": "pJWcpWnoN56_"
},
"id": "pJWcpWnoN56_",
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"execution_count": 7,
"id": "cafe9bc1", "id": "cafe9bc1",
"metadata": {}, "metadata": {
"id": "cafe9bc1"
},
"outputs": [], "outputs": [],
"source": [ "source": [
"llm=ChatOpenAI(temperature=0)\n", "llm=ChatOpenAI(openai_api_key=OPENAI_API_KEY, temperature=0)\n",
"agent_chain = initialize_agent(tools, llm, agent=AgentType.CHAT_CONVERSATIONAL_REACT_DESCRIPTION, verbose=True, memory=memory)" "agent_chain = initialize_agent(tools, llm, agent=AgentType.CHAT_CONVERSATIONAL_REACT_DESCRIPTION, verbose=True, memory=memory)"
] ]
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 6, "execution_count": 8,
"id": "dc70b454", "id": "dc70b454",
"metadata": {}, "metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 192
},
"id": "dc70b454",
"outputId": "9e3d6857-72de-472f-b531-9a7b843f1621"
},
"outputs": [ "outputs": [
{ {
"name": "stdout",
"output_type": "stream", "output_type": "stream",
"name": "stdout",
"text": [ "text": [
"\n", "\n",
"\n", "\n",
"\u001b[1m> Entering new AgentExecutor chain...\u001b[0m\n" "\u001b[1m> Entering new AgentExecutor chain...\u001b[0m\n",
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:root:Failed to persist run: HTTPConnectionPool(host='localhost', port=8000): Max retries exceeded with url: /chain-runs (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x13fab40d0>: Failed to establish a new connection: [Errno 61] Connection refused'))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[32;1m\u001b[1;3m{\n", "\u001b[32;1m\u001b[1;3m{\n",
" \"action\": \"Final Answer\",\n", " \"action\": \"Final Answer\",\n",
" \"action_input\": \"Hello Bob! How can I assist you today?\"\n", " \"action_input\": \"Hello Bob! How can I assist you today?\"\n",
@ -119,14 +143,17 @@
] ]
}, },
{ {
"output_type": "execute_result",
"data": { "data": {
"text/plain": [ "text/plain": [
"'Hello Bob! How can I assist you today?'" "'Hello Bob! How can I assist you today?'"
] ],
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "string"
}
}, },
"execution_count": 6,
"metadata": {}, "metadata": {},
"output_type": "execute_result" "execution_count": 8
} }
], ],
"source": [ "source": [
@ -135,30 +162,24 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 7, "execution_count": 9,
"id": "3dcf7953", "id": "3dcf7953",
"metadata": {}, "metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 192
},
"id": "3dcf7953",
"outputId": "9afdbf2c-ceed-4835-9975-0841dd2162d6"
},
"outputs": [ "outputs": [
{ {
"name": "stdout",
"output_type": "stream", "output_type": "stream",
"name": "stdout",
"text": [ "text": [
"\n", "\n",
"\n", "\n",
"\u001b[1m> Entering new AgentExecutor chain...\u001b[0m\n" "\u001b[1m> Entering new AgentExecutor chain...\u001b[0m\n",
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:root:Failed to persist run: HTTPConnectionPool(host='localhost', port=8000): Max retries exceeded with url: /chain-runs (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x13fab44f0>: Failed to establish a new connection: [Errno 61] Connection refused'))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[32;1m\u001b[1;3m{\n", "\u001b[32;1m\u001b[1;3m{\n",
" \"action\": \"Final Answer\",\n", " \"action\": \"Final Answer\",\n",
" \"action_input\": \"Your name is Bob.\"\n", " \"action_input\": \"Your name is Bob.\"\n",
@ -168,14 +189,17 @@
] ]
}, },
{ {
"output_type": "execute_result",
"data": { "data": {
"text/plain": [ "text/plain": [
"'Your name is Bob.'" "'Your name is Bob.'"
] ],
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "string"
}
}, },
"execution_count": 7,
"metadata": {}, "metadata": {},
"output_type": "execute_result" "execution_count": 9
} }
], ],
"source": [ "source": [
@ -184,15 +208,21 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 8, "execution_count": 10,
"id": "aa05f566", "id": "aa05f566",
"metadata": { "metadata": {
"scrolled": false "scrolled": false,
"colab": {
"base_uri": "https://localhost:8080/",
"height": 316
},
"id": "aa05f566",
"outputId": "d38fe468-6c94-450a-9f07-0044bf7beb34"
}, },
"outputs": [ "outputs": [
{ {
"name": "stdout",
"output_type": "stream", "output_type": "stream",
"name": "stdout",
"text": [ "text": [
"\n", "\n",
"\n", "\n",
@ -201,38 +231,27 @@
" \"action\": \"Current Search\",\n", " \"action\": \"Current Search\",\n",
" \"action_input\": \"Thai food dinner recipes\"\n", " \"action_input\": \"Thai food dinner recipes\"\n",
"}\u001b[0m\n", "}\u001b[0m\n",
"Observation: \u001b[36;1m\u001b[1;3m59 easy Thai recipes for any night of the week · Marion Grasby's Thai spicy chilli and basil fried rice · Thai curry noodle soup · Marion Grasby's Thai Spicy ...\u001b[0m\n", "Observation: \u001b[36;1m\u001b[1;3m64 easy Thai recipes for any night of the week · Thai curry noodle soup · Thai yellow cauliflower, snake bean and tofu curry · Thai-spiced chicken hand pies · Thai ...\u001b[0m\n",
"Thought:" "Thought:\u001b[32;1m\u001b[1;3m{\n",
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:root:Failed to persist run: HTTPConnectionPool(host='localhost', port=8000): Max retries exceeded with url: /chain-runs (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x13fae8be0>: Failed to establish a new connection: [Errno 61] Connection refused'))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[32;1m\u001b[1;3m{\n",
" \"action\": \"Final Answer\",\n", " \"action\": \"Final Answer\",\n",
" \"action_input\": \"Here are some Thai food dinner recipes you can make this week: Thai spicy chilli and basil fried rice, Thai curry noodle soup, and Thai Spicy ... (59 recipes in total).\"\n", " \"action_input\": \"Here are some Thai food dinner recipes you can try this week: Thai curry noodle soup, Thai yellow cauliflower, snake bean and tofu curry, Thai-spiced chicken hand pies, and many more. You can find the full list of recipes at the source I found earlier.\"\n",
"}\u001b[0m\n", "}\u001b[0m\n",
"\n", "\n",
"\u001b[1m> Finished chain.\u001b[0m\n" "\u001b[1m> Finished chain.\u001b[0m\n"
] ]
}, },
{ {
"output_type": "execute_result",
"data": { "data": {
"text/plain": [ "text/plain": [
"'Here are some Thai food dinner recipes you can make this week: Thai spicy chilli and basil fried rice, Thai curry noodle soup, and Thai Spicy ... (59 recipes in total).'" "'Here are some Thai food dinner recipes you can try this week: Thai curry noodle soup, Thai yellow cauliflower, snake bean and tofu curry, Thai-spiced chicken hand pies, and many more. You can find the full list of recipes at the source I found earlier.'"
] ],
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "string"
}
}, },
"execution_count": 8,
"metadata": {}, "metadata": {},
"output_type": "execute_result" "execution_count": 10
} }
], ],
"source": [ "source": [
@ -241,57 +260,44 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 9, "execution_count": 11,
"id": "c5d8b7ea", "id": "c5d8b7ea",
"metadata": {}, "metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 192
},
"id": "c5d8b7ea",
"outputId": "105db01e-c0f7-4b82-edd9-ea02a02fc66a"
},
"outputs": [ "outputs": [
{ {
"name": "stdout",
"output_type": "stream", "output_type": "stream",
"name": "stdout",
"text": [ "text": [
"\n", "\n",
"\n", "\n",
"\u001b[1m> Entering new AgentExecutor chain...\u001b[0m\n", "\u001b[1m> Entering new AgentExecutor chain...\u001b[0m\n",
"\u001b[32;1m\u001b[1;3m```json\n", "\u001b[32;1m\u001b[1;3m{\n",
"{\n",
" \"action\": \"Current Search\",\n",
" \"action_input\": \"who won the world cup in 1978\"\n",
"}\n",
"```\u001b[0m\n",
"Observation: \u001b[36;1m\u001b[1;3mArgentina national football team\u001b[0m\n",
"Thought:"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:root:Failed to persist run: HTTPConnectionPool(host='localhost', port=8000): Max retries exceeded with url: /chain-runs (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x13fae86d0>: Failed to establish a new connection: [Errno 61] Connection refused'))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[32;1m\u001b[1;3m```json\n",
"{\n",
" \"action\": \"Final Answer\",\n", " \"action\": \"Final Answer\",\n",
" \"action_input\": \"The last letter in your name is 'b', and the winner of the 1978 World Cup was the Argentina national football team.\"\n", " \"action_input\": \"The last letter in your name is 'b'. Argentina won the World Cup in 1978.\"\n",
"}\n", "}\u001b[0m\n",
"```\u001b[0m\n",
"\n", "\n",
"\u001b[1m> Finished chain.\u001b[0m\n" "\u001b[1m> Finished chain.\u001b[0m\n"
] ]
}, },
{ {
"output_type": "execute_result",
"data": { "data": {
"text/plain": [ "text/plain": [
"\"The last letter in your name is 'b', and the winner of the 1978 World Cup was the Argentina national football team.\"" "\"The last letter in your name is 'b'. Argentina won the World Cup in 1978.\""
] ],
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "string"
}
}, },
"execution_count": 9,
"metadata": {}, "metadata": {},
"output_type": "execute_result" "execution_count": 11
} }
], ],
"source": [ "source": [
@ -300,13 +306,20 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 10, "execution_count": 12,
"id": "f608889b", "id": "f608889b",
"metadata": {}, "metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 278
},
"id": "f608889b",
"outputId": "49ea0e17-d8cd-4de9-e119-e6006caea32f"
},
"outputs": [ "outputs": [
{ {
"name": "stdout",
"output_type": "stream", "output_type": "stream",
"name": "stdout",
"text": [ "text": [
"\n", "\n",
"\n", "\n",
@ -315,51 +328,32 @@
" \"action\": \"Current Search\",\n", " \"action\": \"Current Search\",\n",
" \"action_input\": \"weather in pomfret\"\n", " \"action_input\": \"weather in pomfret\"\n",
"}\u001b[0m\n", "}\u001b[0m\n",
"Observation: \u001b[36;1m\u001b[1;3m10 Day Weather-Pomfret, CT ; Sun 16. 64° · 50°. 24% · NE 7 mph ; Mon 17. 58° · 45°. 70% · ESE 8 mph ; Tue 18. 57° · 37°. 8% · WSW 15 mph.\u001b[0m\n", "Observation: \u001b[36;1m\u001b[1;3mCloudy with showers. Low around 55F. Winds S at 5 to 10 mph. Chance of rain 60%. Humidity76%.\u001b[0m\n",
"Thought:" "Thought:\u001b[32;1m\u001b[1;3m{\n",
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:root:Failed to persist run: HTTPConnectionPool(host='localhost', port=8000): Max retries exceeded with url: /chain-runs (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x13fa9d7f0>: Failed to establish a new connection: [Errno 61] Connection refused'))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[32;1m\u001b[1;3m{\n",
" \"action\": \"Final Answer\",\n", " \"action\": \"Final Answer\",\n",
" \"action_input\": \"The weather in Pomfret, CT for the next 10 days is as follows: Sun 16. 64° · 50°. 24% · NE 7 mph ; Mon 17. 58° · 45°. 70% · ESE 8 mph ; Tue 18. 57° · 37°. 8% · WSW 15 mph.\"\n", " \"action_input\": \"Cloudy with showers. Low around 55F. Winds S at 5 to 10 mph. Chance of rain 60%. Humidity76%.\"\n",
"}\u001b[0m\n", "}\u001b[0m\n",
"\n", "\n",
"\u001b[1m> Finished chain.\u001b[0m\n" "\u001b[1m> Finished chain.\u001b[0m\n"
] ]
}, },
{ {
"output_type": "execute_result",
"data": { "data": {
"text/plain": [ "text/plain": [
"'The weather in Pomfret, CT for the next 10 days is as follows: Sun 16. 64° · 50°. 24% · NE 7 mph ; Mon 17. 58° · 45°. 70% · ESE 8 mph ; Tue 18. 57° · 37°. 8% · WSW 15 mph.'" "'Cloudy with showers. Low around 55F. Winds S at 5 to 10 mph. Chance of rain 60%. Humidity76%.'"
] ],
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "string"
}
}, },
"execution_count": 10,
"metadata": {}, "metadata": {},
"output_type": "execute_result" "execution_count": 12
} }
], ],
"source": [ "source": [
"agent_chain.run(input=\"whats the weather like in pomfret?\")" "agent_chain.run(input=\"whats the weather like in pomfret?\")"
] ]
},
{
"cell_type": "code",
"execution_count": null,
"id": "0084efd6",
"metadata": {},
"outputs": [],
"source": []
} }
], ],
"metadata": { "metadata": {
@ -379,6 +373,9 @@
"nbconvert_exporter": "python", "nbconvert_exporter": "python",
"pygments_lexer": "ipython3", "pygments_lexer": "ipython3",
"version": "3.9.1" "version": "3.9.1"
},
"colab": {
"provenance": []
} }
}, },
"nbformat": 4, "nbformat": 4,

Loading…
Cancel
Save