{ "cells": [ { "cell_type": "code", "execution_count": 3, "id": "8c83a569", "metadata": {}, "outputs": [], "source": [ "from langchain_community.utilities import SQLDatabase\n", "from langchain_groq import ChatGroq\n", "from langgraph.graph import StateGraph, END, START\n", "from langchain_core.messages import AIMessage, ToolMessage, AnyMessage, HumanMessage\n", "from langgraph.graph.message import AnyMessage, add_messages\n", "from langchain_core.tools import tool\n", "from typing import Annotated, Literal, TypedDict, Any\n", "from pydantic import BaseModel, Field\n", "from langchain_core.runnables import RunnableLambda, RunnableWithFallbacks\n", "from langgraph.prebuilt import ToolNode\n", "from langchain_core.prompts import ChatPromptTemplate\n", "from langchain_community.agent_toolkits import SQLDatabaseToolkit\n", "from dotenv import load_dotenv\n", "import os\n", "from IPython.display import display\n", "import PIL\n", "from langgraph.errors import GraphRecursionError\n", "import os\n", "import io\n", "from typing import Annotated, Any, TypedDict\n", "\n", "from IPython.display import Image, display\n", "from langchain_core.runnables.graph import MermaidDrawMethod\n", "from typing import Optional" ] }, { "cell_type": "code", "execution_count": null, "id": "4173d14f", "metadata": {}, "outputs": [], "source": [ "\n", "\n", "class SQLAgent:\n", " def __init__(self, model=\"llama3-70b-8192\"):\n", " load_dotenv()\n", " # Initialize instance variables\n", " self.db = None\n", " self.toolkit = None\n", " self.tools = None\n", " self.list_tables_tool = None\n", " self.sql_db_query = None\n", " self.get_schema_tool = None\n", " self.app = None\n", " \n", " # Setting up LLM\n", " self.llm = ChatGroq(model=model)\n", " \n", " # Register the tool method\n", " self.query_to_database = self._create_query_tool()\n", "\n", " def _create_query_tool(self):\n", " \"\"\"Create the query tool bound to this instance\"\"\"\n", " print(\"creating _create_query_tool\")\n", " @tool\n", " def query_to_database(query: str) -> str:\n", " \"\"\"\n", " Execute a SQL query against the database and return the result.\n", " If the query is invalid or returns no result, an error message will be returned.\n", " In case of an error, the user is advised to rewrite the query and try again.\n", " \"\"\"\n", " if self.db is None:\n", " return \"Error: Database connection not established. Please set up the connection first.\"\n", " result = self.db.run_no_throw(query)\n", " if not result:\n", " return \"Error: Query failed. Please rewrite your query and try again.\"\n", " return result\n", " \n", " return query_to_database\n", "\n", " def setup_database_connection(self, connection_string: str):\n", " \"\"\"Set up database connection and initialize tools\"\"\"\n", " try:\n", " # Initialize database connection\n", " self.db = SQLDatabase.from_uri(connection_string)\n", " print(\"Database connection successful!\")\n", "\n", " try:\n", " # Initialize toolkit and tools\n", " self.toolkit = SQLDatabaseToolkit(db=self.db, llm=self.llm)\n", " self.tools = self.toolkit.get_tools()\n", " for tool in self.tools:\n", " print(f\"Initialized tool: {tool.name}\")\n", "\n", " # Create instances of the tools\n", " self.list_tables_tool = next((tool for tool in self.tools if tool.name == \"sql_db_list_tables\"), None)\n", " self.sql_db_query = next((tool for tool in self.tools if tool.name == \"sql_db_query\"), None)\n", " self.get_schema_tool = next((tool for tool in self.tools if tool.name == \"sql_db_schema\"), None)\n", "\n", " if not all([self.list_tables_tool, self.sql_db_query, self.get_schema_tool]):\n", " raise ValueError(\"Failed to initialize one or more required database tools\")\n", "\n", " # Initialize workflow and compile it into an app\n", " self.initialize_workflow()\n", " \n", " return self.db\n", "\n", " except Exception as e:\n", " print(f\"Error initializing tools and workflow: {str(e)}\")\n", " raise ValueError(f\"Failed to initialize database tools: {str(e)}\")\n", "\n", " except ImportError as e:\n", " print(f\"Database driver import error: {str(e)}\")\n", " raise ValueError(f\"Missing database driver or invalid database type: {str(e)}\")\n", " except ValueError as e:\n", " print(f\"Invalid connection string or configuration: {str(e)}\")\n", " raise\n", " except Exception as e:\n", " print(f\"Unexpected error during database connection: {str(e)}\")\n", " raise ValueError(f\"Failed to establish database connection: {str(e)}\")\n", "\n", " def initialize_workflow(self):\n", " \"\"\"Initialize the workflow graph\"\"\"\n", " \n", " print(\"Intializing Workflow....\")\n", " # Binding tools with LLM\n", " llm_to_get_schema = self.llm.bind_tools([self.get_schema_tool]) if self.get_schema_tool else None\n", " llm_with_tools = self.llm.bind_tools([self.query_to_database])\n", "\n", " class State(TypedDict):\n", " messages: Annotated[list[AnyMessage], add_messages]\n", "\n", " class SubmitFinalAnswer(BaseModel):\n", " final_answer: str = Field(..., description=\"The final answer to the user\")\n", "\n", " llm_with_final_answer = self.llm.bind_tools([SubmitFinalAnswer])\n", "\n", " def handle_tool_error(state: State):\n", " error = state.get(\"error\")\n", " tool_calls = state[\"messages\"][-1].tool_calls\n", " return {\"messages\": [ToolMessage(content=f\"Error: {repr(error)}\\n please fix your mistakes.\", tool_call_id=tc[\"id\"],) for tc in tool_calls]}\n", "\n", " def create_node_from_tool_with_fallback(tools: list) -> RunnableWithFallbacks[Any, dict]:\n", " return ToolNode(tools).with_fallbacks([RunnableLambda(handle_tool_error)], exception_key=\"error\")\n", "\n", " list_tables = create_node_from_tool_with_fallback([self.list_tables_tool]) if self.list_tables_tool else None\n", " get_schema = create_node_from_tool_with_fallback([self.get_schema_tool]) if self.get_schema_tool else None\n", " query_database = create_node_from_tool_with_fallback([self.query_to_database])\n", "\n", " query_check_system = \"\"\"You are a SQL expert. Carefully review the SQL query for common mistakes, including:\n", "\n", " Issues with NULL handling (e.g., NOT IN with NULLs)\n", " Improper use of UNION instead of UNION ALL\n", " Incorrect use of BETWEEN for exclusive ranges\n", " Data type mismatches or incorrect casting\n", " Quoting identifiers improperly\n", " Incorrect number of arguments in functions\n", " Errors in JOIN conditions\n", "\n", " If you find any mistakes, rewrite the query to fix them. If it's correct, reproduce it as is.\"\"\"\n", " query_check_prompt = ChatPromptTemplate.from_messages([(\"system\", query_check_system), (\"placeholder\", \"{messages}\")])\n", " check_generated_query = query_check_prompt | llm_with_tools\n", " \n", " def check_the_given_query(state: State):\n", " return {\"messages\": [check_generated_query.invoke({\"messages\": [state[\"messages\"][-1]]})]}\n", "\n", " query_gen_system_prompt = \"\"\"You are a SQL expert with a strong attention to detail.Given an input question, output a syntactically correct SQLite query to run, then look at the results of the query and return the answer.\n", "\n", " 1. DO NOT call any tool besides SubmitFinalAnswer to submit the final answer.\n", "\n", " When generating the query:\n", "\n", " 2. Output the SQL query that answers the input question without a tool call.\n", "\n", " 3. Unless the user specifies a specific number of examples they wish to obtain, always limit your query to at most 5 results.\n", "\n", " 4. You can order the results by a relevant column to return the most interesting examples in the database.\n", "\n", " 5. Never query for all the columns from a specific table, only ask for the relevant columns given the question.\n", "\n", " 6. If you get an error while executing a query, rewrite the query and try again.\n", "\n", " 7. If you get an empty result set, you should try to rewrite the query to get a non-empty result set.\n", "\n", " 8. NEVER make stuff up if you don't have enough information to answer the query... just say you don't have enough information.\n", "\n", " 9. If you have enough information to answer the input question, simply invoke the appropriate tool to submit the final answer to the user.\n", "\n", " 10. DO NOT make any DML statements (INSERT, UPDATE, DELETE, DROP etc.) to the database. Do not return any sql query except answer.\"\"\"\n", " query_gen_prompt = ChatPromptTemplate.from_messages([(\"system\", query_gen_system_prompt), (\"placeholder\", \"{messages}\")])\n", " query_generator = query_gen_prompt | llm_with_final_answer\n", "\n", " def first_tool_call(state: State) -> dict[str, list[AIMessage]]:\n", " return {\"messages\": [AIMessage(content=\"\", tool_calls=[{\"name\": \"sql_db_list_tables\", \"args\": {}, \"id\": \"tool_abcd123\"}])]}\n", "\n", " def generation_query(state: State):\n", " message = query_generator.invoke(state)\n", " tool_messages = []\n", " if message.tool_calls:\n", " for tc in message.tool_calls:\n", " if tc[\"name\"] != \"SubmitFinalAnswer\":\n", " tool_messages.append(\n", " ToolMessage(\n", " content=f\"Error: The wrong tool was called: {tc['name']}. Please fix your mistakes. Remember to only call SubmitFinalAnswer to submit the final answer. Generated queries should be outputted WITHOUT a tool call.\",\n", " tool_call_id=tc[\"id\"],\n", " )\n", " )\n", " else:\n", " tool_messages = []\n", " return {\"messages\": [message] + tool_messages}\n", "\n", " def should_continue(state: State):\n", " messages = state[\"messages\"]\n", " last_message = messages[-1]\n", " if getattr(last_message, \"tool_calls\", None):\n", " # Check if the tool call is SubmitFinalAnswer\n", " if len(last_message.tool_calls) > 0 and last_message.tool_calls[0][\"name\"] == \"SubmitFinalAnswer\":\n", " return END\n", " else:\n", " # Wrong tool called, route to error handling (not implemented here)\n", " return \"query_gen\" # Or a dedicated error node\n", " elif last_message.content.startswith(\"Error:\"):\n", " return \"query_gen\"\n", " else:\n", " return \"correct_query\"\n", "\n", " def llm_get_schema(state: State):\n", " response = llm_to_get_schema.invoke(state[\"messages\"])\n", " return {\"messages\": [response]}\n", "\n", " # Create workflow\n", " workflow = StateGraph(State)\n", " workflow.add_node(\"first_tool_call\", first_tool_call)\n", " workflow.add_node(\"list_tables_tool\", list_tables)\n", " workflow.add_node(\"get_schema_tool\", get_schema)\n", " workflow.add_node(\"model_get_schema\", llm_get_schema)\n", " workflow.add_node(\"query_gen\", generation_query)\n", " workflow.add_node(\"correct_query\", check_the_given_query)\n", " workflow.add_node(\"execute_query\", query_database)\n", "\n", " workflow.add_edge(START, \"first_tool_call\")\n", " workflow.add_edge(\"first_tool_call\", \"list_tables_tool\")\n", " workflow.add_edge(\"list_tables_tool\", \"model_get_schema\")\n", " workflow.add_edge(\"model_get_schema\", \"get_schema_tool\")\n", " workflow.add_edge(\"get_schema_tool\", \"query_gen\")\n", " workflow.add_conditional_edges(\"query_gen\", should_continue, {END: END, \"correct_query\": \"correct_query\", \"query_gen\": \"query_gen\"})\n", " workflow.add_edge(\"correct_query\", \"execute_query\")\n", " workflow.add_edge(\"execute_query\", \"query_gen\")\n", "\n", " # Compile the workflow into an executable app\n", " self.app = workflow.compile()\n", " \n", " \n", " # # Generate the graph image as bytes\n", " # image_bytes = self.app.get_graph().draw_mermaid_png()\n", "\n", " # # Convert bytes to an Image object\n", " # image = Image.open(io.BytesIO(image_bytes))\n", "\n", " # # Save the image to a file\n", " # image.save(\"workflow_graph.png\")\n", " # print(f\"Workflow graph saved\")\n", " \n", " def is_query_relevant(self, query: str) -> bool:\n", " \"\"\"Check if the query is relevant to the database using the LLM.\"\"\"\n", " \n", " # Retrieve the schema of the relevant tables\n", " if self.list_tables_tool:\n", " relevant_tables = self.list_tables_tool.invoke(\"\")\n", " # print(relevant_tables)\n", " table_list= relevant_tables.split(\", \")\n", " print(table_list)\n", " # print(agent.get_schema_tool.invoke(table_list[0]))\n", " schema = \"\"\n", " for table in table_list:\n", " schema+= self.get_schema_tool.invoke(table)\n", "\n", " print(schema)\n", " \n", " # if self.get_schema_tool:\n", " # schema_response = self.get_schema_tool.invoke({})\n", " # table_schema = schema_response.content # Assuming this returns the schema as a string\n", "\n", " relevance_check_prompt = (\n", " \"\"\"You are an expert SQL agent which takes user query in Natural language and find out it have releavnce with the given schema or not. Please determine if the following query is related to a database.Here is the schema of the tables present in database:\\n{schema}\\n\\n. If the query related to given schema respond with 'yes'. Here is the query: {query}. Answer with only 'yes' or 'no'.\"\"\"\n", " ).format(schema=relevant_tables, query=query)\n", " \n", " response = self.llm.invoke([{\"role\": \"user\", \"content\": relevance_check_prompt}])\n", " \n", " # Assuming the LLM returns a simple 'yes' or 'no'\n", " return response.content == \"yes\"\n", "\n", " \n", " def execute_query(self, query: str):\n", " \"\"\"Execute a query through the workflow\"\"\"\n", " if self.db is None:\n", " raise ValueError(\"Database connection not established. Please set up the connection first.\")\n", " if self.app is None:\n", " raise ValueError(\"Workflow not initialized. Please set up the connection first.\")\n", " # First, handle simple queries like \"list tables\" directly\n", " query_lower = query.lower()\n", " if any(phrase in query_lower for phrase in [\"list all the tables\", \"show tables\", \"name of tables\",\n", " \"which tables are present\", \"how many tables\", \"list all tables\"]):\n", " if self.list_tables_tool:\n", " tables = self.list_tables_tool.invoke(\"\")\n", " return f\"The tables in the database are: {tables}\"\n", " else:\n", " return \"Error: Unable to list tables. The list_tables_tool is not initialized.\"\n", "\n", " # Check if the query is relevant to the database\n", " if not self.is_query_relevant(query):\n", " print(\"Not relevent to database.\")\n", " # If not relevant, let the LLM answer the question directly\n", " non_relevant_prompt = (\n", " \"\"\"You are an expert SQL agent created by Kshitij Kumrawat. You can only assist with questions related to databases so repond the user with the following example resonse and Do not answer any questions that are not related to databases.: \n", " Please ask a question that pertains to database operations, such as querying tables, retrieving data, or understanding the database schema. \"\"\"\n", " )\n", " \n", " # Invoke the LLM with the non-relevant prompt\n", " response = self.llm.invoke([{\"role\": \"user\", \"content\": non_relevant_prompt}])\n", " # print(response.content)\n", " return response.content\n", " \n", " # If relevant, proceed with the SQL workflow\n", " response = self.app.invoke({\"messages\": [HumanMessage(content=query, role=\"user\")]})\n", "\n", " # More robust final answer extraction\n", " if (\n", " response\n", " and response[\"messages\"]\n", " and response[\"messages\"][-1].tool_calls\n", " and len(response[\"messages\"][-1].tool_calls) > 0\n", " and \"args\" in response[\"messages\"][-1].tool_calls[0]\n", " and \"final_answer\" in response[\"messages\"][-1].tool_calls[0][\"args\"]\n", " ):\n", " return response[\"messages\"][-1].tool_calls[0][\"args\"][\"final_answer\"]\n", " else:\n", " return \"Error: Could not extract final answer.\"" ] }, { "cell_type": "code", "execution_count": null, "id": "e79785da", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "ChatGroq(client=, async_client=, model_name='llama3-70b-8192', model_kwargs={}, groq_api_key=SecretStr('**********'))" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# create a LLM \n", "llm = ChatGroq(model=\"llama3-70b-8192\")\n", "llm\n", "\n" ] }, { "cell_type": "code", "execution_count": 5, "id": "2b423bd9", "metadata": {}, "outputs": [], "source": [ "from langchain_community.utilities import SQLDatabase\n", "db = SQLDatabase.from_uri(\"sqlite:///employee.db\")" ] }, { "cell_type": "code", "execution_count": 6, "id": "383770fb", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Dialect: sqlite\n", "Usable tables: ['customers', 'employees', 'orders']\n" ] } ], "source": [ "print(\"Dialect:\", db.dialect)\n", "print(\"Usable tables:\", db.get_usable_table_names())" ] }, { "cell_type": "code", "execution_count": 7, "id": "3e2f6229", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "sql_db_query\n", "sql_db_schema\n", "sql_db_list_tables\n", "sql_db_query_checker\n" ] } ], "source": [ "from langchain_community.utilities import SQLDatabase\n", "db = SQLDatabase.from_uri(\"sqlite:///employee.db\")\n", "toolkit=SQLDatabaseToolkit(db=db,llm=llm)\n", "tools = toolkit.get_tools()\n", "for tool in tools:\n", " print(tool.name)\n", "list_tables_tool = next((tool for tool in tools if tool.name == \"sql_db_list_tables\"), None)\n", "get_schema_tool = next((tool for tool in tools if tool.name == \"sql_db_schema\"), None)\n", "query_checker_tool = next((tool for tool in tools if tool.name == \"sql_db_query_checker\"), None)\n", "query_tool = next((tool for tool in tools if tool.name == \"sql_db_query\"), None)" ] }, { "cell_type": "code", "execution_count": null, "id": "75928ca6", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 8, "id": "64d111f1", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Input to this tool is a detailed and correct SQL query, output is a result from the database. If the query is not correct, an error message will be returned. If an error is returned, rewrite the query, check the query, and try again. If you encounter an issue with Unknown column 'xxxx' in 'field list', use sql_db_schema to query the correct table fields.\n", "Input to this tool is a comma-separated list of tables, output is the schema and sample rows for those tables. Be sure that the tables actually exist by calling sql_db_list_tables first! Example Input: table1, table2, table3\n", "Input is an empty string, output is a comma-separated list of tables in the database.\n", "Use this tool to double check if your query is correct before executing it. Always use this tool before executing a query with sql_db_query!\n" ] } ], "source": [ "for tool in tools:\n", " print(tool.description)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "list_tables_tool = next((tool for tool in tools if tool.name == \"sql_db_list_tables\"), None)\n", "get_schema_tool = next((tool for tool in tools if tool.name == \"sql_db_schema\"), None)\n", "query_checker_tool = next((tool for tool in tools if tool.name == \"sql_db_query_checker\"), None)\n", "query_tool = next((tool for tool in tools if tool.name == \"sql_db_query\"), None)\n" ] }, { "cell_type": "code", "execution_count": 56, "id": "d2005f95", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\"[(1, 'Sunny', 'Savita', 'sunny.sv@abc.com', '2023-06-01', 50000.0), (2, 'Arhun', 'Meheta', 'arhun.m@gmail.com', '2022-04-15', 60000.0)]\"" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "query_tool.invoke(\"SELECT * FROM Employees LIMIT 2;\")" ] }, { "cell_type": "code", "execution_count": 47, "id": "7712c8dd", "metadata": {}, "outputs": [], "source": [ "tables = list_tables_tool.invoke(\"\")" ] }, { "cell_type": "code", "execution_count": 49, "id": "05f1a501", "metadata": {}, "outputs": [], "source": [ "tables = tables.split(\",\")" ] }, { "cell_type": "code", "execution_count": 42, "id": "647b8260", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "list" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(tables.split(\",\"))" ] }, { "cell_type": "code", "execution_count": 51, "id": "4e2285f9", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'customers'" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tables[0]" ] }, { "cell_type": "code", "execution_count": null, "id": "cdf01db6", "metadata": {}, "outputs": [], "source": [ "tables = tables.split(\",\")\n", "schema = \"\"\n", "for i in range(len(tables)):\n", " schema = tables[i] + get_schema_tool.invoke(tables[i])\n" ] }, { "cell_type": "code", "execution_count": 53, "id": "20f3b1bd", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "' orders\\nCREATE TABLE orders (\\n\\torder_id INTEGER, \\n\\tcustomer_id INTEGER NOT NULL, \\n\\torder_date TEXT NOT NULL, \\n\\tamount REAL NOT NULL, \\n\\tPRIMARY KEY (order_id), \\n\\tFOREIGN KEY(customer_id) REFERENCES customers (customer_id)\\n)\\n\\n/*\\n3 rows from orders table:\\norder_id\\tcustomer_id\\torder_date\\tamount\\n1\\t1\\t2023-12-01\\t250.75\\n2\\t2\\t2023-11-20\\t150.5\\n3\\t3\\t2023-11-25\\t300.0\\n*/'" ] }, "execution_count": 53, "metadata": {}, "output_type": "execute_result" } ], "source": [ "schema" ] }, { "cell_type": "code", "execution_count": 10, "id": "cd0793fb", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "''" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "llm_with_get_schema = llm.bind_tools([get_schema_tool])\n", "llm_with_get_schema.invoke(\"employees\").content" ] }, { "cell_type": "code", "execution_count": 31, "id": "9e1cd076", "metadata": {}, "outputs": [ { "ename": "TypeError", "evalue": "BaseTool.invoke() missing 1 required positional argument: 'input'", "output_type": "error", "traceback": [ "\u001b[31m---------------------------------------------------------------------------\u001b[39m", "\u001b[31mTypeError\u001b[39m Traceback (most recent call last)", "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[31]\u001b[39m\u001b[32m, line 1\u001b[39m\n\u001b[32m----> \u001b[39m\u001b[32m1\u001b[39m \u001b[38;5;28mprint\u001b[39m(\u001b[43mget_schema_tool\u001b[49m\u001b[43m.\u001b[49m\u001b[43minvoke\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m)\n", "\u001b[31mTypeError\u001b[39m: BaseTool.invoke() missing 1 required positional argument: 'input'" ] } ], "source": [ "print(get_schema_tool.invoke(\"\"))" ] }, { "cell_type": "code", "execution_count": 17, "id": "b9fc9abf", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[(1, 'Sunny', 'Savita', 'sunny.sv@abc.com', '2023-06-01', 50000.0), (2, 'Arhun', 'Meheta', 'arhun.m@gmail.com', '2022-04-15', 60000.0), (3, 'Alice', 'Johnson', 'alice.johnson@jpg.com', '2021-09-30', 55000.0), (4, 'Bob', 'Brown', 'bob.brown@uio.com', '2020-01-20', 45000.0)]\n" ] } ], "source": [ "print(db_query_tool.invoke(\"SELECT * FROM Employees LIMIT 10;\"))" ] }, { "cell_type": "code", "execution_count": 11, "id": "c31b4c23", "metadata": {}, "outputs": [], "source": [ "from typing import Annotated, Literal\n", "from langchain_core.messages import AIMessage\n", "from langchain_core.pydantic_v1 import BaseModel, Field\n", "from typing_extensions import TypedDict\n", "from langgraph.graph import END, StateGraph, START\n", "from langgraph.graph.message import AnyMessage, add_messages\n", "from typing import Any\n", "from langchain_core.messages import ToolMessage\n", "from langchain_core.runnables import RunnableLambda, RunnableWithFallbacks\n", "from langgraph.prebuilt import ToolNode" ] }, { "cell_type": "code", "execution_count": null, "id": "7a68f732", "metadata": {}, "outputs": [], "source": [ "# LANGSMITH_TRACING=\"true\"\n", "# LANGSMITH_ENDPOINT=\"https://api.smith.langchain.com\"\n", "# LANGSMITH_API_KEY=\"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\"\n", "# LANGSMITH_PROJECT=\"pr-abandoned-inspection-61\"\n", "# OPENAI_API_KEY=\"\"" ] }, { "cell_type": "code", "execution_count": null, "id": "3108bf59", "metadata": {}, "outputs": [], "source": [ "from dotenv import load_dotenv\n", "load_dotenv()\n", "\n", "os.environ[\"LANGSMITH_TRACING\"]=os.getenv(\"LANGSMITH_TRACING\")\n", "os.environ[\"LANGSMITH_ENDPOINT\"]=os.getenv(\"LANGSMITH_ENDPOINT\")\n", "# os.environ[\"LANGSMITH_API_KEY\"]=os.getenv(\"LANGSMITH_API_KEY\")\n", "os.environ[\"LANGSMITH_API_KEY\"]=os.getenv(\"LANGSMITH_API_KEY\")\n", "os.environ[\"LANGSMITH_PROJECT\"]=os.getenv(\"LANGSMITH_PROJECT\")\n", "os.environ[\"GROQ_API_KEY\"]=os.getenv(\"GROQ_API_KEY\")\n", "llm = ChatGroq(model=\"llama3-70b-8192\")\n", "from langchain_community.utilities import SQLDatabase\n", "db = SQLDatabase.from_uri(\"sqlite:///employee.db\")\n", "toolkit=SQLDatabaseToolkit(db=db,llm=llm)\n", "tools = toolkit.get_tools()\n", "# for tool in tools:\n", "# print(tool.name)\n", "list_tables_tool = next((tool for tool in tools if tool.name == \"sql_db_list_tables\"), None)\n", "get_schema_tool = next((tool for tool in tools if tool.name == \"sql_db_schema\"), None)\n", "query_checker_tool = next((tool for tool in tools if tool.name == \"sql_db_query_checker\"), None)\n", "query_tool = next((tool for tool in tools if tool.name == \"sql_db_query\"), None)\n", "\n", "# create a LLM \n", "\n", "\n", "from langgraph.graph import StateGraph, END, MessagesState\n", "\n", "class SQLagentState(MessagesState):\n", " \"\"\"State for the agent\"\"\"\n", " next_tool : str = \"\"\n", " tables_list: str = \"\"\n", " schema_of_table: str = \"\"\n", " query_gen : str= \"\"\n", " check_query: str = \"\"\n", " execute_query : str = \"\"\n", " task_complete: bool = False\n", " response_to_user: str= \"\"\n", " current_task: str = \"\"\n", " query: str = \"\"\n", "\n", "class DBQuery(BaseModel):\n", " query: str = Field(..., description=\"The SQL query to execute\")\n", "\n", "from langchain_core.prompts import ChatPromptTemplate\n", "from typing import TypedDict, Annotated, List, Literal, Dict, Any\n", "\n", "def creating_sql_agent_chain():\n", " \"\"\"Creating a sql agent chain\"\"\"\n", " print(\"Creating a sql agent chain \")\n", " sql_agent_prompt = ChatPromptTemplate.from_messages([\n", " (\"system\", \"\"\"Your are a supervisor sql agent managing tools to get the answer of the user's query given in natural language using the following tools :\n", " 1. list_table_tools - List all the tables from the connected database\n", " 2. get_schema of tables- Get the schema of a required table. After this always call to generate_query.\n", " 3. generate_query- Generate a query to execute and retrieve the data\n", " 4. check_query - This tools check if the query is correct or not, if not then it corrects and provide correct query\n", " 5. execute_query - This tools execute the query checked by the check query tool.\n", " 6. response- This tools is used to respond with the answer generated retrived after the execution of query.\n", " \n", " Based on the current state and conversation, decide which tools should call next.\n", " If the task is complete, respond with 'DONE'.\n", " \n", " Current state : \n", " - List of table - {tables_list}\n", " - schema of required table- {schema_of_table}\n", " - Generated query - {query_gen}\n", " - Optimized query or checked query - {check_query}\n", " - Query execution results - {execute_query}\n", " - Response to user - {response_to_user}\n", " Respond with ONLY the tool name (list_table_tools/get_schema/generate_query/check_query/execute_query/response) or 'DONE'.\n", "\n", "\n", " \"\"\"),\n", " (\"human\", \"{task}\")\n", " ]\n", " )\n", " print(\"sql agent chain has been created! \")\n", " return sql_agent_prompt | llm \n", "\n", "\n", "def sql_agent(state: SQLagentState) -> Dict: \n", " \"\"\"Agent decided which tools to call next to get the user query results\"\"\"\n", " messages = state[\"messages\"]\n", " # print(messages)\n", " task = messages[-1].content if messages else \"No task\"\n", " print(task)\n", " # Store the original query in state\n", " if not state.get(\"query\"):\n", " state[\"query\"] = task # Add this line to store the original query\n", "\n", " # check whats been completed \n", " tables_list = bool(state.get(\"tables_list\", \"\"))\n", " print(state.get(\"tables_list\"))\n", " schema_of_table = bool(state.get(\"schema_of_table\", \"\"))\n", " print(state.get(\"schema_of_table\"))\n", " query_gen= bool(state.get(\"query_gen\", \"\"))\n", " print(state.get(\"query_gen\"))\n", " check_query = bool(state.get(\"check_query\", \"\"))\n", " print(state.get(\"query_gen\"))\n", " execute_query= bool(state.get(\"execute_query\", \"\"))\n", " print(state.get(\"execute_query\"))\n", " response_to_user = bool(state.get(\"response_to_user\", \"\"))\n", " print(state.get(\"response_to_user\"))\n", "\n", "\n", " chain = creating_sql_agent_chain()\n", " decision = chain.invoke(\n", " {\n", " \"task\": task,\n", " \"tables_list\": tables_list, \n", " \"schema_of_table\":schema_of_table,\n", " \"query_gen\": query_gen,\n", " \"check_query\": check_query,\n", " \"execute_query\":execute_query,\n", " \"response_to_user\": response_to_user\n", " }\n", " )\n", "\n", " decision_text = decision.content.strip().lower()\n", " print(decision_text)\n", "\n", " # Respond with ONLY the tool name (list_table_tools/get_schema/generate_query/check_query/execute_query/response) or 'DONE'.\n", "\n", "\n", " if \"done\" in decision_text :\n", " next_tool = \"end\"\n", " agent_msg = \"✅ SQL Agent: All tasks complete!\"\n", " elif \"list_table_tools\" in decision_text:\n", " next_tool = \"get_schema\"\n", " agent_msg = \"📋 SQL Agent: lets list all the tables in database.\"\n", " elif \"get_schema\" in decision_text :\n", " next_tool = \"generate_query\"\n", " agent_msg = \"📋 SQL Agent: Lets get the schema of the table from database \"\n", " elif \"generate_query\" in decision_text :\n", " next_tool = \"check_query\"\n", " agent_msg = \"📋 SQL Agent: Lets generate the SQL query to retrive information \"\n", " elif \"check_query\" in decision_text :\n", " next_tool = \"execute_query\"\n", " agent_msg = \"📋 SQL Agent:Lets check the SQL query if it is correct or not. \"\n", " elif \"execute_query\" in decision_text:\n", " next_tool = \"response\"\n", " agent_msg = \"📋 SQL Agent: Lets execute the query and retrive results\"\n", " elif \"response\" in decision_text :\n", " next_tool = \"end\"\n", " agent_msg = \"📋 SQL Agent: Creating a response according to retrival from SQL query executed!\"\n", " else:\n", " next_tool = \"end\"\n", " agent_msg = \"✅ SQL Agent: Task seems complete.\"\n", " \n", " return {\n", " \"messages\": [AIMessage(content=agent_msg)],\n", " \"next_tool\": next_tool,\n", " \"current_task\": task\n", " }\n", "\n", "\n", "def list_table_tools(state: SQLagentState)-> Dict:\n", " \"\"\"List all the tables\"\"\"\n", " tables_list = list_tables_tool.invoke(\"\")\n", " print(f\"table list {tables_list}\")\n", " return {\n", " \"messages\": [AIMessage(content=tables_list)],\n", " \"tables_list\": tables_list,\n", " # \"next_tool\": \"get_schema\"\n", " \"next_tool\": \"sql_agent\"\n", " }\n", "\n", "# def get_schema(state: SQLagentState)-> Dict:\n", "# \"\"\"Get the schema of the required table\"\"\"\n", "# # bind the tool with llm \n", "# # llm_to_get_schema = llm.bind_tools([get_schema_tool]) if get_schema_tool else None\n", "# tables_list = list_tables_tool.invoke(\"\")\n", "# print(f\"table list {tables_list}\")\n", "# print(\"Entered in the get schema function\")\n", "# # tables_list = state.get(\"tables_list\",\"\")\n", "# print(f\"Tables list are to get schema of : {tables_list}\")\n", "# tables = tables_list.split(\",\")\n", "# schema = \"\"\n", "# for i in range(len(tables)):\n", "# schema = tables[i] + get_schema_tool.invoke(tables[i])\n", "# print(f\"Schema of the database: {schema}\")\n", "\n", "# return {\n", "# \"messages\": [AIMessage(content=schema)],\n", "# \"schema_of_table\": schema,\n", "# # \"next_tool\": \"generate_query\"\n", "# \"next_tool\": \"sql_agent\" \n", "# }\n", "\n", "def get_schema(state: SQLagentState) -> Dict:\n", " print(\"📘 Entering get_schema function...\")\n", " tables_list = list_tables_tool.invoke(\"\")\n", " print(f\"✅ Tables found: {tables_list}\")\n", "\n", " tables = tables_list.split(\", \")\n", " full_schema = \"\"\n", " for table in tables:\n", " schema = get_schema_tool.invoke(table)\n", " full_schema += f\"\\n{table}\\n{schema}\"\n", "\n", " print(f\"📘 Full schema collected: {full_schema}\")\n", " return {\n", " \"messages\": [AIMessage(content=full_schema)],\n", " \"schema_of_table\": full_schema,\n", " \"tables_list\": tables_list,\n", " \"next_tool\": \"sql_agent\"\n", " }\n", "\n", "# def generate_query(state: SQLagentState) -> Dict:\n", "# \"\"\"Generate a SQL Query according to the user query with the help of schema\"\"\"\n", "\n", "# schema = state.get(\"schema_of_table\",\"\")\n", "# print(f\"Messages in generate query: {schema}\")\n", "# generate_query_system_prompt = \"\"\" \n", "# You are a SQL expert that generates precise SQL queries based on user questions.\n", " \n", "# You will be provided with state messages in placeholder which contains:\n", "# 1. The user's question\n", "# 2. All the tables in the database\n", "# 3. The complete schema information for those tables\n", " \n", "# IMPORTANT STEPS:\n", "# 1. Analyze the provided schema information carefully\n", "# 2. Pay special attention to:\n", "# - Primary and foreign keys for joins\n", "# - Column names and data types\n", "# - Relationships between tables\n", "# 3. Generate a SQL query that:\n", "# - Uses the correct column names as shown in the schema\n", "# - Properly joins tables using the correct keys\n", "# - Includes appropriate WHERE clauses for filtering\n", "# - If the user's question is about a specific time period, include a date filter in the query\n", "# - If the user's question is about a specific value, include a filter for that value in the query\n", "# - Uses proper aggregation functions when needed\n", " \n", "# Remember to:\n", "# - Always verify column names exist in the schema before using them\n", "# - Use appropriate JOIN conditions based on the foreign key relationships\n", "# - Include proper date formatting for date-related queries\n", "# - Consider NULL handling where appropriate\n", " \n", "# Return only the SQL query, nothing else.\n", " \n", "# \"\"\"\n", "# generate_query_prompt = ChatPromptTemplate.from_messages([\n", "# (\"system\", generate_query_system_prompt),\n", "# (\"placeholder\", \"{schema}\")\n", "# ])\n", "# formatted_generate_query_prompt = generate_query_prompt.invoke({\"messages\":schema}) # Format the prompt\n", "\n", "# generate_query_llm = llm.with_structured_output(DBQuery)\n", "# generate_query_result = generate_query_llm.invoke(formatted_generate_query_prompt)\n", "# print(\"--------------------------------\")\n", "# print(generate_query_result.query)\n", "# print(\"--------------------------------Query generated--------------------------------\")\n", "# # return {\"messages\": state[\"messages\"] + [AIMessage(content = f\"{generate_query_result.query}\")]}\n", "\n", "# return {\n", "# \"messages\": [AIMessage(content=generate_query_result.query)],\n", "# \"query_gen\": generate_query_result.query,\n", "# \"next_tool\": \"check_query\"\n", "# }\n", "\n", "def generate_query(state: SQLagentState) -> Dict:\n", " \"\"\"Generate a SQL Query according to the user query with the help of schema\"\"\"\n", "\n", " schema = state.get(\"schema_of_table\", \"\")\n", " human_query = state.get(\"query\", \"\") # ✅ This stores the user input\n", " tables = state.get(\"tables_list\", \"\")\n", "\n", " print(f\"Human query: {human_query}\")\n", " print(f\"Tables: {tables}\")\n", " print(f\"Schema: {schema}\")\n", "\n", " generate_query_system_prompt = \"\"\" \n", " You are a SQL expert that generates precise SQL queries based on user questions.\n", " \n", " You will be provided with the following context:\n", " 1. The user's question\n", " 2. All the tables in the database\n", " 3. The complete schema information for those tables\n", "\n", " Analyze the schema and generate a SQL query that:\n", " - Uses correct column names from schema\n", " - Properly joins tables\n", " - Uses WHERE clauses and filters based on user query\n", " - Includes aggregation, date filtering, etc. if needed\n", "\n", " Respond ONLY with the SQL query. Do not explain.\n", " \"\"\"\n", "\n", " combined_input = f\"\"\"\n", " User Question: {human_query}\n", " Tables: {tables}\n", " Schema: {schema}\n", " \"\"\"\n", "\n", " generate_query_prompt = ChatPromptTemplate.from_messages([\n", " (\"system\", generate_query_system_prompt),\n", " (\"human\", \"{input}\")\n", " ])\n", " print(f\"Query generation prompt : {generate_query_prompt}\")\n", "\n", " formatted_prompt = generate_query_prompt.invoke({\"input\": combined_input})\n", "\n", " generate_query_llm = llm.with_structured_output(DBQuery)\n", " print(f\"generate_query_llm : {generate_query_llm}\")\n", "\n", " \n", " generate_query_result = generate_query_llm.invoke(formatted_prompt)\n", " print(\"--------------------------------\")\n", " print(generate_query_result.query)\n", " print(\"--------------------------------Query generated--------------------------------\")\n", "\n", " return {\n", " \"messages\": [AIMessage(content=generate_query_result.query)],\n", " \"query_gen\": generate_query_result.query,\n", " # \"next_tool\": \"check_query\"\n", " \"next_tool\": \"sql_agent\"\n", " }\n", "\n", " # except Exception as e:\n", " # print(f\"Query generation failed: {e}\")\n", " # return {\n", " # \"messages\": [AIMessage(content=\"⚠️ Failed to generate SQL query.\")],\n", " # \"query_gen\": \"\",\n", " # # \"next_tool\": \"sql_agent\"\n", " # \"next_tool\": \"sql_agent\"\n", " # }\n", "\n", "# # ✅ Pass query string into initial state\n", "# def run_query_with_user_input(user_query: str):\n", "# return graph.invoke(SQLagentState(messages=[HumanMessage(content=user_query)], query=user_query))\n", "\n", "# # ✅ Debug check: Make sure 'query' exists in state for generate_query\n", "# def generate_query(state: SQLagentState) -> Dict:\n", "# schema = state.get(\"schema_of_table\", \"\")\n", "# human_query = state.get(\"query\", \"\")\n", "# tables = state.get(\"tables_list\", \"\")\n", "\n", "# print(f\"👤 Human query: {human_query}\")\n", "# print(f\"📘 Tables: {tables}\")\n", "# print(f\"📘 Schema: {schema}\")\n", "\n", "# generate_query_system_prompt = \"\"\"You are a SQL expert that generates precise SQL queries based on user questions.\n", "# You will be provided with the following:\n", "# - User's question\n", "# - List of tables\n", "# - Complete schema\n", "\n", "# Respond ONLY with the SQL query. Do not explain.\"\"\"\n", "\n", "# combined_input = f\"\"\"\n", "# User Question: {human_query}\n", "# Tables: {tables}\n", "# Schema: {schema}\n", "# \"\"\"\n", "\n", "# from langchain_core.prompts import ChatPromptTemplate\n", "# generate_query_prompt = ChatPromptTemplate.from_messages([\n", "# (\"system\", generate_query_system_prompt),\n", "# (\"human\", \"{input}\")\n", "# ])\n", "\n", "# formatted_prompt = generate_query_prompt.invoke({\"input\": combined_input})\n", "# generate_query_llm = llm.with_structured_output(DBQuery)\n", "\n", "# try:\n", "# result = generate_query_llm.invoke(formatted_prompt)\n", "# print(f\"✅ Query generated: {result.query}\")\n", "# return {\n", "# \"messages\": [AIMessage(content=result.query)],\n", "# \"query_gen\": result.query,\n", "# \"next_tool\": \"sql_agent\"\n", "# }\n", "# except Exception as e:\n", "# print(f\"❌ Failed to generate query: {e}\")\n", "# return {\n", "# \"messages\": [AIMessage(content=\"⚠️ Failed to generate SQL query.\")],\n", "# \"query_gen\": \"\",\n", "# \"next_tool\": \"sql_agent\"\n", "# }\n", "\n", "\n", "\n", "\n", "def check_query(state: SQLagentState) -> Dict: \n", " \"\"\"Check the query if it is correct or not. if not correct it\"\"\"\n", " query = state.get(\"query_gen\",\"\")\n", " optimized_query = query_checker_tool.invoke(query)\n", " return {\n", " \"messages\": [AIMessage(content=optimized_query)],\n", " \"check_query\": optimized_query,\n", " # \"next_tool\": \"execute_query\"\n", " \"next_tool\": \"sql_agent\"\n", " }\n", "\n", "def execute_query(state: SQLagentState)-> Dict:\n", " \"\"\"Execute the SQL query\"\"\"\n", " query = state.get(\"check_query\",\"\")\n", " print(f\"Query to be executed: {query}\") \n", "\n", " results = query_tool.invoke(query)\n", " print( f\"RESULT: {results}\")\n", "\n", " return {\n", " \"messages\": [AIMessage(content=results)],\n", " \"execute_query\": results,\n", " # \"next_tool\": \"response_to_user\"\n", " \"next_tool\": \"sql_agent\"\n", " }\n", "\n", "# def create_response(state: SQLagentState) -> Dict: \n", "# \"\"\"Create a final Answer regarding user query\"\"\"\n", "# query= state.get(\"check_query\",\"\")\n", "# result = state.get(\"execute_query\",\"\")\n", "# human_query = state.get(\"query\",\"\")\n", "# print(f\"Result of the excuted query {result}\")\n", "# response_prompt = f\"\"\"You have to create a response for the following executed query and its result in the proper way. It should not be too much big. Also given the human natural query.\n", "# - human natural language query -{human_query}\n", "# - SQL query - {query}\n", "# - Query execution results - {result}\n", "# \"\"\"\n", "# response = llm.invoke([HumanMessage(content = response_prompt)])\n", "# print(f\"response:{response.content}\")\n", "# print(f\"response ended\")\n", "\n", "# return {\n", "# \"messages\": [AIMessage(content=response)],\n", "# \"response_to_user\": response,\n", "# \"next_tool\": \"__end__\",\n", "# \"task_complete\": True\n", "# }\n", "\n", "def create_response(state: SQLagentState) -> Dict: \n", " \"\"\"Create a final Answer regarding user query\"\"\"\n", " print(\"Entered in create response !!!!\")\n", " query = state.get(\"check_query\", \"\")\n", " print(f\"Query : {query}\")\n", " result = state.get(\"execute_query\", \"\")\n", " print(f\"result : {result}\")\n", " human_query = state.get(\"query\", \"\")\n", " print(f\"Human query : {human_query}\")\n", " print(f\"Result of the executed query {result}\")\n", " \n", " response_prompt = f\"\"\"You have to create a response for the following executed query and its result in a proper way.\n", " It should be short and relevant. Also include the human natural query.\n", " \n", " - Human Query: {human_query}\n", " - SQL Query: {query}\n", " - Query Result: {result}\n", " \"\"\"\n", " \n", " response = llm.invoke([HumanMessage(content=response_prompt)])\n", " print(f\"Printing response in format: {response}\") # already returns AIMessage\n", " \n", " return {\n", " \"messages\": [response], # ✅ no need to wrap again\n", " \"response_to_user\": response.content,\n", " # \"next_tool\": \"__end__\",\n", " \"next_tool\": \"sql_agent\",\n", " \"task_complete\": True\n", " }\n", "\n", "\n", "# (list_table_tools/get_schema/generate_query/check_query/execute_query/response\n", "\n", "\n", "def router(state: SQLagentState):\n", " print(\"🔁 Entering router...\")\n", " next_tool = state.get(\"next_tool\", \"\")\n", " print(f\"➡️ Next tool: {next_tool}\")\n", "\n", " if next_tool == \"end\" or state.get(\"task_complete\", False):\n", " return END\n", " return next_tool if next_tool in [\n", " \"sql_agent\", \"list_table_tools\", \"get_schema\", \"generate_query\",\n", " \"check_query\", \"execute_query\", \"create_response\"\n", " ] else \"sql_agent\"\n", "\n", "\n", "\n", "\n", "# creating workflow \n", "workflow = StateGraph(SQLagentState)\n", "\n", "workflow.add_node(\"sql_agent\", sql_agent)\n", "workflow.add_node(\"list_table_tools\", list_table_tools)\n", "workflow.add_node(\"get_schema\", get_schema)\n", "workflow.add_node(\"generate_query\", generate_query)\n", "workflow.add_node(\"check_query\", check_query)\n", "workflow.add_node(\"execute_query\", execute_query)\n", "workflow.add_node(\"response\", create_response)\n", "\n", "\n", "workflow.set_entry_point(\"sql_agent\")\n", "\n", "# Add routing\n", "for node in [\"sql_agent\",\"list_table_tools\", \"get_schema\", \"generate_query\", \"check_query\",\"execute_query\",\"response\"]:\n", " workflow.add_conditional_edges(\n", " node,\n", " router,\n", " {\n", " \"sql_agent\": \"sql_agent\",\n", " \"list_table_tools\": \"list_table_tools\",\n", " \"get_schema\": \"get_schema\",\n", " \"generate_query\": \"generate_query\",\n", " \"check_query\": \"check_query\",\n", " \"execute_query\": \"execute_query\",\n", " \"response\": \"response\",\n", " END: END\n", " }\n", " )\n", "\n", "graph=workflow.compile()\n" ] }, { "cell_type": "code", "execution_count": null, "id": "d2533c40", "metadata": {}, "outputs": [], "source": [ "result = run_query_with_user_input(\"Give me the 2 employees from employees table\")\n", "print(result)\n" ] }, { "cell_type": "code", "execution_count": null, "id": "55c9b4e8", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "" ] }, "execution_count": 108, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from dotenv import load_dotenv\n", "import os\n", "load_dotenv()\n", "\n", "os.environ[\"LANGSMITH_TRACING\"]=os.getenv(\"LANGSMITH_TRACING\")\n", "os.environ[\"LANGSMITH_ENDPOINT\"]=os.getenv(\"LANGSMITH_ENDPOINT\")\n", "os.environ[\"LANGSMITH_API_KEY\"]=os.getenv(\"LANGSMITH_API_KEY\")\n", "os.environ[\"LANGSMITH_PROJECT\"]=os.getenv(\"LANGSMITH_PROJECT\")\n", "os.environ[\"GROQ_API_KEY\"]=os.getenv(\"GROQ_API_KEY\")\n", "\n", "from langchain_community.utilities import SQLDatabase\n", "from langchain_community.agent_toolkits import SQLDatabaseToolkit\n", "from langchain_groq import ChatGroq\n", "from langchain_core.messages import HumanMessage, AIMessage\n", "from langchain_core.prompts import ChatPromptTemplate\n", "from langchain_core.pydantic_v1 import BaseModel, Field\n", "from langgraph.graph import StateGraph, END, MessagesState\n", "from typing import TypedDict, Annotated, List, Literal, Dict, Any\n", "\n", "# Initialize LLM first\n", "llm = ChatGroq(model=\"llama3-70b-8192\")\n", "# Initialize database and tools\n", "db = SQLDatabase.from_uri(\"sqlite:///employee.db\")\n", "toolkit = SQLDatabaseToolkit(db=db, llm=llm)\n", "tools = toolkit.get_tools()\n", "\n", "# Get specific tools\n", "list_tables_tool = next((tool for tool in tools if tool.name == \"sql_db_list_tables\"), None)\n", "get_schema_tool = next((tool for tool in tools if tool.name == \"sql_db_schema\"), None)\n", "query_checker_tool = next((tool for tool in tools if tool.name == \"sql_db_query_checker\"), None)\n", "query_tool = next((tool for tool in tools if tool.name == \"sql_db_query\"), None)\n", "\n", "class SQLagentState(MessagesState):\n", " \"\"\"State for the agent\"\"\"\n", " next_tool: str = \"\"\n", " tables_list: str = \"\"\n", " schema_of_table: str = \"\"\n", " query_gen: str = \"\"\n", " check_query: str = \"\"\n", " execute_query: str = \"\"\n", " task_complete: bool = False\n", " response_to_user: str = \"\"\n", " current_task: str = \"\"\n", " query: str = \"\"\n", "\n", "class DBQuery(BaseModel):\n", " query: str = Field(..., description=\"The SQL query to execute\")\n", "\n", "def creating_sql_agent_chain():\n", " \"\"\"Creating a sql agent chain\"\"\"\n", " print(\"Creating a sql agent chain\")\n", " sql_agent_prompt = ChatPromptTemplate.from_messages([\n", " (\"system\", \"\"\"You are a supervisor SQL agent managing tools to get the answer to the user's query.\n", " \n", " Based on the current state, decide which tool should be called next:\n", " 1. list_table_tools - List all tables from the database\n", " 2. get_schema - Get the schema of required tables\n", " 3. generate_query - Generate a SQL query\n", " 4. check_query - Check if the query is correct\n", " 5. execute_query - Execute the query\n", " 6. response - Create response for the user\n", " \n", " Current state:\n", " - Tables listed: {tables_list}\n", " - Schema retrieved: {schema_of_table}\n", " - Query generated: {query_gen}\n", " - Query checked: {check_query}\n", " - Query executed: {execute_query}\n", " - Response created: {response_to_user}\n", " \n", " If no tables are listed, respond with 'list_table_tools'.\n", " If tables are listed but no schema, respond with 'get_schema'.\n", " If schema exists but no query generated, respond with 'generate_query'.\n", " If query generated but not checked, respond with 'check_query'.\n", " If query checked but not executed, respond with 'execute_query'.\n", " If query executed but no response, respond with 'response'.\n", " If everything is complete, respond with 'DONE'.\n", " \n", " Respond with ONLY the tool name or 'DONE'.\n", " \"\"\"),\n", " (\"human\", \"{task}\")\n", " ])\n", " return sql_agent_prompt | llm\n", "\n", "def sql_agent(state: SQLagentState) -> Dict:\n", " \"\"\"Agent decides which tool to call next\"\"\"\n", " messages = state[\"messages\"]\n", " task = messages[-1].content if messages else \"No task\"\n", " \n", " # Store the original query in state if not already stored\n", " if not state.get(\"query\"):\n", " state[\"query\"] = task\n", " \n", " # Check what's been completed (convert to boolean properly)\n", " tables_list = bool(state.get(\"tables_list\", \"\").strip())\n", " schema_of_table = bool(state.get(\"schema_of_table\", \"\").strip())\n", " query_gen = bool(state.get(\"query_gen\", \"\").strip())\n", " check_query = bool(state.get(\"check_query\", \"\").strip())\n", " execute_query = bool(state.get(\"execute_query\", \"\").strip())\n", " response_to_user = bool(state.get(\"response_to_user\", \"\").strip())\n", " \n", " print(f\"State check - Tables: {tables_list}, Schema: {schema_of_table}, Query: {query_gen}, Check: {check_query}, Execute: {execute_query}, Response: {response_to_user}\")\n", " \n", " chain = creating_sql_agent_chain()\n", " decision = chain.invoke({\n", " \"task\": task,\n", " \"tables_list\": tables_list,\n", " \"schema_of_table\": schema_of_table,\n", " \"query_gen\": query_gen,\n", " \"check_query\": check_query,\n", " \"execute_query\": execute_query,\n", " \"response_to_user\": response_to_user\n", " })\n", " \n", " decision_text = decision.content.strip().lower()\n", " print(f\"Agent decision: {decision_text}\")\n", " \n", " if \"done\" in decision_text:\n", " next_tool = \"end\"\n", " agent_msg = \"✅ SQL Agent: All tasks complete!\"\n", " elif \"list_table_tools\" in decision_text:\n", " next_tool = \"list_table_tools\"\n", " agent_msg = \"📋 SQL Agent: Listing all tables in database.\"\n", " elif \"get_schema\" in decision_text:\n", " next_tool = \"get_schema\"\n", " agent_msg = \"📋 SQL Agent: Getting schema of tables.\"\n", " elif \"generate_query\" in decision_text:\n", " next_tool = \"generate_query\"\n", " agent_msg = \"📋 SQL Agent: Generating SQL query.\"\n", " elif \"check_query\" in decision_text:\n", " next_tool = \"check_query\"\n", " agent_msg = \"📋 SQL Agent: Checking SQL query.\"\n", " elif \"execute_query\" in decision_text:\n", " next_tool = \"execute_query\"\n", " agent_msg = \"📋 SQL Agent: Executing query.\"\n", " elif \"response\" in decision_text:\n", " next_tool = \"response\"\n", " agent_msg = \"📋 SQL Agent: Creating response.\"\n", " else:\n", " next_tool = \"end\"\n", " agent_msg = \"✅ SQL Agent: Task complete.\"\n", " \n", " return {\n", " \"messages\": [AIMessage(content=agent_msg)],\n", " \"next_tool\": next_tool,\n", " \"current_task\": task\n", " }\n", "\n", "def list_table_tools(state: SQLagentState) -> Dict:\n", " \"\"\"List all the tables\"\"\"\n", " tables_list = list_tables_tool.invoke(\"\")\n", " print(f\"Tables found: {tables_list}\")\n", " return {\n", " \"messages\": [AIMessage(content=f\"Tables found: {tables_list}\")],\n", " \"tables_list\": tables_list,\n", " \"next_tool\": \"sql_agent\"\n", " }\n", "\n", "def get_schema(state: SQLagentState) -> Dict:\n", " \"\"\"Get the schema of required tables\"\"\"\n", " print(\"📘 Getting schema...\")\n", " tables_list = state.get(\"tables_list\", \"\")\n", " if not tables_list:\n", " tables_list = list_tables_tool.invoke(\"\")\n", " \n", " tables = [table.strip() for table in tables_list.split(\",\")]\n", " full_schema = \"\"\n", " \n", " for table in tables:\n", " try:\n", " schema = get_schema_tool.invoke(table)\n", " full_schema += f\"\\nTable: {table}\\n{schema}\\n\"\n", " except Exception as e:\n", " print(f\"Error getting schema for {table}: {e}\")\n", " \n", " print(f\"📘 Schema collected for tables: {tables}\")\n", " return {\n", " \"messages\": [AIMessage(content=f\"Schema retrieved: {full_schema}\")],\n", " \"schema_of_table\": full_schema,\n", " \"tables_list\": tables_list,\n", " \"next_tool\": \"sql_agent\"\n", " }\n", "\n", "def generate_query(state: SQLagentState) -> Dict:\n", " \"\"\"Generate a SQL Query according to the user query\"\"\"\n", " schema = state.get(\"schema_of_table\", \"\")\n", " human_query = state.get(\"query\", \"\")\n", " tables = state.get(\"tables_list\", \"\")\n", " \n", " print(f\"Generating query for: {human_query}\")\n", " \n", " generate_query_system_prompt = \"\"\"You are a SQL expert that generates precise SQL queries based on user questions.\n", " \n", " You will be provided with:\n", " - User's question\n", " - Available tables\n", " - Complete schema information\n", " \n", " Generate a SQL query that:\n", " - Uses correct column names from schema\n", " - Properly joins tables if needed\n", " - Includes appropriate WHERE clauses\n", " - Uses proper aggregation functions when needed\n", " \n", " Respond ONLY with the SQL query. Do not explain.\"\"\"\n", " \n", " combined_input = f\"\"\"\n", " User Question: {human_query}\n", " Tables: {tables}\n", " Schema: {schema}\n", " \"\"\"\n", " \n", " generate_query_prompt = ChatPromptTemplate.from_messages([\n", " (\"system\", generate_query_system_prompt),\n", " (\"human\", \"{input}\")\n", " ])\n", " \n", " try:\n", " formatted_prompt = generate_query_prompt.invoke({\"input\": combined_input})\n", " generate_query_llm = llm.with_structured_output(DBQuery)\n", " result = generate_query_llm.invoke(formatted_prompt)\n", " \n", " print(f\"✅ Query generated: {result.query}\")\n", " return {\n", " \"messages\": [AIMessage(content=f\"Query generated: {result.query}\")],\n", " \"query_gen\": result.query,\n", " \"next_tool\": \"sql_agent\"\n", " }\n", " except Exception as e:\n", " print(f\"❌ Failed to generate query: {e}\")\n", " return {\n", " \"messages\": [AIMessage(content=\"⚠️ Failed to generate SQL query.\")],\n", " \"query_gen\": \"\",\n", " \"next_tool\": \"sql_agent\"\n", " }\n", "\n", "def check_query(state: SQLagentState) -> Dict:\n", " \"\"\"Check if the query is correct\"\"\"\n", " query = state.get(\"query_gen\", \"\")\n", " print(f\"Checking query: {query}\")\n", " \n", " if not query:\n", " return {\n", " \"messages\": [AIMessage(content=\"No query to check\")],\n", " \"check_query\": \"\",\n", " \"next_tool\": \"sql_agent\"\n", " }\n", " \n", " try:\n", " checked_query = query_checker_tool.invoke(query)\n", " print(f\"Query checked: {checked_query}\")\n", " return {\n", " \"messages\": [AIMessage(content=f\"Query checked: {checked_query}\")],\n", " \"check_query\": checked_query if checked_query else query,\n", " \"next_tool\": \"sql_agent\"\n", " }\n", " except Exception as e:\n", " print(f\"Error checking query: {e}\")\n", " return {\n", " \"messages\": [AIMessage(content=\"Query check failed, using original query\")],\n", " \"check_query\": query,\n", " \"next_tool\": \"sql_agent\"\n", " }\n", "\n", "def execute_query(state: SQLagentState) -> Dict:\n", " \"\"\"Execute the SQL query\"\"\"\n", " query = state.get(\"check_query\", \"\") or state.get(\"query_gen\", \"\")\n", " print(f\"Executing query: {query}\")\n", " \n", " if not query:\n", " return {\n", " \"messages\": [AIMessage(content=\"No query to execute\")],\n", " \"execute_query\": \"\",\n", " \"next_tool\": \"sql_agent\"\n", " }\n", " \n", " try:\n", " results = query_tool.invoke(query)\n", " print(f\"Query results: {results}\")\n", " return {\n", " \"messages\": [AIMessage(content=f\"Query executed successfully: {results}\")],\n", " \"execute_query\": results,\n", " \"next_tool\": \"sql_agent\"\n", " }\n", " except Exception as e:\n", " print(f\"Error executing query: {e}\")\n", " return {\n", " \"messages\": [AIMessage(content=f\"Query execution failed: {e}\")],\n", " \"execute_query\": \"\",\n", " \"next_tool\": \"sql_agent\"\n", " }\n", "\n", "def create_response(state: SQLagentState) -> Dict:\n", " \"\"\"Create a final response for the user\"\"\"\n", " print(\"Creating final response...\")\n", " \n", " query = state.get(\"check_query\", \"\") or state.get(\"query_gen\", \"\")\n", " result = state.get(\"execute_query\", \"\")\n", " human_query = state.get(\"query\", \"\")\n", " \n", " response_prompt = f\"\"\"Create a clear, concise response for the user based on:\n", " \n", " User Question: {human_query}\n", " SQL Query: {query}\n", " Query Result: {result}\n", " \n", " Provide a natural language answer that directly addresses the user's question.\"\"\"\n", " \n", " try:\n", " response = llm.invoke([HumanMessage(content=response_prompt)])\n", " print(f\"Response created: {response.content}\")\n", " \n", " return {\n", " \"messages\": [response],\n", " \"response_to_user\": response.content,\n", " \"next_tool\": \"sql_agent\",\n", " \"task_complete\": True\n", " }\n", " except Exception as e:\n", " print(f\"Error creating response: {e}\")\n", " return {\n", " \"messages\": [AIMessage(content=\"Failed to create response\")],\n", " \"response_to_user\": \"\",\n", " \"next_tool\": \"sql_agent\",\n", " \"task_complete\": True\n", " }\n", "\n", "def router(state: SQLagentState):\n", " \"\"\"Route to the next node\"\"\"\n", " print(\"🔁 Entering router...\")\n", " next_tool = state.get(\"next_tool\", \"\")\n", " print(f\"➡️ Next tool: {next_tool}\")\n", " \n", " if next_tool == \"end\" or state.get(\"task_complete\", False):\n", " return END\n", " \n", " valid_tools = [\n", " \"sql_agent\", \"list_table_tools\", \"get_schema\", \"generate_query\",\n", " \"check_query\", \"execute_query\", \"response\"\n", " ]\n", " \n", " return next_tool if next_tool in valid_tools else \"sql_agent\"\n", "\n", "# Create workflow\n", "workflow = StateGraph(SQLagentState)\n", "\n", "# Add nodes\n", "workflow.add_node(\"sql_agent\", sql_agent)\n", "workflow.add_node(\"list_table_tools\", list_table_tools)\n", "workflow.add_node(\"get_schema\", get_schema)\n", "workflow.add_node(\"generate_query\", generate_query)\n", "workflow.add_node(\"check_query\", check_query)\n", "workflow.add_node(\"execute_query\", execute_query)\n", "workflow.add_node(\"response\", create_response)\n", "\n", "# Set entry point\n", "workflow.set_entry_point(\"sql_agent\")\n", "\n", "# Add routing\n", "for node in [\"sql_agent\", \"list_table_tools\", \"get_schema\", \"generate_query\", \"check_query\", \"execute_query\", \"response\"]:\n", " workflow.add_conditional_edges(\n", " node,\n", " router,\n", " {\n", " \"sql_agent\": \"sql_agent\",\n", " \"list_table_tools\": \"list_table_tools\",\n", " \"get_schema\": \"get_schema\",\n", " \"generate_query\": \"generate_query\",\n", " \"check_query\": \"check_query\",\n", " \"execute_query\": \"execute_query\",\n", " \"response\": \"response\",\n", " END: END\n", " }\n", " )\n", "\n", "# Compile the graph\n", "graph = workflow.compile()\n", "graph\n", "# Test the workflow\n", "# if __name__ == \"__main__\":\n", " # Correct way to invoke the graph\n", " " ] }, { "cell_type": "code", "execution_count": 115, "id": "1ccf8343", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "State check - Tables: False, Schema: False, Query: False, Check: False, Execute: False, Response: False\n", "Creating a sql agent chain\n", "Agent decision: list_table_tools\n", "🔁 Entering router...\n", "➡️ Next tool: list_table_tools\n", "Tables found: customers, employees, orders\n", "🔁 Entering router...\n", "➡️ Next tool: sql_agent\n", "State check - Tables: True, Schema: False, Query: False, Check: False, Execute: False, Response: False\n", "Creating a sql agent chain\n", "Agent decision: get_schema\n", "🔁 Entering router...\n", "➡️ Next tool: get_schema\n", "📘 Getting schema...\n", "📘 Schema collected for tables: ['customers', 'employees', 'orders']\n", "🔁 Entering router...\n", "➡️ Next tool: sql_agent\n", "State check - Tables: True, Schema: True, Query: False, Check: False, Execute: False, Response: False\n", "Creating a sql agent chain\n", "Agent decision: generate_query\n", "🔁 Entering router...\n", "➡️ Next tool: generate_query\n", "Generating query for: Give me all orders less than 200\n", "✅ Query generated: SELECT * FROM orders WHERE amount < 200\n", "🔁 Entering router...\n", "➡️ Next tool: sql_agent\n", "State check - Tables: True, Schema: True, Query: True, Check: False, Execute: False, Response: False\n", "Creating a sql agent chain\n", "Agent decision: check_query\n", "🔁 Entering router...\n", "➡️ Next tool: check_query\n", "Checking query: SELECT * FROM orders WHERE amount < 200\n", "Query checked: SELECT * FROM orders WHERE amount < 200\n", "🔁 Entering router...\n", "➡️ Next tool: sql_agent\n", "State check - Tables: True, Schema: True, Query: True, Check: True, Execute: False, Response: False\n", "Creating a sql agent chain\n", "Agent decision: execute_query\n", "🔁 Entering router...\n", "➡️ Next tool: execute_query\n", "Executing query: SELECT * FROM orders WHERE amount < 200\n", "Query results: [(2, 2, '2023-11-20', 150.5)]\n", "🔁 Entering router...\n", "➡️ Next tool: sql_agent\n", "State check - Tables: True, Schema: True, Query: True, Check: True, Execute: True, Response: False\n", "Creating a sql agent chain\n", "Agent decision: response\n", "🔁 Entering router...\n", "➡️ Next tool: response\n", "Creating final response...\n", "Response created: Here is a clear and concise response:\n", "\n", "\"You have one order with an amount less than 200. The order details are: Order ID 2, placed on 2023-11-20, with an amount of 150.5.\"\n", "🔁 Entering router...\n", "➡️ Next tool: sql_agent\n", "Final response: {'messages': [HumanMessage(content='', additional_kwargs={}, response_metadata={}, id='2e784d64-f58d-4ef8-a61d-467b140b67d3'), AIMessage(content='📋 SQL Agent: Listing all tables in database.', additional_kwargs={}, response_metadata={}, id='7743cd86-6e7b-4b45-80d3-7a072f641e1e'), AIMessage(content='Tables found: customers, employees, orders', additional_kwargs={}, response_metadata={}, id='ef976a76-d51f-4a3a-8e00-43cb85054c54'), AIMessage(content='📋 SQL Agent: Getting schema of tables.', additional_kwargs={}, response_metadata={}, id='48e4c2ea-c90e-44ac-b247-241e42acb095'), AIMessage(content='Schema retrieved: \\nTable: customers\\n\\nCREATE TABLE customers (\\n\\tcustomer_id INTEGER, \\n\\tfirst_name TEXT NOT NULL, \\n\\tlast_name TEXT NOT NULL, \\n\\temail TEXT NOT NULL, \\n\\tphone TEXT, \\n\\tPRIMARY KEY (customer_id), \\n\\tUNIQUE (email)\\n)\\n\\n/*\\n3 rows from customers table:\\ncustomer_id\\tfirst_name\\tlast_name\\temail\\tphone\\n1\\tJohn\\tDoe\\tjohn.doe@example.com\\t1234567890\\n2\\tJane\\tSmith\\tjane.smith@example.com\\t9876543210\\n3\\tEmily\\tDavis\\temily.davis@example.com\\t4567891230\\n*/\\n\\nTable: employees\\n\\nCREATE TABLE employees (\\n\\temp_id INTEGER, \\n\\tfirst_name TEXT NOT NULL, \\n\\tlast_name TEXT NOT NULL, \\n\\temail TEXT NOT NULL, \\n\\thire_date TEXT NOT NULL, \\n\\tsalary REAL NOT NULL, \\n\\tPRIMARY KEY (emp_id), \\n\\tUNIQUE (email)\\n)\\n\\n/*\\n3 rows from employees table:\\nemp_id\\tfirst_name\\tlast_name\\temail\\thire_date\\tsalary\\n1\\tSunny\\tSavita\\tsunny.sv@abc.com\\t2023-06-01\\t50000.0\\n2\\tArhun\\tMeheta\\tarhun.m@gmail.com\\t2022-04-15\\t60000.0\\n3\\tAlice\\tJohnson\\talice.johnson@jpg.com\\t2021-09-30\\t55000.0\\n*/\\n\\nTable: orders\\n\\nCREATE TABLE orders (\\n\\torder_id INTEGER, \\n\\tcustomer_id INTEGER NOT NULL, \\n\\torder_date TEXT NOT NULL, \\n\\tamount REAL NOT NULL, \\n\\tPRIMARY KEY (order_id), \\n\\tFOREIGN KEY(customer_id) REFERENCES customers (customer_id)\\n)\\n\\n/*\\n3 rows from orders table:\\norder_id\\tcustomer_id\\torder_date\\tamount\\n1\\t1\\t2023-12-01\\t250.75\\n2\\t2\\t2023-11-20\\t150.5\\n3\\t3\\t2023-11-25\\t300.0\\n*/\\n', additional_kwargs={}, response_metadata={}, id='3926a4e5-73c2-422d-9f37-25db6d8c714b'), AIMessage(content='📋 SQL Agent: Generating SQL query.', additional_kwargs={}, response_metadata={}, id='6b5645d9-cc9b-40ac-b85c-f13543b5fe14'), AIMessage(content='Query generated: SELECT * FROM orders WHERE amount < 200', additional_kwargs={}, response_metadata={}, id='8fe3da88-6822-4fe9-8229-2bc9b51f37b6'), AIMessage(content='📋 SQL Agent: Checking SQL query.', additional_kwargs={}, response_metadata={}, id='69be36bb-9e05-4cdd-a3fd-400495316b19'), AIMessage(content='Query checked: SELECT * FROM orders WHERE amount < 200', additional_kwargs={}, response_metadata={}, id='13bb17e1-0cbc-4934-9751-859acf2e7c51'), AIMessage(content='📋 SQL Agent: Executing query.', additional_kwargs={}, response_metadata={}, id='70a1d084-3983-4a0c-b8c8-c85c5aad1f99'), AIMessage(content=\"Query executed successfully: [(2, 2, '2023-11-20', 150.5)]\", additional_kwargs={}, response_metadata={}, id='191b79c9-790c-41d6-ac17-17b4d355a3fd'), AIMessage(content='📋 SQL Agent: Creating response.', additional_kwargs={}, response_metadata={}, id='56299d8e-8755-465b-b922-b1a29ed654fc'), AIMessage(content='Here is a clear and concise response:\\n\\n\"You have one order with an amount less than 200. The order details are: Order ID 2, placed on 2023-11-20, with an amount of 150.5.\"', additional_kwargs={}, response_metadata={'token_usage': {'completion_tokens': 50, 'prompt_tokens': 86, 'total_tokens': 136, 'completion_time': 0.175517554, 'prompt_time': 0.002476571, 'queue_time': 0.27424492300000003, 'total_time': 0.177994125}, 'model_name': 'llama3-70b-8192', 'system_fingerprint': 'fp_bf16903a67', 'service_tier': 'on_demand', 'finish_reason': 'stop', 'logprobs': None}, id='run--e9ff2d94-17ac-4b35-9ebb-b1cd46f18d02-0', usage_metadata={'input_tokens': 86, 'output_tokens': 50, 'total_tokens': 136})], 'next_tool': 'sql_agent', 'tables_list': 'customers, employees, orders', 'schema_of_table': '\\nTable: customers\\n\\nCREATE TABLE customers (\\n\\tcustomer_id INTEGER, \\n\\tfirst_name TEXT NOT NULL, \\n\\tlast_name TEXT NOT NULL, \\n\\temail TEXT NOT NULL, \\n\\tphone TEXT, \\n\\tPRIMARY KEY (customer_id), \\n\\tUNIQUE (email)\\n)\\n\\n/*\\n3 rows from customers table:\\ncustomer_id\\tfirst_name\\tlast_name\\temail\\tphone\\n1\\tJohn\\tDoe\\tjohn.doe@example.com\\t1234567890\\n2\\tJane\\tSmith\\tjane.smith@example.com\\t9876543210\\n3\\tEmily\\tDavis\\temily.davis@example.com\\t4567891230\\n*/\\n\\nTable: employees\\n\\nCREATE TABLE employees (\\n\\temp_id INTEGER, \\n\\tfirst_name TEXT NOT NULL, \\n\\tlast_name TEXT NOT NULL, \\n\\temail TEXT NOT NULL, \\n\\thire_date TEXT NOT NULL, \\n\\tsalary REAL NOT NULL, \\n\\tPRIMARY KEY (emp_id), \\n\\tUNIQUE (email)\\n)\\n\\n/*\\n3 rows from employees table:\\nemp_id\\tfirst_name\\tlast_name\\temail\\thire_date\\tsalary\\n1\\tSunny\\tSavita\\tsunny.sv@abc.com\\t2023-06-01\\t50000.0\\n2\\tArhun\\tMeheta\\tarhun.m@gmail.com\\t2022-04-15\\t60000.0\\n3\\tAlice\\tJohnson\\talice.johnson@jpg.com\\t2021-09-30\\t55000.0\\n*/\\n\\nTable: orders\\n\\nCREATE TABLE orders (\\n\\torder_id INTEGER, \\n\\tcustomer_id INTEGER NOT NULL, \\n\\torder_date TEXT NOT NULL, \\n\\tamount REAL NOT NULL, \\n\\tPRIMARY KEY (order_id), \\n\\tFOREIGN KEY(customer_id) REFERENCES customers (customer_id)\\n)\\n\\n/*\\n3 rows from orders table:\\norder_id\\tcustomer_id\\torder_date\\tamount\\n1\\t1\\t2023-12-01\\t250.75\\n2\\t2\\t2023-11-20\\t150.5\\n3\\t3\\t2023-11-25\\t300.0\\n*/\\n', 'query_gen': 'SELECT * FROM orders WHERE amount < 200', 'check_query': 'SELECT * FROM orders WHERE amount < 200', 'execute_query': \"[(2, 2, '2023-11-20', 150.5)]\", 'task_complete': True, 'response_to_user': 'Here is a clear and concise response:\\n\\n\"You have one order with an amount less than 200. The order details are: Order ID 2, placed on 2023-11-20, with an amount of 150.5.\"', 'current_task': \"Query executed successfully: [(2, 2, '2023-11-20', 150.5)]\", 'query': 'Give me all orders less than 200'}\n" ] } ], "source": [ "response = graph.invoke({\n", " \"messages\": [HumanMessage(content=\"\")],\n", " \"query\": \"Give me all orders less than 200\"\n", " })\n", "print(\"Final response:\", response)" ] }, { "cell_type": "code", "execution_count": 110, "id": "fe2328b0", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'Here are the 2 employees from the employees table: \\n\\nEmployee 1: Sunny Savita with email sunny.sv@abc.com\\nEmployee 2: Arhun Meheta with email arhun.m@gmail.com'" ] }, "execution_count": 110, "metadata": {}, "output_type": "execute_result" } ], "source": [ "response[\"messages\"][-1].content" ] }, { "cell_type": "code", "execution_count": 105, "id": "e0284095", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Give me the 2 employees from employees table\n", "None\n", "None\n", "None\n", "None\n", "None\n", "None\n", "Creating a sql agent chain \n", "sql agent chain has been created! \n", "list_table_tools\n", "🔁 Entering router...\n", "➡️ Next tool: get_schema\n", "📘 Entering get_schema function...\n", "✅ Tables found: customers, employees, orders\n", "📘 Full schema collected: \n", "customers\n", "\n", "CREATE TABLE customers (\n", "\tcustomer_id INTEGER, \n", "\tfirst_name TEXT NOT NULL, \n", "\tlast_name TEXT NOT NULL, \n", "\temail TEXT NOT NULL, \n", "\tphone TEXT, \n", "\tPRIMARY KEY (customer_id), \n", "\tUNIQUE (email)\n", ")\n", "\n", "/*\n", "3 rows from customers table:\n", "customer_id\tfirst_name\tlast_name\temail\tphone\n", "1\tJohn\tDoe\tjohn.doe@example.com\t1234567890\n", "2\tJane\tSmith\tjane.smith@example.com\t9876543210\n", "3\tEmily\tDavis\temily.davis@example.com\t4567891230\n", "*/\n", "employees\n", "\n", "CREATE TABLE employees (\n", "\temp_id INTEGER, \n", "\tfirst_name TEXT NOT NULL, \n", "\tlast_name TEXT NOT NULL, \n", "\temail TEXT NOT NULL, \n", "\thire_date TEXT NOT NULL, \n", "\tsalary REAL NOT NULL, \n", "\tPRIMARY KEY (emp_id), \n", "\tUNIQUE (email)\n", ")\n", "\n", "/*\n", "3 rows from employees table:\n", "emp_id\tfirst_name\tlast_name\temail\thire_date\tsalary\n", "1\tSunny\tSavita\tsunny.sv@abc.com\t2023-06-01\t50000.0\n", "2\tArhun\tMeheta\tarhun.m@gmail.com\t2022-04-15\t60000.0\n", "3\tAlice\tJohnson\talice.johnson@jpg.com\t2021-09-30\t55000.0\n", "*/\n", "orders\n", "\n", "CREATE TABLE orders (\n", "\torder_id INTEGER, \n", "\tcustomer_id INTEGER NOT NULL, \n", "\torder_date TEXT NOT NULL, \n", "\tamount REAL NOT NULL, \n", "\tPRIMARY KEY (order_id), \n", "\tFOREIGN KEY(customer_id) REFERENCES customers (customer_id)\n", ")\n", "\n", "/*\n", "3 rows from orders table:\n", "order_id\tcustomer_id\torder_date\tamount\n", "1\t1\t2023-12-01\t250.75\n", "2\t2\t2023-11-20\t150.5\n", "3\t3\t2023-11-25\t300.0\n", "*/\n", "🔁 Entering router...\n", "➡️ Next tool: sql_agent\n", "\n", "customers\n", "\n", "CREATE TABLE customers (\n", "\tcustomer_id INTEGER, \n", "\tfirst_name TEXT NOT NULL, \n", "\tlast_name TEXT NOT NULL, \n", "\temail TEXT NOT NULL, \n", "\tphone TEXT, \n", "\tPRIMARY KEY (customer_id), \n", "\tUNIQUE (email)\n", ")\n", "\n", "/*\n", "3 rows from customers table:\n", "customer_id\tfirst_name\tlast_name\temail\tphone\n", "1\tJohn\tDoe\tjohn.doe@example.com\t1234567890\n", "2\tJane\tSmith\tjane.smith@example.com\t9876543210\n", "3\tEmily\tDavis\temily.davis@example.com\t4567891230\n", "*/\n", "employees\n", "\n", "CREATE TABLE employees (\n", "\temp_id INTEGER, \n", "\tfirst_name TEXT NOT NULL, \n", "\tlast_name TEXT NOT NULL, \n", "\temail TEXT NOT NULL, \n", "\thire_date TEXT NOT NULL, \n", "\tsalary REAL NOT NULL, \n", "\tPRIMARY KEY (emp_id), \n", "\tUNIQUE (email)\n", ")\n", "\n", "/*\n", "3 rows from employees table:\n", "emp_id\tfirst_name\tlast_name\temail\thire_date\tsalary\n", "1\tSunny\tSavita\tsunny.sv@abc.com\t2023-06-01\t50000.0\n", "2\tArhun\tMeheta\tarhun.m@gmail.com\t2022-04-15\t60000.0\n", "3\tAlice\tJohnson\talice.johnson@jpg.com\t2021-09-30\t55000.0\n", "*/\n", "orders\n", "\n", "CREATE TABLE orders (\n", "\torder_id INTEGER, \n", "\tcustomer_id INTEGER NOT NULL, \n", "\torder_date TEXT NOT NULL, \n", "\tamount REAL NOT NULL, \n", "\tPRIMARY KEY (order_id), \n", "\tFOREIGN KEY(customer_id) REFERENCES customers (customer_id)\n", ")\n", "\n", "/*\n", "3 rows from orders table:\n", "order_id\tcustomer_id\torder_date\tamount\n", "1\t1\t2023-12-01\t250.75\n", "2\t2\t2023-11-20\t150.5\n", "3\t3\t2023-11-25\t300.0\n", "*/\n", "customers, employees, orders\n", "\n", "customers\n", "\n", "CREATE TABLE customers (\n", "\tcustomer_id INTEGER, \n", "\tfirst_name TEXT NOT NULL, \n", "\tlast_name TEXT NOT NULL, \n", "\temail TEXT NOT NULL, \n", "\tphone TEXT, \n", "\tPRIMARY KEY (customer_id), \n", "\tUNIQUE (email)\n", ")\n", "\n", "/*\n", "3 rows from customers table:\n", "customer_id\tfirst_name\tlast_name\temail\tphone\n", "1\tJohn\tDoe\tjohn.doe@example.com\t1234567890\n", "2\tJane\tSmith\tjane.smith@example.com\t9876543210\n", "3\tEmily\tDavis\temily.davis@example.com\t4567891230\n", "*/\n", "employees\n", "\n", "CREATE TABLE employees (\n", "\temp_id INTEGER, \n", "\tfirst_name TEXT NOT NULL, \n", "\tlast_name TEXT NOT NULL, \n", "\temail TEXT NOT NULL, \n", "\thire_date TEXT NOT NULL, \n", "\tsalary REAL NOT NULL, \n", "\tPRIMARY KEY (emp_id), \n", "\tUNIQUE (email)\n", ")\n", "\n", "/*\n", "3 rows from employees table:\n", "emp_id\tfirst_name\tlast_name\temail\thire_date\tsalary\n", "1\tSunny\tSavita\tsunny.sv@abc.com\t2023-06-01\t50000.0\n", "2\tArhun\tMeheta\tarhun.m@gmail.com\t2022-04-15\t60000.0\n", "3\tAlice\tJohnson\talice.johnson@jpg.com\t2021-09-30\t55000.0\n", "*/\n", "orders\n", "\n", "CREATE TABLE orders (\n", "\torder_id INTEGER, \n", "\tcustomer_id INTEGER NOT NULL, \n", "\torder_date TEXT NOT NULL, \n", "\tamount REAL NOT NULL, \n", "\tPRIMARY KEY (order_id), \n", "\tFOREIGN KEY(customer_id) REFERENCES customers (customer_id)\n", ")\n", "\n", "/*\n", "3 rows from orders table:\n", "order_id\tcustomer_id\torder_date\tamount\n", "1\t1\t2023-12-01\t250.75\n", "2\t2\t2023-11-20\t150.5\n", "3\t3\t2023-11-25\t300.0\n", "*/\n", "None\n", "None\n", "None\n", "None\n", "Creating a sql agent chain \n", "sql agent chain has been created! \n", "generate_query\n", "🔁 Entering router...\n", "➡️ Next tool: check_query\n", "🔁 Entering router...\n", "➡️ Next tool: sql_agent\n", "Since there is no SQL query provided, I'll just output a blank line.\n", "\n", "```\n", "```\n", "customers, employees, orders\n", "\n", "customers\n", "\n", "CREATE TABLE customers (\n", "\tcustomer_id INTEGER, \n", "\tfirst_name TEXT NOT NULL, \n", "\tlast_name TEXT NOT NULL, \n", "\temail TEXT NOT NULL, \n", "\tphone TEXT, \n", "\tPRIMARY KEY (customer_id), \n", "\tUNIQUE (email)\n", ")\n", "\n", "/*\n", "3 rows from customers table:\n", "customer_id\tfirst_name\tlast_name\temail\tphone\n", "1\tJohn\tDoe\tjohn.doe@example.com\t1234567890\n", "2\tJane\tSmith\tjane.smith@example.com\t9876543210\n", "3\tEmily\tDavis\temily.davis@example.com\t4567891230\n", "*/\n", "employees\n", "\n", "CREATE TABLE employees (\n", "\temp_id INTEGER, \n", "\tfirst_name TEXT NOT NULL, \n", "\tlast_name TEXT NOT NULL, \n", "\temail TEXT NOT NULL, \n", "\thire_date TEXT NOT NULL, \n", "\tsalary REAL NOT NULL, \n", "\tPRIMARY KEY (emp_id), \n", "\tUNIQUE (email)\n", ")\n", "\n", "/*\n", "3 rows from employees table:\n", "emp_id\tfirst_name\tlast_name\temail\thire_date\tsalary\n", "1\tSunny\tSavita\tsunny.sv@abc.com\t2023-06-01\t50000.0\n", "2\tArhun\tMeheta\tarhun.m@gmail.com\t2022-04-15\t60000.0\n", "3\tAlice\tJohnson\talice.johnson@jpg.com\t2021-09-30\t55000.0\n", "*/\n", "orders\n", "\n", "CREATE TABLE orders (\n", "\torder_id INTEGER, \n", "\tcustomer_id INTEGER NOT NULL, \n", "\torder_date TEXT NOT NULL, \n", "\tamount REAL NOT NULL, \n", "\tPRIMARY KEY (order_id), \n", "\tFOREIGN KEY(customer_id) REFERENCES customers (customer_id)\n", ")\n", "\n", "/*\n", "3 rows from orders table:\n", "order_id\tcustomer_id\torder_date\tamount\n", "1\t1\t2023-12-01\t250.75\n", "2\t2\t2023-11-20\t150.5\n", "3\t3\t2023-11-25\t300.0\n", "*/\n", "None\n", "None\n", "None\n", "None\n", "Creating a sql agent chain \n", "sql agent chain has been created! \n", "generate_query\n", "🔁 Entering router...\n", "➡️ Next tool: check_query\n", "🔁 Entering router...\n", "➡️ Next tool: sql_agent\n", "There is no SQL query provided. Please provide the SQL query, and I'll be happy to help you review it for common mistakes and provide a rewritten query if necessary.\n", "customers, employees, orders\n", "\n", "customers\n", "\n", "CREATE TABLE customers (\n", "\tcustomer_id INTEGER, \n", "\tfirst_name TEXT NOT NULL, \n", "\tlast_name TEXT NOT NULL, \n", "\temail TEXT NOT NULL, \n", "\tphone TEXT, \n", "\tPRIMARY KEY (customer_id), \n", "\tUNIQUE (email)\n", ")\n", "\n", "/*\n", "3 rows from customers table:\n", "customer_id\tfirst_name\tlast_name\temail\tphone\n", "1\tJohn\tDoe\tjohn.doe@example.com\t1234567890\n", "2\tJane\tSmith\tjane.smith@example.com\t9876543210\n", "3\tEmily\tDavis\temily.davis@example.com\t4567891230\n", "*/\n", "employees\n", "\n", "CREATE TABLE employees (\n", "\temp_id INTEGER, \n", "\tfirst_name TEXT NOT NULL, \n", "\tlast_name TEXT NOT NULL, \n", "\temail TEXT NOT NULL, \n", "\thire_date TEXT NOT NULL, \n", "\tsalary REAL NOT NULL, \n", "\tPRIMARY KEY (emp_id), \n", "\tUNIQUE (email)\n", ")\n", "\n", "/*\n", "3 rows from employees table:\n", "emp_id\tfirst_name\tlast_name\temail\thire_date\tsalary\n", "1\tSunny\tSavita\tsunny.sv@abc.com\t2023-06-01\t50000.0\n", "2\tArhun\tMeheta\tarhun.m@gmail.com\t2022-04-15\t60000.0\n", "3\tAlice\tJohnson\talice.johnson@jpg.com\t2021-09-30\t55000.0\n", "*/\n", "orders\n", "\n", "CREATE TABLE orders (\n", "\torder_id INTEGER, \n", "\tcustomer_id INTEGER NOT NULL, \n", "\torder_date TEXT NOT NULL, \n", "\tamount REAL NOT NULL, \n", "\tPRIMARY KEY (order_id), \n", "\tFOREIGN KEY(customer_id) REFERENCES customers (customer_id)\n", ")\n", "\n", "/*\n", "3 rows from orders table:\n", "order_id\tcustomer_id\torder_date\tamount\n", "1\t1\t2023-12-01\t250.75\n", "2\t2\t2023-11-20\t150.5\n", "3\t3\t2023-11-25\t300.0\n", "*/\n", "None\n", "None\n", "None\n", "None\n", "Creating a sql agent chain \n", "sql agent chain has been created! \n", "generate_query\n", "🔁 Entering router...\n", "➡️ Next tool: check_query\n", "🔁 Entering router...\n", "➡️ Next tool: sql_agent\n", "There is no SQL query provided. Please provide the SQL query, and I'll be happy to help you review it for common mistakes and suggest corrections if needed.\n", "customers, employees, orders\n", "\n", "customers\n", "\n", "CREATE TABLE customers (\n", "\tcustomer_id INTEGER, \n", "\tfirst_name TEXT NOT NULL, \n", "\tlast_name TEXT NOT NULL, \n", "\temail TEXT NOT NULL, \n", "\tphone TEXT, \n", "\tPRIMARY KEY (customer_id), \n", "\tUNIQUE (email)\n", ")\n", "\n", "/*\n", "3 rows from customers table:\n", "customer_id\tfirst_name\tlast_name\temail\tphone\n", "1\tJohn\tDoe\tjohn.doe@example.com\t1234567890\n", "2\tJane\tSmith\tjane.smith@example.com\t9876543210\n", "3\tEmily\tDavis\temily.davis@example.com\t4567891230\n", "*/\n", "employees\n", "\n", "CREATE TABLE employees (\n", "\temp_id INTEGER, \n", "\tfirst_name TEXT NOT NULL, \n", "\tlast_name TEXT NOT NULL, \n", "\temail TEXT NOT NULL, \n", "\thire_date TEXT NOT NULL, \n", "\tsalary REAL NOT NULL, \n", "\tPRIMARY KEY (emp_id), \n", "\tUNIQUE (email)\n", ")\n", "\n", "/*\n", "3 rows from employees table:\n", "emp_id\tfirst_name\tlast_name\temail\thire_date\tsalary\n", "1\tSunny\tSavita\tsunny.sv@abc.com\t2023-06-01\t50000.0\n", "2\tArhun\tMeheta\tarhun.m@gmail.com\t2022-04-15\t60000.0\n", "3\tAlice\tJohnson\talice.johnson@jpg.com\t2021-09-30\t55000.0\n", "*/\n", "orders\n", "\n", "CREATE TABLE orders (\n", "\torder_id INTEGER, \n", "\tcustomer_id INTEGER NOT NULL, \n", "\torder_date TEXT NOT NULL, \n", "\tamount REAL NOT NULL, \n", "\tPRIMARY KEY (order_id), \n", "\tFOREIGN KEY(customer_id) REFERENCES customers (customer_id)\n", ")\n", "\n", "/*\n", "3 rows from orders table:\n", "order_id\tcustomer_id\torder_date\tamount\n", "1\t1\t2023-12-01\t250.75\n", "2\t2\t2023-11-20\t150.5\n", "3\t3\t2023-11-25\t300.0\n", "*/\n", "None\n", "None\n", "None\n", "None\n", "Creating a sql agent chain \n", "sql agent chain has been created! \n", "generate_query\n", "🔁 Entering router...\n", "➡️ Next tool: check_query\n", "🔁 Entering router...\n", "➡️ Next tool: sql_agent\n", "There is no SQL query provided. Please provide the SQL query you want me to check for common mistakes.\n", "customers, employees, orders\n", "\n", "customers\n", "\n", "CREATE TABLE customers (\n", "\tcustomer_id INTEGER, \n", "\tfirst_name TEXT NOT NULL, \n", "\tlast_name TEXT NOT NULL, \n", "\temail TEXT NOT NULL, \n", "\tphone TEXT, \n", "\tPRIMARY KEY (customer_id), \n", "\tUNIQUE (email)\n", ")\n", "\n", "/*\n", "3 rows from customers table:\n", "customer_id\tfirst_name\tlast_name\temail\tphone\n", "1\tJohn\tDoe\tjohn.doe@example.com\t1234567890\n", "2\tJane\tSmith\tjane.smith@example.com\t9876543210\n", "3\tEmily\tDavis\temily.davis@example.com\t4567891230\n", "*/\n", "employees\n", "\n", "CREATE TABLE employees (\n", "\temp_id INTEGER, \n", "\tfirst_name TEXT NOT NULL, \n", "\tlast_name TEXT NOT NULL, \n", "\temail TEXT NOT NULL, \n", "\thire_date TEXT NOT NULL, \n", "\tsalary REAL NOT NULL, \n", "\tPRIMARY KEY (emp_id), \n", "\tUNIQUE (email)\n", ")\n", "\n", "/*\n", "3 rows from employees table:\n", "emp_id\tfirst_name\tlast_name\temail\thire_date\tsalary\n", "1\tSunny\tSavita\tsunny.sv@abc.com\t2023-06-01\t50000.0\n", "2\tArhun\tMeheta\tarhun.m@gmail.com\t2022-04-15\t60000.0\n", "3\tAlice\tJohnson\talice.johnson@jpg.com\t2021-09-30\t55000.0\n", "*/\n", "orders\n", "\n", "CREATE TABLE orders (\n", "\torder_id INTEGER, \n", "\tcustomer_id INTEGER NOT NULL, \n", "\torder_date TEXT NOT NULL, \n", "\tamount REAL NOT NULL, \n", "\tPRIMARY KEY (order_id), \n", "\tFOREIGN KEY(customer_id) REFERENCES customers (customer_id)\n", ")\n", "\n", "/*\n", "3 rows from orders table:\n", "order_id\tcustomer_id\torder_date\tamount\n", "1\t1\t2023-12-01\t250.75\n", "2\t2\t2023-11-20\t150.5\n", "3\t3\t2023-11-25\t300.0\n", "*/\n", "None\n", "None\n", "None\n", "None\n", "Creating a sql agent chain \n", "sql agent chain has been created! \n", "generate_query\n", "🔁 Entering router...\n", "➡️ Next tool: check_query\n", "🔁 Entering router...\n", "➡️ Next tool: sql_agent\n", "Since there is no SQL query provided, I'll just output a blank line.\n", "\n", "```sql\n", "\n", "```\n", "customers, employees, orders\n", "\n", "customers\n", "\n", "CREATE TABLE customers (\n", "\tcustomer_id INTEGER, \n", "\tfirst_name TEXT NOT NULL, \n", "\tlast_name TEXT NOT NULL, \n", "\temail TEXT NOT NULL, \n", "\tphone TEXT, \n", "\tPRIMARY KEY (customer_id), \n", "\tUNIQUE (email)\n", ")\n", "\n", "/*\n", "3 rows from customers table:\n", "customer_id\tfirst_name\tlast_name\temail\tphone\n", "1\tJohn\tDoe\tjohn.doe@example.com\t1234567890\n", "2\tJane\tSmith\tjane.smith@example.com\t9876543210\n", "3\tEmily\tDavis\temily.davis@example.com\t4567891230\n", "*/\n", "employees\n", "\n", "CREATE TABLE employees (\n", "\temp_id INTEGER, \n", "\tfirst_name TEXT NOT NULL, \n", "\tlast_name TEXT NOT NULL, \n", "\temail TEXT NOT NULL, \n", "\thire_date TEXT NOT NULL, \n", "\tsalary REAL NOT NULL, \n", "\tPRIMARY KEY (emp_id), \n", "\tUNIQUE (email)\n", ")\n", "\n", "/*\n", "3 rows from employees table:\n", "emp_id\tfirst_name\tlast_name\temail\thire_date\tsalary\n", "1\tSunny\tSavita\tsunny.sv@abc.com\t2023-06-01\t50000.0\n", "2\tArhun\tMeheta\tarhun.m@gmail.com\t2022-04-15\t60000.0\n", "3\tAlice\tJohnson\talice.johnson@jpg.com\t2021-09-30\t55000.0\n", "*/\n", "orders\n", "\n", "CREATE TABLE orders (\n", "\torder_id INTEGER, \n", "\tcustomer_id INTEGER NOT NULL, \n", "\torder_date TEXT NOT NULL, \n", "\tamount REAL NOT NULL, \n", "\tPRIMARY KEY (order_id), \n", "\tFOREIGN KEY(customer_id) REFERENCES customers (customer_id)\n", ")\n", "\n", "/*\n", "3 rows from orders table:\n", "order_id\tcustomer_id\torder_date\tamount\n", "1\t1\t2023-12-01\t250.75\n", "2\t2\t2023-11-20\t150.5\n", "3\t3\t2023-11-25\t300.0\n", "*/\n", "None\n", "None\n", "None\n", "None\n", "Creating a sql agent chain \n", "sql agent chain has been created! \n", "generate_query\n", "🔁 Entering router...\n", "➡️ Next tool: check_query\n", "🔁 Entering router...\n", "➡️ Next tool: sql_agent\n", "There is no SQL query provided. Please provide the SQL query, and I'll be happy to help you review it for common mistakes and suggest corrections if needed.\n", "customers, employees, orders\n", "\n", "customers\n", "\n", "CREATE TABLE customers (\n", "\tcustomer_id INTEGER, \n", "\tfirst_name TEXT NOT NULL, \n", "\tlast_name TEXT NOT NULL, \n", "\temail TEXT NOT NULL, \n", "\tphone TEXT, \n", "\tPRIMARY KEY (customer_id), \n", "\tUNIQUE (email)\n", ")\n", "\n", "/*\n", "3 rows from customers table:\n", "customer_id\tfirst_name\tlast_name\temail\tphone\n", "1\tJohn\tDoe\tjohn.doe@example.com\t1234567890\n", "2\tJane\tSmith\tjane.smith@example.com\t9876543210\n", "3\tEmily\tDavis\temily.davis@example.com\t4567891230\n", "*/\n", "employees\n", "\n", "CREATE TABLE employees (\n", "\temp_id INTEGER, \n", "\tfirst_name TEXT NOT NULL, \n", "\tlast_name TEXT NOT NULL, \n", "\temail TEXT NOT NULL, \n", "\thire_date TEXT NOT NULL, \n", "\tsalary REAL NOT NULL, \n", "\tPRIMARY KEY (emp_id), \n", "\tUNIQUE (email)\n", ")\n", "\n", "/*\n", "3 rows from employees table:\n", "emp_id\tfirst_name\tlast_name\temail\thire_date\tsalary\n", "1\tSunny\tSavita\tsunny.sv@abc.com\t2023-06-01\t50000.0\n", "2\tArhun\tMeheta\tarhun.m@gmail.com\t2022-04-15\t60000.0\n", "3\tAlice\tJohnson\talice.johnson@jpg.com\t2021-09-30\t55000.0\n", "*/\n", "orders\n", "\n", "CREATE TABLE orders (\n", "\torder_id INTEGER, \n", "\tcustomer_id INTEGER NOT NULL, \n", "\torder_date TEXT NOT NULL, \n", "\tamount REAL NOT NULL, \n", "\tPRIMARY KEY (order_id), \n", "\tFOREIGN KEY(customer_id) REFERENCES customers (customer_id)\n", ")\n", "\n", "/*\n", "3 rows from orders table:\n", "order_id\tcustomer_id\torder_date\tamount\n", "1\t1\t2023-12-01\t250.75\n", "2\t2\t2023-11-20\t150.5\n", "3\t3\t2023-11-25\t300.0\n", "*/\n", "None\n", "None\n", "None\n", "None\n", "Creating a sql agent chain \n", "sql agent chain has been created! \n", "generate_query\n", "🔁 Entering router...\n", "➡️ Next tool: check_query\n", "🔁 Entering router...\n", "➡️ Next tool: sql_agent\n", "Since there is no SQL query provided, I will output nothing. Please provide the SQL query, and I'll be happy to help you review it for common mistakes.\n", "customers, employees, orders\n", "\n", "customers\n", "\n", "CREATE TABLE customers (\n", "\tcustomer_id INTEGER, \n", "\tfirst_name TEXT NOT NULL, \n", "\tlast_name TEXT NOT NULL, \n", "\temail TEXT NOT NULL, \n", "\tphone TEXT, \n", "\tPRIMARY KEY (customer_id), \n", "\tUNIQUE (email)\n", ")\n", "\n", "/*\n", "3 rows from customers table:\n", "customer_id\tfirst_name\tlast_name\temail\tphone\n", "1\tJohn\tDoe\tjohn.doe@example.com\t1234567890\n", "2\tJane\tSmith\tjane.smith@example.com\t9876543210\n", "3\tEmily\tDavis\temily.davis@example.com\t4567891230\n", "*/\n", "employees\n", "\n", "CREATE TABLE employees (\n", "\temp_id INTEGER, \n", "\tfirst_name TEXT NOT NULL, \n", "\tlast_name TEXT NOT NULL, \n", "\temail TEXT NOT NULL, \n", "\thire_date TEXT NOT NULL, \n", "\tsalary REAL NOT NULL, \n", "\tPRIMARY KEY (emp_id), \n", "\tUNIQUE (email)\n", ")\n", "\n", "/*\n", "3 rows from employees table:\n", "emp_id\tfirst_name\tlast_name\temail\thire_date\tsalary\n", "1\tSunny\tSavita\tsunny.sv@abc.com\t2023-06-01\t50000.0\n", "2\tArhun\tMeheta\tarhun.m@gmail.com\t2022-04-15\t60000.0\n", "3\tAlice\tJohnson\talice.johnson@jpg.com\t2021-09-30\t55000.0\n", "*/\n", "orders\n", "\n", "CREATE TABLE orders (\n", "\torder_id INTEGER, \n", "\tcustomer_id INTEGER NOT NULL, \n", "\torder_date TEXT NOT NULL, \n", "\tamount REAL NOT NULL, \n", "\tPRIMARY KEY (order_id), \n", "\tFOREIGN KEY(customer_id) REFERENCES customers (customer_id)\n", ")\n", "\n", "/*\n", "3 rows from orders table:\n", "order_id\tcustomer_id\torder_date\tamount\n", "1\t1\t2023-12-01\t250.75\n", "2\t2\t2023-11-20\t150.5\n", "3\t3\t2023-11-25\t300.0\n", "*/\n", "None\n", "None\n", "None\n", "None\n", "Creating a sql agent chain \n", "sql agent chain has been created! \n", "generate_query\n", "🔁 Entering router...\n", "➡️ Next tool: check_query\n", "🔁 Entering router...\n", "➡️ Next tool: sql_agent\n", "There is no SQL query provided. Please provide the SQL query, and I'll be happy to help you review it for common mistakes and suggest corrections if needed.\n", "customers, employees, orders\n", "\n", "customers\n", "\n", "CREATE TABLE customers (\n", "\tcustomer_id INTEGER, \n", "\tfirst_name TEXT NOT NULL, \n", "\tlast_name TEXT NOT NULL, \n", "\temail TEXT NOT NULL, \n", "\tphone TEXT, \n", "\tPRIMARY KEY (customer_id), \n", "\tUNIQUE (email)\n", ")\n", "\n", "/*\n", "3 rows from customers table:\n", "customer_id\tfirst_name\tlast_name\temail\tphone\n", "1\tJohn\tDoe\tjohn.doe@example.com\t1234567890\n", "2\tJane\tSmith\tjane.smith@example.com\t9876543210\n", "3\tEmily\tDavis\temily.davis@example.com\t4567891230\n", "*/\n", "employees\n", "\n", "CREATE TABLE employees (\n", "\temp_id INTEGER, \n", "\tfirst_name TEXT NOT NULL, \n", "\tlast_name TEXT NOT NULL, \n", "\temail TEXT NOT NULL, \n", "\thire_date TEXT NOT NULL, \n", "\tsalary REAL NOT NULL, \n", "\tPRIMARY KEY (emp_id), \n", "\tUNIQUE (email)\n", ")\n", "\n", "/*\n", "3 rows from employees table:\n", "emp_id\tfirst_name\tlast_name\temail\thire_date\tsalary\n", "1\tSunny\tSavita\tsunny.sv@abc.com\t2023-06-01\t50000.0\n", "2\tArhun\tMeheta\tarhun.m@gmail.com\t2022-04-15\t60000.0\n", "3\tAlice\tJohnson\talice.johnson@jpg.com\t2021-09-30\t55000.0\n", "*/\n", "orders\n", "\n", "CREATE TABLE orders (\n", "\torder_id INTEGER, \n", "\tcustomer_id INTEGER NOT NULL, \n", "\torder_date TEXT NOT NULL, \n", "\tamount REAL NOT NULL, \n", "\tPRIMARY KEY (order_id), \n", "\tFOREIGN KEY(customer_id) REFERENCES customers (customer_id)\n", ")\n", "\n", "/*\n", "3 rows from orders table:\n", "order_id\tcustomer_id\torder_date\tamount\n", "1\t1\t2023-12-01\t250.75\n", "2\t2\t2023-11-20\t150.5\n", "3\t3\t2023-11-25\t300.0\n", "*/\n", "None\n", "None\n", "None\n", "None\n", "Creating a sql agent chain \n", "sql agent chain has been created! \n", "generate_query\n", "🔁 Entering router...\n", "➡️ Next tool: check_query\n", "🔁 Entering router...\n", "➡️ Next tool: sql_agent\n", "There is no SQL query provided. Please provide the SQL query, and I'll be happy to help you review it for common mistakes and suggest corrections if needed.\n", "customers, employees, orders\n", "\n", "customers\n", "\n", "CREATE TABLE customers (\n", "\tcustomer_id INTEGER, \n", "\tfirst_name TEXT NOT NULL, \n", "\tlast_name TEXT NOT NULL, \n", "\temail TEXT NOT NULL, \n", "\tphone TEXT, \n", "\tPRIMARY KEY (customer_id), \n", "\tUNIQUE (email)\n", ")\n", "\n", "/*\n", "3 rows from customers table:\n", "customer_id\tfirst_name\tlast_name\temail\tphone\n", "1\tJohn\tDoe\tjohn.doe@example.com\t1234567890\n", "2\tJane\tSmith\tjane.smith@example.com\t9876543210\n", "3\tEmily\tDavis\temily.davis@example.com\t4567891230\n", "*/\n", "employees\n", "\n", "CREATE TABLE employees (\n", "\temp_id INTEGER, \n", "\tfirst_name TEXT NOT NULL, \n", "\tlast_name TEXT NOT NULL, \n", "\temail TEXT NOT NULL, \n", "\thire_date TEXT NOT NULL, \n", "\tsalary REAL NOT NULL, \n", "\tPRIMARY KEY (emp_id), \n", "\tUNIQUE (email)\n", ")\n", "\n", "/*\n", "3 rows from employees table:\n", "emp_id\tfirst_name\tlast_name\temail\thire_date\tsalary\n", "1\tSunny\tSavita\tsunny.sv@abc.com\t2023-06-01\t50000.0\n", "2\tArhun\tMeheta\tarhun.m@gmail.com\t2022-04-15\t60000.0\n", "3\tAlice\tJohnson\talice.johnson@jpg.com\t2021-09-30\t55000.0\n", "*/\n", "orders\n", "\n", "CREATE TABLE orders (\n", "\torder_id INTEGER, \n", "\tcustomer_id INTEGER NOT NULL, \n", "\torder_date TEXT NOT NULL, \n", "\tamount REAL NOT NULL, \n", "\tPRIMARY KEY (order_id), \n", "\tFOREIGN KEY(customer_id) REFERENCES customers (customer_id)\n", ")\n", "\n", "/*\n", "3 rows from orders table:\n", "order_id\tcustomer_id\torder_date\tamount\n", "1\t1\t2023-12-01\t250.75\n", "2\t2\t2023-11-20\t150.5\n", "3\t3\t2023-11-25\t300.0\n", "*/\n", "None\n", "None\n", "None\n", "None\n", "Creating a sql agent chain \n", "sql agent chain has been created! \n", "generate_query\n", "🔁 Entering router...\n", "➡️ Next tool: check_query\n", "🔁 Entering router...\n", "➡️ Next tool: sql_agent\n", "There is no SQL query provided. Please provide the SQL query you want me to review.\n", "customers, employees, orders\n", "\n", "customers\n", "\n", "CREATE TABLE customers (\n", "\tcustomer_id INTEGER, \n", "\tfirst_name TEXT NOT NULL, \n", "\tlast_name TEXT NOT NULL, \n", "\temail TEXT NOT NULL, \n", "\tphone TEXT, \n", "\tPRIMARY KEY (customer_id), \n", "\tUNIQUE (email)\n", ")\n", "\n", "/*\n", "3 rows from customers table:\n", "customer_id\tfirst_name\tlast_name\temail\tphone\n", "1\tJohn\tDoe\tjohn.doe@example.com\t1234567890\n", "2\tJane\tSmith\tjane.smith@example.com\t9876543210\n", "3\tEmily\tDavis\temily.davis@example.com\t4567891230\n", "*/\n", "employees\n", "\n", "CREATE TABLE employees (\n", "\temp_id INTEGER, \n", "\tfirst_name TEXT NOT NULL, \n", "\tlast_name TEXT NOT NULL, \n", "\temail TEXT NOT NULL, \n", "\thire_date TEXT NOT NULL, \n", "\tsalary REAL NOT NULL, \n", "\tPRIMARY KEY (emp_id), \n", "\tUNIQUE (email)\n", ")\n", "\n", "/*\n", "3 rows from employees table:\n", "emp_id\tfirst_name\tlast_name\temail\thire_date\tsalary\n", "1\tSunny\tSavita\tsunny.sv@abc.com\t2023-06-01\t50000.0\n", "2\tArhun\tMeheta\tarhun.m@gmail.com\t2022-04-15\t60000.0\n", "3\tAlice\tJohnson\talice.johnson@jpg.com\t2021-09-30\t55000.0\n", "*/\n", "orders\n", "\n", "CREATE TABLE orders (\n", "\torder_id INTEGER, \n", "\tcustomer_id INTEGER NOT NULL, \n", "\torder_date TEXT NOT NULL, \n", "\tamount REAL NOT NULL, \n", "\tPRIMARY KEY (order_id), \n", "\tFOREIGN KEY(customer_id) REFERENCES customers (customer_id)\n", ")\n", "\n", "/*\n", "3 rows from orders table:\n", "order_id\tcustomer_id\torder_date\tamount\n", "1\t1\t2023-12-01\t250.75\n", "2\t2\t2023-11-20\t150.5\n", "3\t3\t2023-11-25\t300.0\n", "*/\n", "None\n", "None\n", "None\n", "None\n", "Creating a sql agent chain \n", "sql agent chain has been created! \n", "generate_query\n", "🔁 Entering router...\n", "➡️ Next tool: check_query\n", "🔁 Entering router...\n", "➡️ Next tool: sql_agent\n", "Since there is no SQL query provided, I will output nothing. Please provide the SQL query, and I'll be happy to help you review it for common mistakes and provide a rewritten query if necessary.\n", "customers, employees, orders\n", "\n", "customers\n", "\n", "CREATE TABLE customers (\n", "\tcustomer_id INTEGER, \n", "\tfirst_name TEXT NOT NULL, \n", "\tlast_name TEXT NOT NULL, \n", "\temail TEXT NOT NULL, \n", "\tphone TEXT, \n", "\tPRIMARY KEY (customer_id), \n", "\tUNIQUE (email)\n", ")\n", "\n", "/*\n", "3 rows from customers table:\n", "customer_id\tfirst_name\tlast_name\temail\tphone\n", "1\tJohn\tDoe\tjohn.doe@example.com\t1234567890\n", "2\tJane\tSmith\tjane.smith@example.com\t9876543210\n", "3\tEmily\tDavis\temily.davis@example.com\t4567891230\n", "*/\n", "employees\n", "\n", "CREATE TABLE employees (\n", "\temp_id INTEGER, \n", "\tfirst_name TEXT NOT NULL, \n", "\tlast_name TEXT NOT NULL, \n", "\temail TEXT NOT NULL, \n", "\thire_date TEXT NOT NULL, \n", "\tsalary REAL NOT NULL, \n", "\tPRIMARY KEY (emp_id), \n", "\tUNIQUE (email)\n", ")\n", "\n", "/*\n", "3 rows from employees table:\n", "emp_id\tfirst_name\tlast_name\temail\thire_date\tsalary\n", "1\tSunny\tSavita\tsunny.sv@abc.com\t2023-06-01\t50000.0\n", "2\tArhun\tMeheta\tarhun.m@gmail.com\t2022-04-15\t60000.0\n", "3\tAlice\tJohnson\talice.johnson@jpg.com\t2021-09-30\t55000.0\n", "*/\n", "orders\n", "\n", "CREATE TABLE orders (\n", "\torder_id INTEGER, \n", "\tcustomer_id INTEGER NOT NULL, \n", "\torder_date TEXT NOT NULL, \n", "\tamount REAL NOT NULL, \n", "\tPRIMARY KEY (order_id), \n", "\tFOREIGN KEY(customer_id) REFERENCES customers (customer_id)\n", ")\n", "\n", "/*\n", "3 rows from orders table:\n", "order_id\tcustomer_id\torder_date\tamount\n", "1\t1\t2023-12-01\t250.75\n", "2\t2\t2023-11-20\t150.5\n", "3\t3\t2023-11-25\t300.0\n", "*/\n", "None\n", "None\n", "None\n", "None\n", "Creating a sql agent chain \n", "sql agent chain has been created! \n", "generate_query\n", "🔁 Entering router...\n", "➡️ Next tool: check_query\n" ] }, { "ename": "GraphRecursionError", "evalue": "Recursion limit of 25 reached without hitting a stop condition. You can increase the limit by setting the `recursion_limit` config key.\nFor troubleshooting, visit: https://python.langchain.com/docs/troubleshooting/errors/GRAPH_RECURSION_LIMIT", "output_type": "error", "traceback": [ "\u001b[31m---------------------------------------------------------------------------\u001b[39m", "\u001b[31mGraphRecursionError\u001b[39m Traceback (most recent call last)", "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[105]\u001b[39m\u001b[32m, line 1\u001b[39m\n\u001b[32m----> \u001b[39m\u001b[32m1\u001b[39m response = \u001b[43mgraph\u001b[49m\u001b[43m.\u001b[49m\u001b[43minvoke\u001b[49m\u001b[43m(\u001b[49m\u001b[43m{\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mmessages\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43m[\u001b[49m\u001b[43mHumanMessage\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcontent\u001b[49m\u001b[43m=\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mGive me the 2 employees from employees table\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m]\u001b[49m\u001b[43m}\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 2\u001b[39m \u001b[38;5;28mprint\u001b[39m(response)\n", "\u001b[36mFile \u001b[39m\u001b[32mc:\\code\\AiAgents\\Talk2SQL\\backend\\.venv\\Lib\\site-packages\\langgraph\\pregel\\__init__.py:2844\u001b[39m, in \u001b[36mPregel.invoke\u001b[39m\u001b[34m(self, input, config, stream_mode, print_mode, output_keys, interrupt_before, interrupt_after, **kwargs)\u001b[39m\n\u001b[32m 2841\u001b[39m chunks: \u001b[38;5;28mlist\u001b[39m[\u001b[38;5;28mdict\u001b[39m[\u001b[38;5;28mstr\u001b[39m, Any] | Any] = []\n\u001b[32m 2842\u001b[39m interrupts: \u001b[38;5;28mlist\u001b[39m[Interrupt] = []\n\u001b[32m-> \u001b[39m\u001b[32m2844\u001b[39m \u001b[43m\u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mchunk\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43mstream\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 2845\u001b[39m \u001b[43m \u001b[49m\u001b[38;5;28;43minput\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[32m 2846\u001b[39m \u001b[43m \u001b[49m\u001b[43mconfig\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 2847\u001b[39m \u001b[43m \u001b[49m\u001b[43mstream_mode\u001b[49m\u001b[43m=\u001b[49m\u001b[43m[\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mupdates\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mvalues\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\n\u001b[32m 2848\u001b[39m \u001b[43m \u001b[49m\u001b[38;5;28;43;01mif\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mstream_mode\u001b[49m\u001b[43m \u001b[49m\u001b[43m==\u001b[49m\u001b[43m \u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mvalues\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\n\u001b[32m 2849\u001b[39m \u001b[43m \u001b[49m\u001b[38;5;28;43;01melse\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mstream_mode\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 2850\u001b[39m \u001b[43m \u001b[49m\u001b[43mprint_mode\u001b[49m\u001b[43m=\u001b[49m\u001b[43mprint_mode\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 2851\u001b[39m \u001b[43m \u001b[49m\u001b[43moutput_keys\u001b[49m\u001b[43m=\u001b[49m\u001b[43moutput_keys\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 2852\u001b[39m \u001b[43m \u001b[49m\u001b[43minterrupt_before\u001b[49m\u001b[43m=\u001b[49m\u001b[43minterrupt_before\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 2853\u001b[39m \u001b[43m \u001b[49m\u001b[43minterrupt_after\u001b[49m\u001b[43m=\u001b[49m\u001b[43minterrupt_after\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 2854\u001b[39m \u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 2855\u001b[39m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\u001b[43m:\u001b[49m\n\u001b[32m 2856\u001b[39m \u001b[43m \u001b[49m\u001b[38;5;28;43;01mif\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mstream_mode\u001b[49m\u001b[43m \u001b[49m\u001b[43m==\u001b[49m\u001b[43m \u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mvalues\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\n\u001b[32m 2857\u001b[39m \u001b[43m \u001b[49m\u001b[38;5;28;43;01mif\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[38;5;28;43mlen\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mchunk\u001b[49m\u001b[43m)\u001b[49m\u001b[43m \u001b[49m\u001b[43m==\u001b[49m\u001b[43m \u001b[49m\u001b[32;43m2\u001b[39;49m\u001b[43m:\u001b[49m\n", "\u001b[36mFile \u001b[39m\u001b[32mc:\\code\\AiAgents\\Talk2SQL\\backend\\.venv\\Lib\\site-packages\\langgraph\\pregel\\__init__.py:2559\u001b[39m, in \u001b[36mPregel.stream\u001b[39m\u001b[34m(self, input, config, stream_mode, print_mode, output_keys, interrupt_before, interrupt_after, checkpoint_during, debug, subgraphs)\u001b[39m\n\u001b[32m 2550\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m loop.status == \u001b[33m\"\u001b[39m\u001b[33mout_of_steps\u001b[39m\u001b[33m\"\u001b[39m:\n\u001b[32m 2551\u001b[39m msg = create_error_message(\n\u001b[32m 2552\u001b[39m message=(\n\u001b[32m 2553\u001b[39m \u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[33mRecursion limit of \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mconfig[\u001b[33m'\u001b[39m\u001b[33mrecursion_limit\u001b[39m\u001b[33m'\u001b[39m]\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m reached \u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m (...)\u001b[39m\u001b[32m 2557\u001b[39m error_code=ErrorCode.GRAPH_RECURSION_LIMIT,\n\u001b[32m 2558\u001b[39m )\n\u001b[32m-> \u001b[39m\u001b[32m2559\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m GraphRecursionError(msg)\n\u001b[32m 2560\u001b[39m \u001b[38;5;66;03m# set final channel values as run output\u001b[39;00m\n\u001b[32m 2561\u001b[39m run_manager.on_chain_end(loop.output)\n", "\u001b[31mGraphRecursionError\u001b[39m: Recursion limit of 25 reached without hitting a stop condition. You can increase the limit by setting the `recursion_limit` config key.\nFor troubleshooting, visit: https://python.langchain.com/docs/troubleshooting/errors/GRAPH_RECURSION_LIMIT" ] } ], "source": [ "response = graph.invoke({\"messages\": [HumanMessage(content=\"Give me the 2 employees from employees table\")]})\n", "print(response[])" ] }, { "cell_type": "code", "execution_count": 69, "id": "f29ff641", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "However, I don't see the query and its result. Please provide the following information so I can create a proper response:\n", "\n", "1. **Human Query**: The question or problem that a user is trying to solve.\n", "2. **SQL Query**: The SQL statement that is executed to retrieve the data.\n", "3. **Query Result**: The actual output or data returned by the SQL query.\n", "\n", "Once I have this information, I'll create a concise and relevant response.\n" ] } ], "source": [ "# print(response['messages'][-1].content)\n", "print(response['messages'][-1].content)" ] }, { "cell_type": "code", "execution_count": 63, "id": "d7f77084", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[]\n" ] }, { "ename": "KeyError", "evalue": "\"Input to ChatPromptTemplate is missing variables {'check_query'}. Expected: ['check_query', 'execute_query', 'query_gen', 'response_to_user', 'schema_of_table', 'tables_list', 'task'] Received: ['task', 'tables_list', 'schema_of_table', 'query_gen', 'check_query ', 'execute_query', 'response_to_user']\\nNote: if you intended {check_query} to be part of the string and not a variable, please escape it with double curly braces like: '{{check_query}}'.\\nFor troubleshooting, visit: https://python.langchain.com/docs/troubleshooting/errors/INVALID_PROMPT_INPUT \"", "output_type": "error", "traceback": [ "\u001b[31m---------------------------------------------------------------------------\u001b[39m", "\u001b[31mKeyError\u001b[39m Traceback (most recent call last)", "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[63]\u001b[39m\u001b[32m, line 1\u001b[39m\n\u001b[32m----> \u001b[39m\u001b[32m1\u001b[39m response=\u001b[43mgraph\u001b[49m\u001b[43m.\u001b[49m\u001b[43minvoke\u001b[49m\u001b[43m(\u001b[49m\u001b[43mHumanMessage\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcontent\u001b[49m\u001b[43m=\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mGive me the 2 employees from employees table\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\n", "\u001b[36mFile \u001b[39m\u001b[32mc:\\code\\AiAgents\\Talk2SQL\\backend\\.venv\\Lib\\site-packages\\langgraph\\pregel\\__init__.py:2844\u001b[39m, in \u001b[36mPregel.invoke\u001b[39m\u001b[34m(self, input, config, stream_mode, print_mode, output_keys, interrupt_before, interrupt_after, **kwargs)\u001b[39m\n\u001b[32m 2841\u001b[39m chunks: \u001b[38;5;28mlist\u001b[39m[\u001b[38;5;28mdict\u001b[39m[\u001b[38;5;28mstr\u001b[39m, Any] | Any] = []\n\u001b[32m 2842\u001b[39m interrupts: \u001b[38;5;28mlist\u001b[39m[Interrupt] = []\n\u001b[32m-> \u001b[39m\u001b[32m2844\u001b[39m \u001b[43m\u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mchunk\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43mstream\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 2845\u001b[39m \u001b[43m \u001b[49m\u001b[38;5;28;43minput\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[32m 2846\u001b[39m \u001b[43m \u001b[49m\u001b[43mconfig\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 2847\u001b[39m \u001b[43m \u001b[49m\u001b[43mstream_mode\u001b[49m\u001b[43m=\u001b[49m\u001b[43m[\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mupdates\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mvalues\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\n\u001b[32m 2848\u001b[39m \u001b[43m \u001b[49m\u001b[38;5;28;43;01mif\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mstream_mode\u001b[49m\u001b[43m \u001b[49m\u001b[43m==\u001b[49m\u001b[43m \u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mvalues\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\n\u001b[32m 2849\u001b[39m \u001b[43m \u001b[49m\u001b[38;5;28;43;01melse\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mstream_mode\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 2850\u001b[39m \u001b[43m \u001b[49m\u001b[43mprint_mode\u001b[49m\u001b[43m=\u001b[49m\u001b[43mprint_mode\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 2851\u001b[39m \u001b[43m \u001b[49m\u001b[43moutput_keys\u001b[49m\u001b[43m=\u001b[49m\u001b[43moutput_keys\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 2852\u001b[39m \u001b[43m \u001b[49m\u001b[43minterrupt_before\u001b[49m\u001b[43m=\u001b[49m\u001b[43minterrupt_before\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 2853\u001b[39m \u001b[43m \u001b[49m\u001b[43minterrupt_after\u001b[49m\u001b[43m=\u001b[49m\u001b[43minterrupt_after\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 2854\u001b[39m \u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 2855\u001b[39m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\u001b[43m:\u001b[49m\n\u001b[32m 2856\u001b[39m \u001b[43m \u001b[49m\u001b[38;5;28;43;01mif\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mstream_mode\u001b[49m\u001b[43m \u001b[49m\u001b[43m==\u001b[49m\u001b[43m \u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mvalues\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\n\u001b[32m 2857\u001b[39m \u001b[43m \u001b[49m\u001b[38;5;28;43;01mif\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[38;5;28;43mlen\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mchunk\u001b[49m\u001b[43m)\u001b[49m\u001b[43m \u001b[49m\u001b[43m==\u001b[49m\u001b[43m \u001b[49m\u001b[32;43m2\u001b[39;49m\u001b[43m:\u001b[49m\n", "\u001b[36mFile \u001b[39m\u001b[32mc:\\code\\AiAgents\\Talk2SQL\\backend\\.venv\\Lib\\site-packages\\langgraph\\pregel\\__init__.py:2534\u001b[39m, in \u001b[36mPregel.stream\u001b[39m\u001b[34m(self, input, config, stream_mode, print_mode, output_keys, interrupt_before, interrupt_after, checkpoint_during, debug, subgraphs)\u001b[39m\n\u001b[32m 2532\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m task \u001b[38;5;129;01min\u001b[39;00m loop.match_cached_writes():\n\u001b[32m 2533\u001b[39m loop.output_writes(task.id, task.writes, cached=\u001b[38;5;28;01mTrue\u001b[39;00m)\n\u001b[32m-> \u001b[39m\u001b[32m2534\u001b[39m \u001b[43m\u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43m_\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mrunner\u001b[49m\u001b[43m.\u001b[49m\u001b[43mtick\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 2535\u001b[39m \u001b[43m \u001b[49m\u001b[43m[\u001b[49m\u001b[43mt\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mt\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mloop\u001b[49m\u001b[43m.\u001b[49m\u001b[43mtasks\u001b[49m\u001b[43m.\u001b[49m\u001b[43mvalues\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mif\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[38;5;129;43;01mnot\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mt\u001b[49m\u001b[43m.\u001b[49m\u001b[43mwrites\u001b[49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 2536\u001b[39m \u001b[43m \u001b[49m\u001b[43mtimeout\u001b[49m\u001b[43m=\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43mstep_timeout\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 2537\u001b[39m \u001b[43m \u001b[49m\u001b[43mget_waiter\u001b[49m\u001b[43m=\u001b[49m\u001b[43mget_waiter\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 2538\u001b[39m \u001b[43m \u001b[49m\u001b[43mschedule_task\u001b[49m\u001b[43m=\u001b[49m\u001b[43mloop\u001b[49m\u001b[43m.\u001b[49m\u001b[43maccept_push\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 2539\u001b[39m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\u001b[43m:\u001b[49m\n\u001b[32m 2540\u001b[39m \u001b[43m \u001b[49m\u001b[38;5;66;43;03m# emit output\u001b[39;49;00m\n\u001b[32m 2541\u001b[39m \u001b[43m \u001b[49m\u001b[38;5;28;43;01myield from\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43m_output\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 2542\u001b[39m \u001b[43m \u001b[49m\u001b[43mstream_mode\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mprint_mode\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msubgraphs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mstream\u001b[49m\u001b[43m.\u001b[49m\u001b[43mget\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mqueue\u001b[49m\u001b[43m.\u001b[49m\u001b[43mEmpty\u001b[49m\n\u001b[32m 2543\u001b[39m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 2544\u001b[39m loop.after_tick()\n", "\u001b[36mFile \u001b[39m\u001b[32mc:\\code\\AiAgents\\Talk2SQL\\backend\\.venv\\Lib\\site-packages\\langgraph\\pregel\\runner.py:162\u001b[39m, in \u001b[36mPregelRunner.tick\u001b[39m\u001b[34m(self, tasks, reraise, timeout, retry_policy, get_waiter, schedule_task)\u001b[39m\n\u001b[32m 160\u001b[39m t = tasks[\u001b[32m0\u001b[39m]\n\u001b[32m 161\u001b[39m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[32m--> \u001b[39m\u001b[32m162\u001b[39m \u001b[43mrun_with_retry\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 163\u001b[39m \u001b[43m \u001b[49m\u001b[43mt\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 164\u001b[39m \u001b[43m \u001b[49m\u001b[43mretry_policy\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 165\u001b[39m \u001b[43m \u001b[49m\u001b[43mconfigurable\u001b[49m\u001b[43m=\u001b[49m\u001b[43m{\u001b[49m\n\u001b[32m 166\u001b[39m \u001b[43m \u001b[49m\u001b[43mCONFIG_KEY_CALL\u001b[49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mpartial\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 167\u001b[39m \u001b[43m \u001b[49m\u001b[43m_call\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 168\u001b[39m \u001b[43m \u001b[49m\u001b[43mweakref\u001b[49m\u001b[43m.\u001b[49m\u001b[43mref\u001b[49m\u001b[43m(\u001b[49m\u001b[43mt\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 169\u001b[39m \u001b[43m \u001b[49m\u001b[43mretry_policy\u001b[49m\u001b[43m=\u001b[49m\u001b[43mretry_policy\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 170\u001b[39m \u001b[43m \u001b[49m\u001b[43mfutures\u001b[49m\u001b[43m=\u001b[49m\u001b[43mweakref\u001b[49m\u001b[43m.\u001b[49m\u001b[43mref\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfutures\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 171\u001b[39m \u001b[43m \u001b[49m\u001b[43mschedule_task\u001b[49m\u001b[43m=\u001b[49m\u001b[43mschedule_task\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 172\u001b[39m \u001b[43m \u001b[49m\u001b[43msubmit\u001b[49m\u001b[43m=\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43msubmit\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 173\u001b[39m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 174\u001b[39m \u001b[43m \u001b[49m\u001b[43m}\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 175\u001b[39m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 176\u001b[39m \u001b[38;5;28mself\u001b[39m.commit(t, \u001b[38;5;28;01mNone\u001b[39;00m)\n\u001b[32m 177\u001b[39m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mException\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m exc:\n", "\u001b[36mFile \u001b[39m\u001b[32mc:\\code\\AiAgents\\Talk2SQL\\backend\\.venv\\Lib\\site-packages\\langgraph\\pregel\\retry.py:42\u001b[39m, in \u001b[36mrun_with_retry\u001b[39m\u001b[34m(task, retry_policy, configurable)\u001b[39m\n\u001b[32m 40\u001b[39m task.writes.clear()\n\u001b[32m 41\u001b[39m \u001b[38;5;66;03m# run the task\u001b[39;00m\n\u001b[32m---> \u001b[39m\u001b[32m42\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mtask\u001b[49m\u001b[43m.\u001b[49m\u001b[43mproc\u001b[49m\u001b[43m.\u001b[49m\u001b[43minvoke\u001b[49m\u001b[43m(\u001b[49m\u001b[43mtask\u001b[49m\u001b[43m.\u001b[49m\u001b[43minput\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mconfig\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 43\u001b[39m \u001b[38;5;28;01mexcept\u001b[39;00m ParentCommand \u001b[38;5;28;01mas\u001b[39;00m exc:\n\u001b[32m 44\u001b[39m ns: \u001b[38;5;28mstr\u001b[39m = config[CONF][CONFIG_KEY_CHECKPOINT_NS]\n", "\u001b[36mFile \u001b[39m\u001b[32mc:\\code\\AiAgents\\Talk2SQL\\backend\\.venv\\Lib\\site-packages\\langgraph\\utils\\runnable.py:623\u001b[39m, in \u001b[36mRunnableSeq.invoke\u001b[39m\u001b[34m(self, input, config, **kwargs)\u001b[39m\n\u001b[32m 621\u001b[39m \u001b[38;5;66;03m# run in context\u001b[39;00m\n\u001b[32m 622\u001b[39m \u001b[38;5;28;01mwith\u001b[39;00m set_config_context(config, run) \u001b[38;5;28;01mas\u001b[39;00m context:\n\u001b[32m--> \u001b[39m\u001b[32m623\u001b[39m \u001b[38;5;28minput\u001b[39m = \u001b[43mcontext\u001b[49m\u001b[43m.\u001b[49m\u001b[43mrun\u001b[49m\u001b[43m(\u001b[49m\u001b[43mstep\u001b[49m\u001b[43m.\u001b[49m\u001b[43minvoke\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43minput\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mconfig\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 624\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[32m 625\u001b[39m \u001b[38;5;28minput\u001b[39m = step.invoke(\u001b[38;5;28minput\u001b[39m, config)\n", "\u001b[36mFile \u001b[39m\u001b[32mc:\\code\\AiAgents\\Talk2SQL\\backend\\.venv\\Lib\\site-packages\\langgraph\\utils\\runnable.py:377\u001b[39m, in \u001b[36mRunnableCallable.invoke\u001b[39m\u001b[34m(self, input, config, **kwargs)\u001b[39m\n\u001b[32m 375\u001b[39m run_manager.on_chain_end(ret)\n\u001b[32m 376\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[32m--> \u001b[39m\u001b[32m377\u001b[39m ret = \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[43m*\u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 378\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m.recurse \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(ret, Runnable):\n\u001b[32m 379\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m ret.invoke(\u001b[38;5;28minput\u001b[39m, config)\n", "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[62]\u001b[39m\u001b[32m, line 69\u001b[39m, in \u001b[36msql_agent\u001b[39m\u001b[34m(state)\u001b[39m\n\u001b[32m 65\u001b[39m response_to_user = \u001b[38;5;28mbool\u001b[39m(state.get(\u001b[33m\"\u001b[39m\u001b[33mresponse_to_user\u001b[39m\u001b[33m\"\u001b[39m, \u001b[33m\"\u001b[39m\u001b[33m\"\u001b[39m))\n\u001b[32m 68\u001b[39m chain = creating_sql_agent_chain()\n\u001b[32m---> \u001b[39m\u001b[32m69\u001b[39m decision = \u001b[43mchain\u001b[49m\u001b[43m.\u001b[49m\u001b[43minvoke\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 70\u001b[39m \u001b[43m \u001b[49m\u001b[43m{\u001b[49m\n\u001b[32m 71\u001b[39m \u001b[43m \u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mtask\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mtask\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 72\u001b[39m \u001b[43m \u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mtables_list\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mtables_list\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\n\u001b[32m 73\u001b[39m \u001b[43m \u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mschema_of_table\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43mschema_of_table\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 74\u001b[39m \u001b[43m \u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mquery_gen\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mquery_gen\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 75\u001b[39m \u001b[43m \u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mcheck_query \u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mcheck_query\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 76\u001b[39m \u001b[43m \u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mexecute_query\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43mexecute_query\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 77\u001b[39m \u001b[43m \u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mresponse_to_user\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mresponse_to_user\u001b[49m\n\u001b[32m 78\u001b[39m \u001b[43m \u001b[49m\u001b[43m}\u001b[49m\n\u001b[32m 79\u001b[39m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 81\u001b[39m decision_text = decision.content.strip().lower()\n\u001b[32m 82\u001b[39m \u001b[38;5;28mprint\u001b[39m(decision_text)\n", "\u001b[36mFile \u001b[39m\u001b[32mc:\\code\\AiAgents\\Talk2SQL\\backend\\.venv\\Lib\\site-packages\\langchain_core\\runnables\\base.py:3045\u001b[39m, in \u001b[36mRunnableSequence.invoke\u001b[39m\u001b[34m(self, input, config, **kwargs)\u001b[39m\n\u001b[32m 3043\u001b[39m \u001b[38;5;28;01mwith\u001b[39;00m set_config_context(config) \u001b[38;5;28;01mas\u001b[39;00m context:\n\u001b[32m 3044\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m i == \u001b[32m0\u001b[39m:\n\u001b[32m-> \u001b[39m\u001b[32m3045\u001b[39m input_ = \u001b[43mcontext\u001b[49m\u001b[43m.\u001b[49m\u001b[43mrun\u001b[49m\u001b[43m(\u001b[49m\u001b[43mstep\u001b[49m\u001b[43m.\u001b[49m\u001b[43minvoke\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43minput_\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mconfig\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 3046\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[32m 3047\u001b[39m input_ = context.run(step.invoke, input_, config)\n", "\u001b[36mFile \u001b[39m\u001b[32mc:\\code\\AiAgents\\Talk2SQL\\backend\\.venv\\Lib\\site-packages\\langchain_core\\prompts\\base.py:216\u001b[39m, in \u001b[36mBasePromptTemplate.invoke\u001b[39m\u001b[34m(self, input, config, **kwargs)\u001b[39m\n\u001b[32m 214\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m.tags:\n\u001b[32m 215\u001b[39m config[\u001b[33m\"\u001b[39m\u001b[33mtags\u001b[39m\u001b[33m\"\u001b[39m] = config[\u001b[33m\"\u001b[39m\u001b[33mtags\u001b[39m\u001b[33m\"\u001b[39m] + \u001b[38;5;28mself\u001b[39m.tags\n\u001b[32m--> \u001b[39m\u001b[32m216\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43m_call_with_config\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 217\u001b[39m \u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43m_format_prompt_with_error_handling\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 218\u001b[39m \u001b[43m \u001b[49m\u001b[38;5;28;43minput\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[32m 219\u001b[39m \u001b[43m \u001b[49m\u001b[43mconfig\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 220\u001b[39m \u001b[43m \u001b[49m\u001b[43mrun_type\u001b[49m\u001b[43m=\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mprompt\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[32m 221\u001b[39m \u001b[43m \u001b[49m\u001b[43mserialized\u001b[49m\u001b[43m=\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43m_serialized\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 222\u001b[39m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n", "\u001b[36mFile \u001b[39m\u001b[32mc:\\code\\AiAgents\\Talk2SQL\\backend\\.venv\\Lib\\site-packages\\langchain_core\\runnables\\base.py:1940\u001b[39m, in \u001b[36mRunnable._call_with_config\u001b[39m\u001b[34m(self, func, input_, config, run_type, serialized, **kwargs)\u001b[39m\n\u001b[32m 1936\u001b[39m child_config = patch_config(config, callbacks=run_manager.get_child())\n\u001b[32m 1937\u001b[39m \u001b[38;5;28;01mwith\u001b[39;00m set_config_context(child_config) \u001b[38;5;28;01mas\u001b[39;00m context:\n\u001b[32m 1938\u001b[39m output = cast(\n\u001b[32m 1939\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mOutput\u001b[39m\u001b[33m\"\u001b[39m,\n\u001b[32m-> \u001b[39m\u001b[32m1940\u001b[39m \u001b[43mcontext\u001b[49m\u001b[43m.\u001b[49m\u001b[43mrun\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 1941\u001b[39m \u001b[43m \u001b[49m\u001b[43mcall_func_with_variable_args\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;66;43;03m# type: ignore[arg-type]\u001b[39;49;00m\n\u001b[32m 1942\u001b[39m \u001b[43m \u001b[49m\u001b[43mfunc\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1943\u001b[39m \u001b[43m \u001b[49m\u001b[43minput_\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1944\u001b[39m \u001b[43m \u001b[49m\u001b[43mconfig\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1945\u001b[39m \u001b[43m \u001b[49m\u001b[43mrun_manager\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1946\u001b[39m \u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1947\u001b[39m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m,\n\u001b[32m 1948\u001b[39m )\n\u001b[32m 1949\u001b[39m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mBaseException\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[32m 1950\u001b[39m run_manager.on_chain_error(e)\n", "\u001b[36mFile \u001b[39m\u001b[32mc:\\code\\AiAgents\\Talk2SQL\\backend\\.venv\\Lib\\site-packages\\langchain_core\\runnables\\config.py:428\u001b[39m, in \u001b[36mcall_func_with_variable_args\u001b[39m\u001b[34m(func, input, config, run_manager, **kwargs)\u001b[39m\n\u001b[32m 426\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m run_manager \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m accepts_run_manager(func):\n\u001b[32m 427\u001b[39m kwargs[\u001b[33m\"\u001b[39m\u001b[33mrun_manager\u001b[39m\u001b[33m\"\u001b[39m] = run_manager\n\u001b[32m--> \u001b[39m\u001b[32m428\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43minput\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", "\u001b[36mFile \u001b[39m\u001b[32mc:\\code\\AiAgents\\Talk2SQL\\backend\\.venv\\Lib\\site-packages\\langchain_core\\prompts\\base.py:189\u001b[39m, in \u001b[36mBasePromptTemplate._format_prompt_with_error_handling\u001b[39m\u001b[34m(self, inner_input)\u001b[39m\n\u001b[32m 188\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34m_format_prompt_with_error_handling\u001b[39m(\u001b[38;5;28mself\u001b[39m, inner_input: \u001b[38;5;28mdict\u001b[39m) -> PromptValue:\n\u001b[32m--> \u001b[39m\u001b[32m189\u001b[39m _inner_input = \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43m_validate_input\u001b[49m\u001b[43m(\u001b[49m\u001b[43minner_input\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 190\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m.format_prompt(**_inner_input)\n", "\u001b[36mFile \u001b[39m\u001b[32mc:\\code\\AiAgents\\Talk2SQL\\backend\\.venv\\Lib\\site-packages\\langchain_core\\prompts\\base.py:183\u001b[39m, in \u001b[36mBasePromptTemplate._validate_input\u001b[39m\u001b[34m(self, inner_input)\u001b[39m\n\u001b[32m 177\u001b[39m example_key = missing.pop()\n\u001b[32m 178\u001b[39m msg += (\n\u001b[32m 179\u001b[39m \u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[33mNote: if you intended \u001b[39m\u001b[38;5;130;01m{{\u001b[39;00m\u001b[38;5;132;01m{\u001b[39;00mexample_key\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;130;01m}}\u001b[39;00m\u001b[33m to be part of the string\u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 180\u001b[39m \u001b[33m\"\u001b[39m\u001b[33m and not a variable, please escape it with double curly braces like: \u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 181\u001b[39m \u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[33m'\u001b[39m\u001b[38;5;130;01m{{\u001b[39;00m\u001b[38;5;130;01m{{\u001b[39;00m\u001b[38;5;132;01m{\u001b[39;00mexample_key\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;130;01m}}\u001b[39;00m\u001b[38;5;130;01m}}\u001b[39;00m\u001b[33m'\u001b[39m\u001b[33m.\u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 182\u001b[39m )\n\u001b[32m--> \u001b[39m\u001b[32m183\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mKeyError\u001b[39;00m(\n\u001b[32m 184\u001b[39m create_message(message=msg, error_code=ErrorCode.INVALID_PROMPT_INPUT)\n\u001b[32m 185\u001b[39m )\n\u001b[32m 186\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m inner_input\n", "\u001b[31mKeyError\u001b[39m: \"Input to ChatPromptTemplate is missing variables {'check_query'}. Expected: ['check_query', 'execute_query', 'query_gen', 'response_to_user', 'schema_of_table', 'tables_list', 'task'] Received: ['task', 'tables_list', 'schema_of_table', 'query_gen', 'check_query ', 'execute_query', 'response_to_user']\\nNote: if you intended {check_query} to be part of the string and not a variable, please escape it with double curly braces like: '{{check_query}}'.\\nFor troubleshooting, visit: https://python.langchain.com/docs/troubleshooting/errors/INVALID_PROMPT_INPUT \"", "During task with name 'sql_agent' and id '12839e8d-5eb6-8751-0ea7-5ab686b5b55c'" ] } ], "source": [ "response=graph.invoke(HumanMessage(content=\"Give me the 2 employees from employees table\"))" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "class SubmitFinalAnswer(BaseModel):\n", " \"\"\"Submit the final answer to the user based on the query results.\"\"\"\n", " final_answer: str = Field(..., description=\"The final answer to the user\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "class State(TypedDict):\n", " messages: Annotated[list[AnyMessage], add_messages]" ] }, { "cell_type": "code", "execution_count": null, "id": "29055cac", "metadata": {}, "outputs": [], "source": [ "# Add a node for a model to generate a query based on the question and schema\n", "query_gen_system = \"\"\"You are a SQL expert with a strong attention to detail.\n", "\n", "Given an input question, output a syntactically correct SQLite query to run, then look at the results of the query and return the answer.\n", "\n", "DO NOT call any tool besides SubmitFinalAnswer to submit the final answer.\n", "\n", "When generating the query:\n", "\n", "Output the SQL query that answers the input question without a tool call.\n", "\n", "Unless the user specifies a specific number of examples they wish to obtain, always limit your query to at most 5 results.\n", "You can order the results by a relevant column to return the most interesting examples in the database.\n", "Never query for all the columns from a specific table, only ask for the relevant columns given the question.\n", "\n", "If you get an error while executing a query, rewrite the query and try again.\n", "\n", "If you get an empty result set, you should try to rewrite the query to get a non-empty result set.\n", "NEVER make stuff up if you don't have enough information to answer the query... just say you don't have enough information.\n", "\n", "If you have enough information to answer the input question, simply invoke the appropriate tool to submit the final answer to the user.\n", "\n", "DO NOT make any DML statements (INSERT, UPDATE, DELETE, DROP etc.) to the database. Do not return any sql query except answer.\"\"\"\n", "\n", "\n", "query_gen_prompt = ChatPromptTemplate.from_messages([(\"system\", query_gen_system), (\"placeholder\", \"{messages}\")])\n", "\n", "query_gen = query_gen_prompt | llm.bind_tools([SubmitFinalAnswer])" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'SELECT * FROM Employees LIMIT 5;'" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "query_checker_tool.invoke( \"SELECT + FROM Employes LMIT 5;\")" ] }, { "cell_type": "code", "execution_count": null, "id": "d92985ee", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "70cfff1e", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "backend", "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.13.3" } }, "nbformat": 4, "nbformat_minor": 5 }