diff --git "a/EDA_Agent/.ipynb_checkpoints/mistral_EDA_agent-checkpoint.ipynb" "b/EDA_Agent/.ipynb_checkpoints/mistral_EDA_agent-checkpoint.ipynb"
new file mode 100644--- /dev/null
+++ "b/EDA_Agent/.ipynb_checkpoints/mistral_EDA_agent-checkpoint.ipynb"
@@ -0,0 +1,748 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "id": "c96b164c",
+ "metadata": {},
+ "source": [
+ "# Overview "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "22c9cad3",
+ "metadata": {},
+ "source": [
+ "In this notebook, we will try to create a workflow between Langchain and Mixtral LLM.\n",
+ "We want to accomplish the following:\n",
+ "1. Establish a pipeline to read in a csv and pass it to our LLM. \n",
+ "2. Establish a Pandas Agent in our LLM.\n",
+ "3. Connect the CSV pipeline to this agent and enable a end-end EDA pipeline."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "3bd62bd1",
+ "metadata": {},
+ "source": [
+ "# Setting up the Environment "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "id": "76b3d212",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "####################################################################################################\n",
+ "import os\n",
+ "import re\n",
+ "\n",
+ "from langchain import hub\n",
+ "from langchain.agents.agent_types import AgentType\n",
+ "from langchain_experimental.agents.agent_toolkits import create_pandas_dataframe_agent\n",
+ "from langchain_experimental.utilities import PythonREPL\n",
+ "from langchain.agents import Tool\n",
+ "from langchain.agents.format_scratchpad.openai_tools import (\n",
+ " format_to_openai_tool_messages,\n",
+ ")\n",
+ "from langchain.agents.output_parsers.openai_tools import OpenAIToolsAgentOutputParser\n",
+ "\n",
+ "from langchain.agents import AgentExecutor\n",
+ "\n",
+ "from langchain.agents import create_structured_chat_agent\n",
+ "from langchain.memory import ConversationBufferWindowMemory\n",
+ "\n",
+ "from langchain.output_parsers import PandasDataFrameOutputParser\n",
+ "from langchain.prompts import PromptTemplate\n",
+ "\n",
+ "from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder\n",
+ "\n",
+ "from langchain_community.chat_models import ChatAnyscale\n",
+ "import pandas as pd \n",
+ "import matplotlib.pyplot as plt \n",
+ "import numpy as np\n",
+ "\n",
+ "plt.style.use('ggplot')\n",
+ "####################################################################################################"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "9da52e1f",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# insert your API key here\n",
+ "os.environ[\"ANYSCALE_API_KEY\"] = \"esecret_8btufnh3615vnbpd924s1t3q7p\"\n",
+ "memory_key = \"history\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "edcd6ca7",
+ "metadata": {},
+ "source": [
+ "# Using out of the box agents\n",
+ " Over here we simply try to run the Pandas Dataframe agent provided by langchain out of the box. It uses a CSV parser and has just one tool, the __PythonAstREPLTool__ which helps it execute python commands in a shell and display output. "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "id": "45f55df2",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "df = pd.read_csv('../data/train.csv')\n",
+ "df.to_csv('./df.csv', index=False)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "64a086f2",
+ "metadata": {},
+ "source": [
+ "# DECLARE YOUR LLM HERE "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "id": "3f686305",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "llm = ChatAnyscale(model_name='mistralai/Mixtral-8x7B-Instruct-v0.1', temperature=0)\n",
+ "agent = create_pandas_dataframe_agent(llm, df, verbose=True)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "083bf9ab",
+ "metadata": {},
+ "source": [
+ "# Building my own DF chain\n",
+ " The above agent does not work well or mistral out of the box. The mistral LLM is unable to use the tools properly. It perhaps needs much more hand-held prompts.\n",
+ "\n",
+ "### Post Implementation Observation:\n",
+ " We were able to observe the following:\n",
+ " 1. The agent now works very well almost always returning the desired output.\n",
+ " 2. The agent is unable to output plots. "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "id": "f6142b5f",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# This is my own parser to display the agent output\n",
+ "def my_parser(response):\n",
+ " return print(response.content)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "id": "05fd38b1",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "FORMAT_INSTRUCTIONS = \"\"\"Use the following format:\n",
+ "\n",
+ "Question: the input question you must answer\n",
+ "Thought: you should always think about what to do, what action to take\n",
+ "Action: python_repl_ast\n",
+ "Action Input: the input to the action, never add backticks \"`\" or backslash \"\\\" around the action input\n",
+ "Observation: the result of the action. This is the result obtained from the execution of a tool only. This should include the whole output of the tool.\n",
+ "... (this Thought/Action/Action Input/Observation can repeat N times)\n",
+ "Code: This is the python code generated by your python_repl tool. In case the tool is not used this should be empty.\n",
+ "Thought: I now know the final answer\n",
+ "Final Answer: the final answer to the original input question\"\"\""
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "id": "00f1ebc8",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "python_repl = PythonREPL()\n",
+ "\n",
+ "repl_tool = Tool(\n",
+ " name=\"python_repl\",\n",
+ " description=\"\"\"A Python shell. Shell can dislay charts too. Use this to execute python commands.\\\n",
+ " You have access to all libraries in python including but not limited to sklearn, pandas, numpy,\\\n",
+ " matplotlib.pyplot, seaborn etc. Input should be a valid python command. If the user has not explicitly\\\n",
+ " asked you to plot the results, always print the final output using print(...)\"\"\",\n",
+ " func=python_repl.run,\n",
+ ")\n",
+ "\n",
+ "tools = [repl_tool]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "id": "ebe61b21",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# # Here's an example of a column operation being performed.\n",
+ "# df_query = \"How many columns are there?\"\n",
+ "\n",
+ "# # Set up the prompt.\n",
+ "# prompt = PromptTemplate(\n",
+ "# template= \"\"\"Answer the user query using the tools at your disposal. YOU ALWAYS NEED TO USE A TOOL TO ANSWER QUERIES.\\n\n",
+ "# The following dataframe named df is your knowledge base:\\n{dataframe}\\n\n",
+ "# Query: {query}\\nTools: {tools}\\n{format_instructions}\n",
+ "# \"\"\",\n",
+ "# input_variables=[\"query\"],\n",
+ "# partial_variables={\"format_instructions\":FORMAT_INSTRUCTIONS,\n",
+ "# \"dataframe\": df,\n",
+ "# \"tools\":tools},\n",
+ "# )\n",
+ "\n",
+ "# chain = prompt | llm | my_parser"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "id": "64d09443",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# chain.invoke('how many null values are there ?')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "id": "4a42de6d",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# chain.invoke(\"Plot the distribution of age\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "c5caa356",
+ "metadata": {},
+ "source": [
+ "# Building an Agent "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "id": "44c07305",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "prompt = ChatPromptTemplate.from_messages(\n",
+ " [\n",
+ " (\n",
+ " \"system\",\n",
+ " \"\"\"You are Data Analysis assistant. Your job is to use your tools to answer a user query in the best\\\n",
+ " manner possible. Always execute code using the python_repl.run() method. \\\n",
+ " Provide no explanation for your code. Enclose all your code between triple backticks ``` \"\"\",\n",
+ " ),\n",
+ " (\"user\", \"Dataframe named df: {df}\\nQuery: {input}\\nTools:{tools}\"),\n",
+ " MessagesPlaceholder(variable_name=\"agent_scratchpad\"),\n",
+ " ]\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "id": "67dae2d6",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "agent = (\n",
+ " {\n",
+ " \"input\": lambda x: x[\"input\"],\n",
+ " \"tools\": lambda x:x['tools'],\n",
+ " \"df\": lambda x:x['df'],\n",
+ " \"agent_scratchpad\": lambda x: format_to_openai_tool_messages(\n",
+ " x[\"intermediate_steps\"]\n",
+ " )\n",
+ " }\n",
+ " | prompt\n",
+ " | llm\n",
+ " | OpenAIToolsAgentOutputParser()\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "id": "45129995",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "id": "9602539f",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# building an execution chain\n",
+ "\n",
+ "def infer(user_input):\n",
+ " # fetch the response from the agent\n",
+ " result = list(agent_executor.stream({\"input\": user_input, \n",
+ " \"df\":pd.read_csv('df.csv'), \"tools\":tools}))\n",
+ " \n",
+ " # need to extract the code\n",
+ " pattern = r\"```python\\n(.*?)\\n```\"\n",
+ " matches = re.findall(pattern, result[0]['output'], re.DOTALL)\n",
+ " final_line = \"df.to_csv('./df.csv', index=False)\"\n",
+ " code = \"\\n\".join(matches)\n",
+ " exec(code)\n",
+ " try:\n",
+ " exec(\"df.to_csv('./df.csv', index=False)\")\n",
+ " except:\n",
+ " pass\n",
+ " # execute the code\n",
+ " return None"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "7a55d4e5",
+ "metadata": {},
+ "source": [
+ "# Testing \n",
+ " Testing for the EDA Agent has been divided into 2 distinct tasks:\n",
+ "## **Data Smoothing**:\n",
+ ">i. Finding out the Null values.\n",
+ ">ii. Filling the Null values.\n",
+ "\n",
+ "## **Plotting**:\n",
+ ">i. Distribution of ages\n",
+ ">ii. Distribution of gender against survival.\n",
+ ">iii. Heatmap of all variables with survival. \n",
+ ">iv. Reg plot age against fare (since these are the only continuous features in our dataset)\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "b6b73109",
+ "metadata": {},
+ "source": [
+ "## Smoothing"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "id": "797796e2",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "\n",
+ "\u001b[1m> Entering new AgentExecutor chain...\u001b[0m\n",
+ "\u001b[32;1m\u001b[1;3m ```python\n",
+ "import pandas as pd\n",
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "df.isnull().sum().plot(kind='bar')\n",
+ "plt.ylabel('Count of Null Values')\n",
+ "plt.title('Count of Null Values in Every Column')\n",
+ "plt.show()\n",
+ "```\u001b[0m\n",
+ "\n",
+ "\u001b[1m> Finished chain.\u001b[0m\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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zCgdU8j5vGa0srLSq7PCaAqe27dv4/Tp0xg5cqS4zcnJCUBJL86j98nIyckRe32cnJygUqmQm5ur0cuTk5ODevXqlfl6SqUSSqVS5z6pPyiCIBjth68UM0rHFHIyo3RMISczSscUcjKjbrIPWi61d+9eODo6okmTJuI2Dw8PODk5aQw+VqlUSEpKEosZf39/WFpaarS5e/cu0tLSEBgYWHknQEREREbLKHp41Go19u3bh/bt28PS0lLcrlAo0KVLF8THx8PLywuenp6Ij4+HjY0NQkNDAQB2dnYIDw9HXFwcqlWrBnt7e8TFxcHX11djIDMRERE9v4yi4Dlz5gwyMzPRoUMHrX3dunVDYWEhlixZggcPHiAgIADjxo0TZ1QBwIABA2BpaYk5c+aICw+OHj2aa/AQERERACMpeBo1aoR169bp3KdQKBAZGYnIyMgyn29tbY3o6GhER0dXVEQiIiLZFL/3hl7trup5PMvFW58+jIliFwgRERGZPRY8REREZPZY8BAREZHZY8FDREREZo8FDxEREZk9FjxERERk9ljwEBERkdljwUNERERmjwUPERERmT0WPERERGT2WPAQERGR2WPBQ0RERGaPBQ8RERGZPRY8REREZPZY8BAREZHZY8FDREREZo8FDxEREZk9FjxERERk9ljwEBERkdljwUNERERmjwUPERERmT0WPERERGT2WPAQERGR2WPBQ0RERGaPBQ8RERGZPRY8REREZPZY8BAREZHZY8FDREREZo8FDxEREZk9FjxERERk9ljwEBERkdljwUNERERmjwUPERERmT0WPERERGT2WPAQERGR2WPBQ0RERGaPBQ8RERGZPRY8REREZPZY8BAREZHZY8FDREREZs9K7gAAkJWVhVWrVuHkyZMoLCyEl5cXPvzwQ/j7+wMABEHA+vXrsXv3buTm5qJu3boYNGgQfHx8xGMUFRUhLi4OiYmJKCwsRFBQEAYPHgxXV1e5TouIiIiMhOw9PLm5uRg/fjysrKzwxRdf4JtvvkH//v1hZ2cnttmyZQu2bduG6OhozJgxA05OTpg6dSoePnwotlm+fDmOHj2K4cOHY/LkycjPz8fMmTOhVqvlOC0iIiIyIrIXPFu2bIGrqyuGDh2KgIAAeHh44MUXX4SnpyeAkt6dhIQE9OjRAy1atICvry9iYmJQUFCAQ4cOAQDy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",
+ "text/plain": [
+ "