{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Google Finance\n",
    "\n",
    "This notebook goes over how to use the Google Finance Tool to get information from the Google Finance page\n",
    "\n",
    "To get an SerpApi key key, sign up at: https://serpapi.com/users/sign_up.\n",
    "\n",
    "Then install google-search-results with the command: \n",
    "\n",
    "pip install google-search-results\n",
    "\n",
    "Then set the environment variable SERPAPI_API_KEY to your SerpApi key\n",
    "\n",
    "Or pass the key in as a argument to the wrapper serp_api_key=\"your secret key\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Use the Tool"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "!pip install google-search-results"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "\n",
    "from langchain.tools.google_finance import GoogleFinanceQueryRun\n",
    "from langchain.utilities.google_finance import GoogleFinanceAPIWrapper\n",
    "\n",
    "os.environ[\"SERPAPI_API_KEY\"] = \"\"\n",
    "tool = GoogleFinanceQueryRun(api_wrapper=GoogleFinanceAPIWrapper())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "tool.run(\"Google\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Using it with Langchain"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "\n",
    "from langchain.agents import AgentType, initialize_agent, load_tools\n",
    "from langchain.llms import OpenAI\n",
    "\n",
    "os.environ[\"OPENAI_API_KEY\"] = \"\"\n",
    "os.environ[\"SERP_API_KEY\"] = \"\"\n",
    "llm = OpenAI()\n",
    "tools = load_tools([\"google-scholar\", \"google-finance\"], llm=llm)\n",
    "agent = initialize_agent(\n",
    "    tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True\n",
    ")\n",
    "agent.run(\"what is google's stock\")"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
