import json import os import sqlite3 from dataclasses import asdict, dataclass from datetime import datetime, timezone from pathlib import Path from textwrap import dedent from typing import Any, Dict, List, Tuple, Union import pandas as pd from crewai import Agent, Crew, Process, Task from crewai_tools import tool from langchain.schema import AgentFinish from langchain.schema.output import LLMResult from langchain_community.tools.sql_database.tool import ( InfoSQLDatabaseTool, ListSQLDatabaseTool, QuerySQLCheckerTool, QuerySQLDataBaseTool, ) from langchain_community.utilities.sql_database import SQLDatabase from langchain_core.callbacks.base import BaseCallbackHandler from langchain_core.prompts import ChatPromptTemplate from langchain_groq import ChatGroq