Spaces:
Runtime error
Runtime error
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "XiUyHP4T2g5F" | |
}, | |
"source": [ | |
"# Install the dependicies\n", | |
"Run the code below to install the depencies we need for our functions" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "6LL4rxT6_W7h", | |
"outputId": "700a185c-1a2a-4f5a-b841-2295ec556b02" | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Requirement already satisfied: llama-index in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (0.4.33)\n", | |
"Requirement already satisfied: dataclasses_json in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from llama-index) (0.5.7)\n", | |
"Requirement already satisfied: langchain in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from llama-index) (0.0.117)\n", | |
"Requirement already satisfied: numpy in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from llama-index) (1.24.2)\n", | |
"Requirement already satisfied: tenacity<9.0.0,>=8.2.0 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from llama-index) (8.2.2)\n", | |
"Requirement already satisfied: openai>=0.26.4 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from llama-index) (0.27.2)\n", | |
"Requirement already satisfied: pandas in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from llama-index) (1.5.3)\n", | |
"Requirement already satisfied: tiktoken in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from llama-index) (0.3.2)\n", | |
"Requirement already satisfied: requests>=2.20 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from openai>=0.26.4->llama-index) (2.28.2)\n", | |
"Requirement already satisfied: tqdm in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from openai>=0.26.4->llama-index) (4.65.0)\n", | |
"Requirement already satisfied: aiohttp in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from openai>=0.26.4->llama-index) (3.8.4)\n", | |
"Requirement already satisfied: marshmallow<4.0.0,>=3.3.0 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from dataclasses_json->llama-index) (3.19.0)\n", | |
"Requirement already satisfied: marshmallow-enum<2.0.0,>=1.5.1 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from dataclasses_json->llama-index) (1.5.1)\n", | |
"Requirement already satisfied: typing-inspect>=0.4.0 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from dataclasses_json->llama-index) (0.8.0)\n", | |
"Requirement already satisfied: PyYAML>=5.4.1 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from langchain->llama-index) (6.0)\n", | |
"Requirement already satisfied: SQLAlchemy<2,>=1 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from langchain->llama-index) (1.2.19)\n", | |
"Requirement already satisfied: pydantic<2,>=1 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from langchain->llama-index) (1.10.6)\n", | |
"Requirement already satisfied: python-dateutil>=2.8.1 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from pandas->llama-index) (2.8.2)\n", | |
"Requirement already satisfied: pytz>=2020.1 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from pandas->llama-index) (2022.7.1)\n", | |
"Requirement already satisfied: regex>=2022.1.18 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from tiktoken->llama-index) (2022.10.31)\n", | |
"Requirement already satisfied: attrs>=17.3.0 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from aiohttp->openai>=0.26.4->llama-index) (22.2.0)\n", | |
"Requirement already satisfied: charset-normalizer<4.0,>=2.0 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from aiohttp->openai>=0.26.4->llama-index) (3.1.0)\n", | |
"Requirement already satisfied: multidict<7.0,>=4.5 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from aiohttp->openai>=0.26.4->llama-index) (6.0.4)\n", | |
"Requirement already satisfied: async-timeout<5.0,>=4.0.0a3 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from aiohttp->openai>=0.26.4->llama-index) (4.0.2)\n", | |
"Requirement already satisfied: yarl<2.0,>=1.0 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from aiohttp->openai>=0.26.4->llama-index) (1.8.2)\n", | |
"Requirement already satisfied: frozenlist>=1.1.1 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from aiohttp->openai>=0.26.4->llama-index) (1.3.3)\n", | |
"Requirement already satisfied: aiosignal>=1.1.2 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from aiohttp->openai>=0.26.4->llama-index) (1.3.1)\n", | |
"Requirement already satisfied: packaging>=17.0 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from marshmallow<4.0.0,>=3.3.0->dataclasses_json->llama-index) (23.0)\n", | |
"Requirement already satisfied: typing-extensions>=4.2.0 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from pydantic<2,>=1->langchain->llama-index) (4.5.0)\n", | |
"Requirement already satisfied: six>=1.5 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from python-dateutil>=2.8.1->pandas->llama-index) (1.16.0)\n", | |
"Requirement already satisfied: idna<4,>=2.5 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from requests>=2.20->openai>=0.26.4->llama-index) (3.4)\n", | |
"Requirement already satisfied: urllib3<1.27,>=1.21.1 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from requests>=2.20->openai>=0.26.4->llama-index) (1.26.15)\n", | |
"Requirement already satisfied: certifi>=2017.4.17 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from requests>=2.20->openai>=0.26.4->llama-index) (2022.12.7)\n", | |
"Requirement already satisfied: mypy-extensions>=0.3.0 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from typing-inspect>=0.4.0->dataclasses_json->llama-index) (1.0.0)\n", | |
"Requirement already satisfied: colorama in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from tqdm->openai>=0.26.4->llama-index) (0.4.6)\n", | |
"Note: you may need to restart the kernel to use updated packages.\n", | |
"Requirement already satisfied: langchain in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (0.0.117)\n", | |
"Requirement already satisfied: PyYAML>=5.4.1 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from langchain) (6.0)\n", | |
"Requirement already satisfied: SQLAlchemy<2,>=1 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from langchain) (1.2.19)\n", | |
"Requirement already satisfied: aiohttp<4.0.0,>=3.8.3 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from langchain) (3.8.4)\n", | |
"Requirement already satisfied: dataclasses-json<0.6.0,>=0.5.7 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from langchain) (0.5.7)\n", | |
"Requirement already satisfied: numpy<2,>=1 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from langchain) (1.24.2)\n", | |
"Requirement already satisfied: pydantic<2,>=1 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from langchain) (1.10.6)\n", | |
"Requirement already satisfied: requests<3,>=2 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from langchain) (2.28.2)\n", | |
"Requirement already satisfied: tenacity<9.0.0,>=8.1.0 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from langchain) (8.2.2)\n", | |
"Requirement already satisfied: attrs>=17.3.0 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from aiohttp<4.0.0,>=3.8.3->langchain) (22.2.0)\n", | |
"Requirement already satisfied: charset-normalizer<4.0,>=2.0 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from aiohttp<4.0.0,>=3.8.3->langchain) (3.1.0)\n", | |
"Requirement already satisfied: multidict<7.0,>=4.5 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from aiohttp<4.0.0,>=3.8.3->langchain) (6.0.4)\n", | |
"Requirement already satisfied: async-timeout<5.0,>=4.0.0a3 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from aiohttp<4.0.0,>=3.8.3->langchain) (4.0.2)\n", | |
"Requirement already satisfied: yarl<2.0,>=1.0 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from aiohttp<4.0.0,>=3.8.3->langchain) (1.8.2)\n", | |
"Requirement already satisfied: frozenlist>=1.1.1 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from aiohttp<4.0.0,>=3.8.3->langchain) (1.3.3)\n", | |
"Requirement already satisfied: aiosignal>=1.1.2 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from aiohttp<4.0.0,>=3.8.3->langchain) (1.3.1)\n", | |
"Requirement already satisfied: marshmallow<4.0.0,>=3.3.0 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from dataclasses-json<0.6.0,>=0.5.7->langchain) (3.19.0)\n", | |
"Requirement already satisfied: marshmallow-enum<2.0.0,>=1.5.1 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from dataclasses-json<0.6.0,>=0.5.7->langchain) (1.5.1)\n", | |
"Requirement already satisfied: typing-inspect>=0.4.0 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from dataclasses-json<0.6.0,>=0.5.7->langchain) (0.8.0)\n", | |
"Requirement already satisfied: typing-extensions>=4.2.0 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from pydantic<2,>=1->langchain) (4.5.0)\n", | |
"Requirement already satisfied: idna<4,>=2.5 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from requests<3,>=2->langchain) (3.4)\n", | |
"Requirement already satisfied: urllib3<1.27,>=1.21.1 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from requests<3,>=2->langchain) (1.26.15)\n", | |
"Requirement already satisfied: certifi>=2017.4.17 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from requests<3,>=2->langchain) (2022.12.7)\n", | |
"Requirement already satisfied: packaging>=17.0 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from marshmallow<4.0.0,>=3.3.0->dataclasses-json<0.6.0,>=0.5.7->langchain) (23.0)\n", | |
"Requirement already satisfied: mypy-extensions>=0.3.0 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from typing-inspect>=0.4.0->dataclasses-json<0.6.0,>=0.5.7->langchain) (1.0.0)\n", | |
"Note: you may need to restart the kernel to use updated packages.\n", | |
"Requirement already satisfied: gradio in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (3.23.0)\n", | |
"Requirement already satisfied: aiofiles in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from gradio) (23.1.0)\n", | |
"Requirement already satisfied: aiohttp in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from gradio) (3.8.4)\n", | |
"Requirement already satisfied: altair>=4.2.0 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from gradio) (4.2.2)\n", | |
"Requirement already satisfied: fastapi in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from gradio) (0.95.0)\n", | |
"Requirement already satisfied: ffmpy in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from gradio) (0.3.0)\n", | |
"Requirement already satisfied: fsspec in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from gradio) (2023.3.0)\n", | |
"Requirement already satisfied: httpx in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from gradio) (0.23.3)\n", | |
"Requirement already satisfied: huggingface-hub in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from gradio) (0.13.3)\n", | |
"Requirement already satisfied: jinja2 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from gradio) (3.1.2)\n", | |
"Requirement already satisfied: markdown-it-py[linkify]>=2.0.0 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from gradio) (2.2.0)\n", | |
"Requirement already satisfied: markupsafe in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from gradio) (2.1.2)\n", | |
"Requirement already satisfied: matplotlib in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from gradio) (3.7.1)\n", | |
"Requirement already satisfied: mdit-py-plugins<=0.3.3 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from gradio) (0.3.3)\n", | |
"Requirement already satisfied: numpy in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from gradio) (1.24.2)\n", | |
"Requirement already satisfied: orjson in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from gradio) (3.8.8)\n", | |
"Requirement already satisfied: pandas in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from gradio) (1.5.3)\n", | |
"Requirement already satisfied: pillow in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from gradio) (9.4.0)\n", | |
"Requirement already satisfied: pydantic in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from gradio) (1.10.6)\n", | |
"Requirement already satisfied: pydub in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from gradio) (0.25.1)\n", | |
"Requirement already satisfied: python-multipart in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from gradio) (0.0.6)\n", | |
"Requirement already satisfied: pyyaml in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from gradio) (6.0)\n", | |
"Requirement already satisfied: requests in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from gradio) (2.28.2)\n", | |
"Requirement already satisfied: semantic-version in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from gradio) (2.10.0)\n", | |
"Requirement already satisfied: typing-extensions in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from gradio) (4.5.0)\n", | |
"Requirement already satisfied: uvicorn in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from gradio) (0.21.1)\n", | |
"Requirement already satisfied: websockets>=10.0 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from gradio) (10.4)\n", | |
"Requirement already satisfied: entrypoints in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from altair>=4.2.0->gradio) (0.4)\n", | |
"Requirement already satisfied: jsonschema>=3.0 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from altair>=4.2.0->gradio) (4.17.3)\n", | |
"Requirement already satisfied: toolz in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from altair>=4.2.0->gradio) (0.12.0)\n", | |
"Requirement already satisfied: filelock in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from huggingface-hub->gradio) (3.10.0)\n", | |
"Requirement already satisfied: tqdm>=4.42.1 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from huggingface-hub->gradio) (4.65.0)\n", | |
"Requirement already satisfied: packaging>=20.9 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from huggingface-hub->gradio) (23.0)\n", | |
"Requirement already satisfied: mdurl~=0.1 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from markdown-it-py[linkify]>=2.0.0->gradio) (0.1.2)\n", | |
"Requirement already satisfied: linkify-it-py<3,>=1 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from markdown-it-py[linkify]>=2.0.0->gradio) (2.0.0)\n", | |
"Requirement already satisfied: python-dateutil>=2.8.1 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from pandas->gradio) (2.8.2)\n", | |
"Requirement already satisfied: pytz>=2020.1 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from pandas->gradio) (2022.7.1)\n", | |
"Requirement already satisfied: attrs>=17.3.0 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from aiohttp->gradio) (22.2.0)\n", | |
"Requirement already satisfied: charset-normalizer<4.0,>=2.0 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from aiohttp->gradio) (3.1.0)\n", | |
"Requirement already satisfied: multidict<7.0,>=4.5 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from aiohttp->gradio) (6.0.4)\n", | |
"Requirement already satisfied: async-timeout<5.0,>=4.0.0a3 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from aiohttp->gradio) (4.0.2)\n", | |
"Requirement already satisfied: yarl<2.0,>=1.0 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from aiohttp->gradio) (1.8.2)\n", | |
"Requirement already satisfied: frozenlist>=1.1.1 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from aiohttp->gradio) (1.3.3)\n", | |
"Requirement already satisfied: aiosignal>=1.1.2 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from aiohttp->gradio) (1.3.1)\n", | |
"Requirement already satisfied: starlette<0.27.0,>=0.26.1 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from fastapi->gradio) (0.26.1)\n", | |
"Requirement already satisfied: certifi in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from httpx->gradio) (2022.12.7)\n", | |
"Requirement already satisfied: httpcore<0.17.0,>=0.15.0 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from httpx->gradio) (0.16.3)\n", | |
"Requirement already satisfied: rfc3986[idna2008]<2,>=1.3 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from httpx->gradio) (1.5.0)\n", | |
"Requirement already satisfied: sniffio in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from httpx->gradio) (1.3.0)\n", | |
"Requirement already satisfied: contourpy>=1.0.1 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from matplotlib->gradio) (1.0.7)\n", | |
"Requirement already satisfied: cycler>=0.10 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from matplotlib->gradio) (0.11.0)\n", | |
"Requirement already satisfied: fonttools>=4.22.0 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from matplotlib->gradio) (4.39.2)\n", | |
"Requirement already satisfied: kiwisolver>=1.0.1 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from matplotlib->gradio) (1.4.4)\n", | |
"Requirement already satisfied: pyparsing>=2.3.1 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from matplotlib->gradio) (3.0.9)\n", | |
"Requirement already satisfied: idna<4,>=2.5 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from requests->gradio) (3.4)\n", | |
"Requirement already satisfied: urllib3<1.27,>=1.21.1 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from requests->gradio) (1.26.15)\n", | |
"Requirement already satisfied: click>=7.0 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from uvicorn->gradio) (8.1.3)\n", | |
"Requirement already satisfied: h11>=0.8 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from uvicorn->gradio) (0.14.0)\n", | |
"Requirement already satisfied: colorama in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from click>=7.0->uvicorn->gradio) (0.4.6)\n", | |
"Requirement already satisfied: anyio<5.0,>=3.0 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from httpcore<0.17.0,>=0.15.0->httpx->gradio) (3.6.2)\n", | |
"Requirement already satisfied: pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from jsonschema>=3.0->altair>=4.2.0->gradio) (0.19.3)\n", | |
"Requirement already satisfied: uc-micro-py in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from linkify-it-py<3,>=1->markdown-it-py[linkify]>=2.0.0->gradio) (1.0.1)\n", | |
"Requirement already satisfied: six>=1.5 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from python-dateutil>=2.8.1->pandas->gradio) (1.16.0)\n", | |
"Note: you may need to restart the kernel to use updated packages.\n", | |
"Requirement already satisfied: openai in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (0.27.2)\n", | |
"Requirement already satisfied: requests>=2.20 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from openai) (2.28.2)\n", | |
"Requirement already satisfied: tqdm in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from openai) (4.65.0)\n", | |
"Requirement already satisfied: aiohttp in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from openai) (3.8.4)\n", | |
"Requirement already satisfied: charset-normalizer<4,>=2 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from requests>=2.20->openai) (3.1.0)\n", | |
"Requirement already satisfied: idna<4,>=2.5 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from requests>=2.20->openai) (3.4)\n", | |
"Requirement already satisfied: urllib3<1.27,>=1.21.1 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from requests>=2.20->openai) (1.26.15)\n", | |
"Requirement already satisfied: certifi>=2017.4.17 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from requests>=2.20->openai) (2022.12.7)\n", | |
"Requirement already satisfied: attrs>=17.3.0 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from aiohttp->openai) (22.2.0)\n", | |
"Requirement already satisfied: multidict<7.0,>=4.5 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from aiohttp->openai) (6.0.4)\n", | |
"Requirement already satisfied: async-timeout<5.0,>=4.0.0a3 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from aiohttp->openai) (4.0.2)\n", | |
"Requirement already satisfied: yarl<2.0,>=1.0 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from aiohttp->openai) (1.8.2)\n", | |
"Requirement already satisfied: frozenlist>=1.1.1 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from aiohttp->openai) (1.3.3)\n", | |
"Requirement already satisfied: aiosignal>=1.1.2 in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from aiohttp->openai) (1.3.1)\n", | |
"Requirement already satisfied: colorama in c:\\users\\ewok\\appdata\\roaming\\python\\python311\\site-packages (from tqdm->openai) (0.4.6)\n", | |
"Note: you may need to restart the kernel to use updated packages.\n" | |
] | |
} | |
], | |
"source": [ | |
"%pip install llama-index\n", | |
"%pip install langchain\n", | |
"%pip install gradio\n", | |
"%pip install openai" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "FbuYetOy25eM" | |
}, | |
"source": [ | |
"# Define the functions\n", | |
"The following code defines the functions we need to construct the index and query it" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"metadata": { | |
"id": "UelAqQgk_yIt" | |
}, | |
"outputs": [ | |
{ | |
"ename": "AttributeError", | |
"evalue": "module 'time' has no attribute 'clock'", | |
"output_type": "error", | |
"traceback": [ | |
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", | |
"\u001b[1;31mAttributeError\u001b[0m Traceback (most recent call last)", | |
"Cell \u001b[1;32mIn[5], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mllama_index\u001b[39;00m \u001b[39mimport\u001b[39;00m SimpleDirectoryReader, GPTSimpleVectorIndex, LLMPredictor, PromptHelper\n\u001b[0;32m 2\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mlangchain\u001b[39;00m \u001b[39mimport\u001b[39;00m OpenAI\n\u001b[0;32m 3\u001b[0m \u001b[39mimport\u001b[39;00m \u001b[39msys\u001b[39;00m\n", | |
"File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python311\\site-packages\\llama_index\\__init__.py:18\u001b[0m\n\u001b[0;32m 15\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mllama_index\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39membeddings\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mopenai\u001b[39;00m \u001b[39mimport\u001b[39;00m OpenAIEmbedding\n\u001b[0;32m 17\u001b[0m \u001b[39m# structured\u001b[39;00m\n\u001b[1;32m---> 18\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mllama_index\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mindices\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mcommon\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mstruct_store\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mbase\u001b[39;00m \u001b[39mimport\u001b[39;00m SQLDocumentContextBuilder\n\u001b[0;32m 19\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mllama_index\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mindices\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mempty\u001b[39;00m \u001b[39mimport\u001b[39;00m GPTEmptyIndex\n\u001b[0;32m 21\u001b[0m \u001b[39m# indices\u001b[39;00m\n", | |
"File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python311\\site-packages\\llama_index\\indices\\__init__.py:4\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[39m\"\"\"LlamaIndex data structures.\"\"\"\u001b[39;00m\n\u001b[0;32m 3\u001b[0m \u001b[39m# indices\u001b[39;00m\n\u001b[1;32m----> 4\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mllama_index\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mindices\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mkeyword_table\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mbase\u001b[39;00m \u001b[39mimport\u001b[39;00m GPTKeywordTableIndex\n\u001b[0;32m 5\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mllama_index\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mindices\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mkeyword_table\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mrake_base\u001b[39;00m \u001b[39mimport\u001b[39;00m GPTRAKEKeywordTableIndex\n\u001b[0;32m 6\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mllama_index\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mindices\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mkeyword_table\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39msimple_base\u001b[39;00m \u001b[39mimport\u001b[39;00m GPTSimpleKeywordTableIndex\n", | |
"File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python311\\site-packages\\llama_index\\indices\\keyword_table\\__init__.py:4\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[39m\"\"\"Keyword Table Index Data Structures.\"\"\"\u001b[39;00m\n\u001b[0;32m 3\u001b[0m \u001b[39m# indices\u001b[39;00m\n\u001b[1;32m----> 4\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mllama_index\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mindices\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mkeyword_table\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mbase\u001b[39;00m \u001b[39mimport\u001b[39;00m GPTKeywordTableIndex\n\u001b[0;32m 5\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mllama_index\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mindices\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mkeyword_table\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mrake_base\u001b[39;00m \u001b[39mimport\u001b[39;00m GPTRAKEKeywordTableIndex\n\u001b[0;32m 6\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mllama_index\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mindices\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mkeyword_table\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39msimple_base\u001b[39;00m \u001b[39mimport\u001b[39;00m GPTSimpleKeywordTableIndex\n", | |
"File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python311\\site-packages\\llama_index\\indices\\keyword_table\\base.py:16\u001b[0m\n\u001b[0;32m 14\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mllama_index\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39masync_utils\u001b[39;00m \u001b[39mimport\u001b[39;00m run_async_tasks\n\u001b[0;32m 15\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mllama_index\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mdata_structs\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mdata_structs\u001b[39;00m \u001b[39mimport\u001b[39;00m KeywordTable\n\u001b[1;32m---> 16\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mllama_index\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mindices\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mbase\u001b[39;00m \u001b[39mimport\u001b[39;00m DOCUMENTS_INPUT, BaseGPTIndex\n\u001b[0;32m 17\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mllama_index\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mindices\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mkeyword_table\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mutils\u001b[39;00m \u001b[39mimport\u001b[39;00m extract_keywords_given_response\n\u001b[0;32m 18\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mllama_index\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mindices\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mquery\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mbase\u001b[39;00m \u001b[39mimport\u001b[39;00m BaseGPTIndexQuery\n", | |
"File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python311\\site-packages\\llama_index\\indices\\base.py:23\u001b[0m\n\u001b[0;32m 21\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mllama_index\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39membeddings\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mopenai\u001b[39;00m \u001b[39mimport\u001b[39;00m OpenAIEmbedding\n\u001b[0;32m 22\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mllama_index\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mindices\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mnode_utils\u001b[39;00m \u001b[39mimport\u001b[39;00m get_nodes_from_document\n\u001b[1;32m---> 23\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mllama_index\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mindices\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mprompt_helper\u001b[39;00m \u001b[39mimport\u001b[39;00m PromptHelper\n\u001b[0;32m 24\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mllama_index\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mindices\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mquery\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mbase\u001b[39;00m \u001b[39mimport\u001b[39;00m BaseGPTIndexQuery\n\u001b[0;32m 25\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mllama_index\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mindices\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mquery\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mquery_runner\u001b[39;00m \u001b[39mimport\u001b[39;00m QueryRunner\n", | |
"File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python311\\site-packages\\llama_index\\indices\\prompt_helper.py:12\u001b[0m\n\u001b[0;32m 10\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mllama_index\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mconstants\u001b[39;00m \u001b[39mimport\u001b[39;00m MAX_CHUNK_OVERLAP\n\u001b[0;32m 11\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mllama_index\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mdata_structs\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mdata_structs\u001b[39;00m \u001b[39mimport\u001b[39;00m Node\n\u001b[1;32m---> 12\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mllama_index\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mlangchain_helpers\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mchain_wrapper\u001b[39;00m \u001b[39mimport\u001b[39;00m LLMPredictor\n\u001b[0;32m 13\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mllama_index\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mlangchain_helpers\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mtext_splitter\u001b[39;00m \u001b[39mimport\u001b[39;00m TokenTextSplitter\n\u001b[0;32m 14\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mllama_index\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mprompts\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mbase\u001b[39;00m \u001b[39mimport\u001b[39;00m Prompt\n", | |
"File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python311\\site-packages\\llama_index\\langchain_helpers\\chain_wrapper.py:6\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[39m\"\"\"Wrapper functions around an LLM chain.\"\"\"\u001b[39;00m\n\u001b[0;32m 3\u001b[0m \u001b[39m# NOTE: moved to llama_index/llm_predictor/base.py\u001b[39;00m\n\u001b[0;32m 4\u001b[0m \u001b[39m# NOTE: this is for backwards compatibility\u001b[39;00m\n\u001b[1;32m----> 6\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mllama_index\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mllm_predictor\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mbase\u001b[39;00m \u001b[39mimport\u001b[39;00m ( \u001b[39m# noqa: F401\u001b[39;00m\n\u001b[0;32m 7\u001b[0m LLMChain,\n\u001b[0;32m 8\u001b[0m LLMMetadata,\n\u001b[0;32m 9\u001b[0m LLMPredictor,\n\u001b[0;32m 10\u001b[0m )\n", | |
"File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python311\\site-packages\\llama_index\\llm_predictor\\__init__.py:4\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[39m\"\"\"Init params.\"\"\"\u001b[39;00m\n\u001b[0;32m 3\u001b[0m \u001b[39m# TODO: move LLMPredictor to this folder\u001b[39;00m\n\u001b[1;32m----> 4\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mllama_index\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mllm_predictor\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mbase\u001b[39;00m \u001b[39mimport\u001b[39;00m LLMPredictor\n\u001b[0;32m 5\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mllama_index\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mllm_predictor\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mstructured\u001b[39;00m \u001b[39mimport\u001b[39;00m StructuredLLMPredictor\n\u001b[0;32m 7\u001b[0m __all__ \u001b[39m=\u001b[39m [\n\u001b[0;32m 8\u001b[0m \u001b[39m\"\u001b[39m\u001b[39mLLMPredictor\u001b[39m\u001b[39m\"\u001b[39m,\n\u001b[0;32m 9\u001b[0m \u001b[39m\"\u001b[39m\u001b[39mStructuredLLMPredictor\u001b[39m\u001b[39m\"\u001b[39m,\n\u001b[0;32m 10\u001b[0m ]\n", | |
"File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python311\\site-packages\\llama_index\\llm_predictor\\base.py:9\u001b[0m\n\u001b[0;32m 6\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mtyping\u001b[39;00m \u001b[39mimport\u001b[39;00m Any, Generator, Optional, Protocol, Tuple\n\u001b[0;32m 8\u001b[0m \u001b[39mimport\u001b[39;00m \u001b[39mopenai\u001b[39;00m\n\u001b[1;32m----> 9\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mlangchain\u001b[39;00m \u001b[39mimport\u001b[39;00m Cohere, LLMChain, OpenAI\n\u001b[0;32m 10\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mlangchain\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mchat_models\u001b[39;00m \u001b[39mimport\u001b[39;00m ChatOpenAI\n\u001b[0;32m 11\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mlangchain\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mllms\u001b[39;00m \u001b[39mimport\u001b[39;00m AI21\n", | |
"File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python311\\site-packages\\langchain\\__init__.py:5\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[39m\"\"\"Main entrypoint into package.\"\"\"\u001b[39;00m\n\u001b[0;32m 3\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mtyping\u001b[39;00m \u001b[39mimport\u001b[39;00m Optional\n\u001b[1;32m----> 5\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mlangchain\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39magents\u001b[39;00m \u001b[39mimport\u001b[39;00m MRKLChain, ReActChain, SelfAskWithSearchChain\n\u001b[0;32m 6\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mlangchain\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mcache\u001b[39;00m \u001b[39mimport\u001b[39;00m BaseCache\n\u001b[0;32m 7\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mlangchain\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mcallbacks\u001b[39;00m \u001b[39mimport\u001b[39;00m (\n\u001b[0;32m 8\u001b[0m set_default_callback_manager,\n\u001b[0;32m 9\u001b[0m set_handler,\n\u001b[0;32m 10\u001b[0m set_tracing_callback_manager,\n\u001b[0;32m 11\u001b[0m )\n", | |
"File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python311\\site-packages\\langchain\\agents\\__init__.py:3\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[39m\"\"\"Interface for agents.\"\"\"\u001b[39;00m\n\u001b[0;32m 2\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mlangchain\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39magents\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39magent\u001b[39;00m \u001b[39mimport\u001b[39;00m Agent, AgentExecutor\n\u001b[1;32m----> 3\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mlangchain\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39magents\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39magent_toolkits\u001b[39;00m \u001b[39mimport\u001b[39;00m (\n\u001b[0;32m 4\u001b[0m create_csv_agent,\n\u001b[0;32m 5\u001b[0m create_json_agent,\n\u001b[0;32m 6\u001b[0m create_openapi_agent,\n\u001b[0;32m 7\u001b[0m create_pandas_dataframe_agent,\n\u001b[0;32m 8\u001b[0m create_sql_agent,\n\u001b[0;32m 9\u001b[0m create_vectorstore_agent,\n\u001b[0;32m 10\u001b[0m create_vectorstore_router_agent,\n\u001b[0;32m 11\u001b[0m )\n\u001b[0;32m 12\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mlangchain\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39magents\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mconversational\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mbase\u001b[39;00m \u001b[39mimport\u001b[39;00m ConversationalAgent\n\u001b[0;32m 13\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mlangchain\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39magents\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39minitialize\u001b[39;00m \u001b[39mimport\u001b[39;00m initialize_agent\n", | |
"File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python311\\site-packages\\langchain\\agents\\agent_toolkits\\__init__.py:3\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[39m\"\"\"Agent toolkits.\"\"\"\u001b[39;00m\n\u001b[1;32m----> 3\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mlangchain\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39magents\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39magent_toolkits\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mcsv\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mbase\u001b[39;00m \u001b[39mimport\u001b[39;00m create_csv_agent\n\u001b[0;32m 4\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mlangchain\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39magents\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39magent_toolkits\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mjson\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mbase\u001b[39;00m \u001b[39mimport\u001b[39;00m create_json_agent\n\u001b[0;32m 5\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mlangchain\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39magents\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39magent_toolkits\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mjson\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mtoolkit\u001b[39;00m \u001b[39mimport\u001b[39;00m JsonToolkit\n", | |
"File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python311\\site-packages\\langchain\\agents\\agent_toolkits\\csv\\base.py:5\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mtyping\u001b[39;00m \u001b[39mimport\u001b[39;00m Any, Optional\n\u001b[0;32m 4\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mlangchain\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39magents\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39magent\u001b[39;00m \u001b[39mimport\u001b[39;00m AgentExecutor\n\u001b[1;32m----> 5\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mlangchain\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39magents\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39magent_toolkits\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mpandas\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mbase\u001b[39;00m \u001b[39mimport\u001b[39;00m create_pandas_dataframe_agent\n\u001b[0;32m 6\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mlangchain\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mllms\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mbase\u001b[39;00m \u001b[39mimport\u001b[39;00m BaseLLM\n\u001b[0;32m 9\u001b[0m \u001b[39mdef\u001b[39;00m \u001b[39mcreate_csv_agent\u001b[39m(\n\u001b[0;32m 10\u001b[0m llm: BaseLLM, path: \u001b[39mstr\u001b[39m, pandas_kwargs: Optional[\u001b[39mdict\u001b[39m] \u001b[39m=\u001b[39m \u001b[39mNone\u001b[39;00m, \u001b[39m*\u001b[39m\u001b[39m*\u001b[39mkwargs: Any\n\u001b[0;32m 11\u001b[0m ) \u001b[39m-\u001b[39m\u001b[39m>\u001b[39m AgentExecutor:\n", | |
"File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python311\\site-packages\\langchain\\agents\\agent_toolkits\\pandas\\base.py:6\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mlangchain\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39magents\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39magent\u001b[39;00m \u001b[39mimport\u001b[39;00m AgentExecutor\n\u001b[0;32m 5\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mlangchain\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39magents\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39magent_toolkits\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mpandas\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mprompt\u001b[39;00m \u001b[39mimport\u001b[39;00m PREFIX, SUFFIX\n\u001b[1;32m----> 6\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mlangchain\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39magents\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mmrkl\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mbase\u001b[39;00m \u001b[39mimport\u001b[39;00m ZeroShotAgent\n\u001b[0;32m 7\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mlangchain\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mcallbacks\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mbase\u001b[39;00m \u001b[39mimport\u001b[39;00m BaseCallbackManager\n\u001b[0;32m 8\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mlangchain\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mchains\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mllm\u001b[39;00m \u001b[39mimport\u001b[39;00m LLMChain\n", | |
"File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python311\\site-packages\\langchain\\agents\\mrkl\\base.py:11\u001b[0m\n\u001b[0;32m 9\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mlangchain\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39magents\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mtools\u001b[39;00m \u001b[39mimport\u001b[39;00m Tool\n\u001b[0;32m 10\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mlangchain\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mcallbacks\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mbase\u001b[39;00m \u001b[39mimport\u001b[39;00m BaseCallbackManager\n\u001b[1;32m---> 11\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mlangchain\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mchains\u001b[39;00m \u001b[39mimport\u001b[39;00m LLMChain\n\u001b[0;32m 12\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mlangchain\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mllms\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mbase\u001b[39;00m \u001b[39mimport\u001b[39;00m BaseLLM\n\u001b[0;32m 13\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mlangchain\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mprompts\u001b[39;00m \u001b[39mimport\u001b[39;00m PromptTemplate\n", | |
"File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python311\\site-packages\\langchain\\chains\\__init__.py:15\u001b[0m\n\u001b[0;32m 13\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mlangchain\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mchains\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mllm_requests\u001b[39;00m \u001b[39mimport\u001b[39;00m LLMRequestsChain\n\u001b[0;32m 14\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mlangchain\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mchains\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mllm_summarization_checker\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mbase\u001b[39;00m \u001b[39mimport\u001b[39;00m LLMSummarizationCheckerChain\n\u001b[1;32m---> 15\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mlangchain\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mchains\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mloading\u001b[39;00m \u001b[39mimport\u001b[39;00m load_chain\n\u001b[0;32m 16\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mlangchain\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mchains\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mmapreduce\u001b[39;00m \u001b[39mimport\u001b[39;00m MapReduceChain\n\u001b[0;32m 17\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mlangchain\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mchains\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mmoderation\u001b[39;00m \u001b[39mimport\u001b[39;00m OpenAIModerationChain\n", | |
"File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python311\\site-packages\\langchain\\chains\\loading.py:23\u001b[0m\n\u001b[0;32m 21\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mlangchain\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mchains\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mqa_with_sources\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mbase\u001b[39;00m \u001b[39mimport\u001b[39;00m QAWithSourcesChain\n\u001b[0;32m 22\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mlangchain\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mchains\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mqa_with_sources\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mvector_db\u001b[39;00m \u001b[39mimport\u001b[39;00m VectorDBQAWithSourcesChain\n\u001b[1;32m---> 23\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mlangchain\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mchains\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39msql_database\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mbase\u001b[39;00m \u001b[39mimport\u001b[39;00m SQLDatabaseChain\n\u001b[0;32m 24\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mlangchain\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mchains\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mvector_db_qa\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mbase\u001b[39;00m \u001b[39mimport\u001b[39;00m VectorDBQA\n\u001b[0;32m 25\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mlangchain\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mllms\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mloading\u001b[39;00m \u001b[39mimport\u001b[39;00m load_llm, load_llm_from_config\n", | |
"File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python311\\site-packages\\langchain\\chains\\sql_database\\base.py:13\u001b[0m\n\u001b[0;32m 11\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mlangchain\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mprompts\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mbase\u001b[39;00m \u001b[39mimport\u001b[39;00m BasePromptTemplate\n\u001b[0;32m 12\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mlangchain\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mschema\u001b[39;00m \u001b[39mimport\u001b[39;00m BaseLanguageModel\n\u001b[1;32m---> 13\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mlangchain\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39msql_database\u001b[39;00m \u001b[39mimport\u001b[39;00m SQLDatabase\n\u001b[0;32m 16\u001b[0m \u001b[39mclass\u001b[39;00m \u001b[39mSQLDatabaseChain\u001b[39;00m(Chain, BaseModel):\n\u001b[0;32m 17\u001b[0m \u001b[39m \u001b[39m\u001b[39m\"\"\"Chain for interacting with SQL Database.\u001b[39;00m\n\u001b[0;32m 18\u001b[0m \n\u001b[0;32m 19\u001b[0m \u001b[39m Example:\u001b[39;00m\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 24\u001b[0m \u001b[39m db_chain = SQLDatabaseChain(llm=OpenAI(), database=db)\u001b[39;00m\n\u001b[0;32m 25\u001b[0m \u001b[39m \"\"\"\u001b[39;00m\n", | |
"File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python311\\site-packages\\langchain\\sql_database.py:6\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39m__future__\u001b[39;00m \u001b[39mimport\u001b[39;00m annotations\n\u001b[0;32m 4\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mtyping\u001b[39;00m \u001b[39mimport\u001b[39;00m Any, Iterable, List, Optional\n\u001b[1;32m----> 6\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39msqlalchemy\u001b[39;00m \u001b[39mimport\u001b[39;00m MetaData, create_engine, inspect, select, text\n\u001b[0;32m 7\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39msqlalchemy\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mengine\u001b[39;00m \u001b[39mimport\u001b[39;00m Engine\n\u001b[0;32m 8\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39msqlalchemy\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mexc\u001b[39;00m \u001b[39mimport\u001b[39;00m ProgrammingError, SQLAlchemyError\n", | |
"File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python311\\site-packages\\sqlalchemy\\__init__.py:8\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[39m# sqlalchemy/__init__.py\u001b[39;00m\n\u001b[0;32m 2\u001b[0m \u001b[39m# Copyright (C) 2005-2019 the SQLAlchemy authors and contributors\u001b[39;00m\n\u001b[0;32m 3\u001b[0m \u001b[39m# <see AUTHORS file>\u001b[39;00m\n\u001b[0;32m 4\u001b[0m \u001b[39m#\u001b[39;00m\n\u001b[0;32m 5\u001b[0m \u001b[39m# This module is part of SQLAlchemy and is released under\u001b[39;00m\n\u001b[0;32m 6\u001b[0m \u001b[39m# the MIT License: http://www.opensource.org/licenses/mit-license.php\u001b[39;00m\n\u001b[1;32m----> 8\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39m.\u001b[39;00m \u001b[39mimport\u001b[39;00m util \u001b[39mas\u001b[39;00m _util \u001b[39m# noqa\u001b[39;00m\n\u001b[0;32m 9\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39m.\u001b[39;00m\u001b[39minspection\u001b[39;00m \u001b[39mimport\u001b[39;00m inspect \u001b[39m# noqa\u001b[39;00m\n\u001b[0;32m 10\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39m.\u001b[39;00m\u001b[39mschema\u001b[39;00m \u001b[39mimport\u001b[39;00m BLANK_SCHEMA \u001b[39m# noqa\u001b[39;00m\n", | |
"File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python311\\site-packages\\sqlalchemy\\util\\__init__.py:14\u001b[0m\n\u001b[0;32m 11\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mfunctools\u001b[39;00m \u001b[39mimport\u001b[39;00m partial \u001b[39m# noqa\u001b[39;00m\n\u001b[0;32m 12\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mfunctools\u001b[39;00m \u001b[39mimport\u001b[39;00m update_wrapper \u001b[39m# noqa\u001b[39;00m\n\u001b[1;32m---> 14\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39m.\u001b[39;00m\u001b[39m_collections\u001b[39;00m \u001b[39mimport\u001b[39;00m coerce_generator_arg \u001b[39m# noqa\u001b[39;00m\n\u001b[0;32m 15\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39m.\u001b[39;00m\u001b[39m_collections\u001b[39;00m \u001b[39mimport\u001b[39;00m collections_abc \u001b[39m# noqa\u001b[39;00m\n\u001b[0;32m 16\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39m.\u001b[39;00m\u001b[39m_collections\u001b[39;00m \u001b[39mimport\u001b[39;00m column_dict \u001b[39m# noqa\u001b[39;00m\n", | |
"File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python311\\site-packages\\sqlalchemy\\util\\_collections.py:16\u001b[0m\n\u001b[0;32m 13\u001b[0m \u001b[39mimport\u001b[39;00m \u001b[39mtypes\u001b[39;00m\n\u001b[0;32m 14\u001b[0m \u001b[39mimport\u001b[39;00m \u001b[39mweakref\u001b[39;00m\n\u001b[1;32m---> 16\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39m.\u001b[39;00m\u001b[39mcompat\u001b[39;00m \u001b[39mimport\u001b[39;00m binary_types\n\u001b[0;32m 17\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39m.\u001b[39;00m\u001b[39mcompat\u001b[39;00m \u001b[39mimport\u001b[39;00m collections_abc\n\u001b[0;32m 18\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39m.\u001b[39;00m\u001b[39mcompat\u001b[39;00m \u001b[39mimport\u001b[39;00m itertools_filterfalse\n", | |
"File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python311\\site-packages\\sqlalchemy\\util\\compat.py:264\u001b[0m\n\u001b[0;32m 261\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39minspect\u001b[39;00m \u001b[39mimport\u001b[39;00m formatargspec \u001b[39mas\u001b[39;00m inspect_formatargspec \u001b[39m# noqa\u001b[39;00m\n\u001b[0;32m 263\u001b[0m \u001b[39mif\u001b[39;00m win32 \u001b[39mor\u001b[39;00m jython:\n\u001b[1;32m--> 264\u001b[0m time_func \u001b[39m=\u001b[39m time\u001b[39m.\u001b[39;49mclock\n\u001b[0;32m 265\u001b[0m \u001b[39melse\u001b[39;00m:\n\u001b[0;32m 266\u001b[0m time_func \u001b[39m=\u001b[39m time\u001b[39m.\u001b[39mtime\n", | |
"\u001b[1;31mAttributeError\u001b[0m: module 'time' has no attribute 'clock'" | |
] | |
} | |
], | |
"source": [ | |
"from llama_index import SimpleDirectoryReader, GPTListIndex, readers, GPTSimpleVectorIndex, LLMPredictor, PromptHelper\n", | |
"from langchain import OpenAI\n", | |
"import sys\n", | |
"import os\n", | |
"from IPython.display import Markdown, display\n", | |
"\n", | |
"def construct_index(directory_path):\n", | |
" # set maximum input size\n", | |
" max_input_size = 4096\n", | |
" # set number of output tokens\n", | |
" num_outputs = 2000\n", | |
" # set maximum chunk overlap\n", | |
" max_chunk_overlap = 20\n", | |
" # set chunk size limit\n", | |
" chunk_size_limit = 600\n", | |
"\n", | |
" # define LLM\n", | |
" llm_predictor = LLMPredictor(llm=OpenAI(temperature=0.5, model_name=\"gpt-3.5-turbo\", max_tokens=num_outputs))\n", | |
" prompt_helper = PromptHelper(max_input_size, num_outputs, max_chunk_overlap, chunk_size_limit=chunk_size_limit)\n", | |
"\n", | |
" documents = SimpleDirectoryReader(directory_path).load_data()\n", | |
"\n", | |
" index = GPTSimpleVectorIndex(\n", | |
" documents, llm_predictor=llm_predictor, prompt_helper=prompt_helper\n", | |
" )\n", | |
"\n", | |
" index.save_to_disk('index.json')\n", | |
"\n", | |
" return index\n", | |
"\n", | |
"\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"id": "27L4VAQiTNlc" | |
}, | |
"outputs": [], | |
"source": [ | |
"def ask_ai():\n", | |
" index = GPTSimpleVectorIndex.load_from_disk('index.json')\n", | |
" while True: \n", | |
" query = input(\"What do you want to ask? \")\n", | |
" response = index.query(query, response_mode=\"compact\")\n", | |
" display(Markdown(f\"Response: <b>{response.response}</b>\"))" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "Vz1jp33jGumu" | |
}, | |
"source": [ | |
"# Set OpenAI API Key\n", | |
"You need an OPENAI API key to be able to run this code.\n", | |
"\n", | |
"If you don't have one yet, get it by [signing up](https://platform.openai.com/overview). Then click your account icon on the top right of the screen and select \"View API Keys\". Create an API key.\n", | |
"\n", | |
"Then run the code below and paste your API key into the text input." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "RoJHE4fsAT3w", | |
"outputId": "b4870c80-9c24-48b0-80cd-6b9dc5b9f8a6" | |
}, | |
"outputs": [], | |
"source": [ | |
"os.environ[\"OPENAI_API_KEY\"] = input(\"Paste your OpenAI key here and hit enter:\")" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "ZVrddlAL4I_v" | |
}, | |
"source": [ | |
"#Construct an index\n", | |
"Now we are ready to construct the index. This will take every file in the folder 'data', split it into chunks, and embed it with OpenAI's embeddings API.\n", | |
"\n", | |
"**Notice:** running this code will cost you credits on your OpenAPI account ($0.02 for every 1,000 tokens). If you've just set up your account, the free credits that you have should be more than enough for this experiment." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "kCYTE2EqBB7O", | |
"outputId": "136bd773-5974-42e7-aae3-fa0c4d06b213" | |
}, | |
"outputs": [], | |
"source": [ | |
"construct_index(\"C:\\Users\\Ewok\\OneDrive - FAST National University\\Desktop\\Custom chatbot\\context.data\")" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 311 | |
}, | |
"id": "s_uwsPGEIGsb", | |
"outputId": "160d9bfc-70ed-43fa-8adb-b8089f601883" | |
}, | |
"outputs": [], | |
"source": [ | |
"ask_ai()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import tkinter as tk\n", | |
"from llama_index import GPTSimpleVectorIndex, LLMPredictor, PromptHelper\n", | |
"from langchain import OpenAI\n", | |
"from IPython.display import Markdown, display\n", | |
"\n", | |
"# Define the ask_ai() function\n", | |
"def ask_ai(question):\n", | |
" index = GPTSimpleVectorIndex.load_from_disk('index.json')\n", | |
" response = index.query(question, response_mode=\"compact\")\n", | |
" return response.response\n", | |
"\n", | |
"# Define the GUI\n", | |
"class ChatBotGUI:\n", | |
" def __init__(self, master):\n", | |
" self.master = master\n", | |
" master.title(\"Chat Bot\")\n", | |
"\n", | |
" # Create a label and an entry for the question\n", | |
" self.label = tk.Label(master, text=\"Ask me anything:\")\n", | |
" self.label.pack()\n", | |
"\n", | |
" self.entry = tk.Entry(master)\n", | |
" self.entry.pack()\n", | |
"\n", | |
" # Create a button to submit the question\n", | |
" self.button = tk.Button(master, text=\"Submit\", command=self.submit_question)\n", | |
" self.button.pack()\n", | |
"\n", | |
" # Create a text box to display the response\n", | |
" self.textbox = tk.Text(master)\n", | |
" self.textbox.pack()\n", | |
"\n", | |
" def submit_question(self):\n", | |
" question = self.entry.get()\n", | |
" response = ask_ai(question)\n", | |
" self.textbox.insert(tk.END, \"You: \" + question + \"\\n\")\n", | |
" self.textbox.insert(tk.END, \"Bot: \" + response + \"\\n\\n\")\n", | |
" self.entry.delete(0, tk.END)\n", | |
"\n", | |
"# Create an instance of the GUI and start the main loop\n", | |
"root = tk.Tk()\n", | |
"chatbot_gui = ChatBotGUI(root)\n", | |
"root.mainloop()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import gradio as gr\n", | |
"\n", | |
"def ask_ai(query):\n", | |
" index = GPTSimpleVectorIndex.load_from_disk('index.json')\n", | |
" response = index.query(query, response_mode=\"compact\")\n", | |
" return response.response\n", | |
"\n", | |
"gr.Interface(\n", | |
" fn=ask_ai, \n", | |
" inputs=gr.inputs.Textbox(label=\"Input your question here\"), \n", | |
" outputs=gr.outputs.Textbox(label=\"Response\")\n", | |
").launch(share=True)\n" | |
] | |
} | |
], | |
"metadata": { | |
"colab": { | |
"provenance": [] | |
}, | |
"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.11.0" | |
}, | |
"vscode": { | |
"interpreter": { | |
"hash": "837f538c543f9b2d2992c09ff501c8e7dd16af4ba72a49bea9ce11c22c2825e5" | |
} | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 0 | |
} | |