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
dynamic_agent_tools
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",
"id": "4658d71a",
"metadata": {},
"metadata": {
"id": "4658d71a"
},
"source": [
"# Conversation Agent (for Chat Models)\n",
"\n",
@ -14,46 +16,58 @@
},
{
"cell_type": "code",
"execution_count": 1,
"id": "f4f5d1a8",
"metadata": {},
"outputs": [],
"source": [
"import os\n",
"os.environ[\"LANGCHAIN_HANDLER\"] = \"langchain\""
]
"!pip install langchain\n",
"!pip install google-search-results\n",
"!pip install openai"
],
"metadata": {
"id": "efpRpEwvNXU5"
},
"id": "efpRpEwvNXU5",
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"execution_count": 2,
"id": "f65308ab",
"metadata": {},
"outputs": [
{
"name": "stderr",
"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"
]
}
],
"metadata": {
"id": "f65308ab"
},
"outputs": [],
"source": [
"from langchain.agents import Tool\n",
"from langchain.memory import ConversationBufferMemory\n",
"from langchain.chat_models import ChatOpenAI\n",
"from langchain.utilities import SerpAPIWrapper\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",
"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",
"metadata": {},
"metadata": {
"id": "5fb14d6d"
},
"outputs": [],
"source": [
"search = SerpAPIWrapper()\n",
"search = SerpAPIWrapper(serpapi_api_key=SERPAPI_API_KEY)\n",
"tools = [\n",
" Tool(\n",
" name = \"Current Search\",\n",
@ -65,9 +79,11 @@
},
{
"cell_type": "code",
"execution_count": 4,
"execution_count": 5,
"id": "dddc34c4",
"metadata": {},
"metadata": {
"id": "dddc34c4"
},
"outputs": [],
"source": [
"memory = ConversationBufferMemory(memory_key=\"chat_history\", return_messages=True)"
@ -75,41 +91,49 @@
},
{
"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",
"metadata": {},
"metadata": {
"id": "cafe9bc1"
},
"outputs": [],
"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)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"execution_count": 8,
"id": "dc70b454",
"metadata": {},
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 192
},
"id": "dc70b454",
"outputId": "9e3d6857-72de-472f-b531-9a7b843f1621"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"name": "stdout",
"text": [
"\n",
"\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[1m> Entering new AgentExecutor chain...\u001b[0m\n",
"\u001b[32;1m\u001b[1;3m{\n",
" \"action\": \"Final Answer\",\n",
" \"action_input\": \"Hello Bob! How can I assist you today?\"\n",
@ -119,14 +143,17 @@
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"'Hello Bob! How can I assist you today?'"
]
],
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "string"
}
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
"execution_count": 8
}
],
"source": [
@ -135,30 +162,24 @@
},
{
"cell_type": "code",
"execution_count": 7,
"execution_count": 9,
"id": "3dcf7953",
"metadata": {},
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 192
},
"id": "3dcf7953",
"outputId": "9afdbf2c-ceed-4835-9975-0841dd2162d6"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"name": "stdout",
"text": [
"\n",
"\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[1m> Entering new AgentExecutor chain...\u001b[0m\n",
"\u001b[32;1m\u001b[1;3m{\n",
" \"action\": \"Final Answer\",\n",
" \"action_input\": \"Your name is Bob.\"\n",
@ -168,14 +189,17 @@
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"'Your name is Bob.'"
]
],
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "string"
}
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
"execution_count": 9
}
],
"source": [
@ -184,15 +208,21 @@
},
{
"cell_type": "code",
"execution_count": 8,
"execution_count": 10,
"id": "aa05f566",
"metadata": {
"scrolled": false
"scrolled": false,
"colab": {
"base_uri": "https://localhost:8080/",
"height": 316
},
"id": "aa05f566",
"outputId": "d38fe468-6c94-450a-9f07-0044bf7beb34"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"name": "stdout",
"text": [
"\n",
"\n",
@ -201,38 +231,27 @@
" \"action\": \"Current Search\",\n",
" \"action_input\": \"Thai food dinner recipes\"\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",
"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 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",
"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:\u001b[32;1m\u001b[1;3m{\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",
"\n",
"\u001b[1m> Finished chain.\u001b[0m\n"
]
},
{
"output_type": "execute_result",
"data": {
"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": {},
"output_type": "execute_result"
"execution_count": 10
}
],
"source": [
@ -241,57 +260,44 @@
},
{
"cell_type": "code",
"execution_count": 9,
"execution_count": 11,
"id": "c5d8b7ea",
"metadata": {},
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 192
},
"id": "c5d8b7ea",
"outputId": "105db01e-c0f7-4b82-edd9-ea02a02fc66a"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"name": "stdout",
"text": [
"\n",
"\n",
"\u001b[1m> Entering new AgentExecutor chain...\u001b[0m\n",
"\u001b[32;1m\u001b[1;3m```json\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",
"\u001b[32;1m\u001b[1;3m{\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",
"}\n",
"```\u001b[0m\n",
" \"action_input\": \"The last letter in your name is 'b'. Argentina won the World Cup in 1978.\"\n",
"}\u001b[0m\n",
"\n",
"\u001b[1m> Finished chain.\u001b[0m\n"
]
},
{
"output_type": "execute_result",
"data": {
"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": {},
"output_type": "execute_result"
"execution_count": 11
}
],
"source": [
@ -300,13 +306,20 @@
},
{
"cell_type": "code",
"execution_count": 10,
"execution_count": 12,
"id": "f608889b",
"metadata": {},
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 278
},
"id": "f608889b",
"outputId": "49ea0e17-d8cd-4de9-e119-e6006caea32f"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"name": "stdout",
"text": [
"\n",
"\n",
@ -315,51 +328,32 @@
" \"action\": \"Current Search\",\n",
" \"action_input\": \"weather in pomfret\"\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",
"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 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",
"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:\u001b[32;1m\u001b[1;3m{\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",
"\n",
"\u001b[1m> Finished chain.\u001b[0m\n"
]
},
{
"output_type": "execute_result",
"data": {
"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": {},
"output_type": "execute_result"
"execution_count": 12
}
],
"source": [
"agent_chain.run(input=\"whats the weather like in pomfret?\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "0084efd6",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
@ -379,6 +373,9 @@
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.1"
},
"colab": {
"provenance": []
}
},
"nbformat": 4,

Loading…
Cancel
Save