data-mind-ultra / README.md
sanjaystarc's picture
Update README.md
0e95629 verified
metadata
title: DataMind Agent
emoji: 🧠
colorFrom: purple
colorTo: green
sdk: streamlit
sdk_version: 1.55.0
app_file: app.py
pinned: false

🧠 DataMind Agent

Multi-LLM AI Data Analyst β€” LangChain + Streamlit

Upload any data file (CSV, Excel, JSON) and chat with your data using natural language. Choose from 7 AI providers with the latest models β€” use whichever API key you already have.


πŸ€– Supported Providers & Models

πŸ”΅ Google Gemini

Series Models
Gemini 3 (Latest) gemini-3.1-pro-preview Β· gemini-3-flash-preview Β· gemini-3.1-flash-lite-preview
Gemini 2.5 gemini-2.5-pro Β· gemini-2.5-flash Β· gemini-2.5-flash-lite
Gemini 2.0 (Legacy) gemini-2.0-flash Β· gemini-2.0-flash-lite
Gemini 1.5 (Legacy) gemini-1.5-pro-002 Β· gemini-1.5-flash-002

πŸ”‘ Get API key


🟒 OpenAI GPT

Series Models
GPT-5 (Latest) gpt-5.4-pro Β· gpt-5.4 Β· gpt-5.3-instant Β· gpt-5-mini Β· gpt-5-nano
o-series Reasoning o3-deep-research Β· o3 Β· o4-mini
GPT-4 (Legacy) gpt-4.1 Β· gpt-4o Β· gpt-4o-mini Β· gpt-4-turbo Β· gpt-4-0613
GPT-3.5 (Legacy) gpt-3.5-turbo-0125

πŸ”‘ Get API key


🟠 Anthropic Claude

Series Models
Claude 4 (Latest) claude-opus-4-6 Β· claude-sonnet-4-6 Β· claude-haiku-4-5-20251001
Claude 3.5 (Legacy) claude-3-5-sonnet-20241022 Β· claude-3-5-haiku-20241022
Claude 3 (Legacy) claude-3-opus-20240229 Β· claude-3-sonnet-20240229 Β· claude-3-haiku-20240307
Claude 2 (Legacy) claude-2.1 Β· claude-2.0

πŸ”‘ Get API key


βšͺ xAI Grok

Series Models
Grok 4 (Latest) grok-4.2 Β· grok-4.1-fast Β· grok-code-fast-1
Grok 2 (Legacy) grok-2-1212 Β· grok-2-mini

πŸ”‘ Get API key


πŸ”΄ Mistral AI

Series Models
Frontier (Latest) mistral-large-2411 Β· mistral-medium-2508 Β· magistral-medium-1.2
Legacy mistral-large-2407 Β· mistral-small-2409 Β· open-mixtral-8x22b Β· open-mixtral-8x7b

πŸ”‘ Get API key


πŸ”΅ Meta Llama (via Together AI)

Series Models
Llama 4 (Latest) llama-4-behemoth Β· llama-4-maverick Β· llama-4-scout
Llama 3 (Legacy) llama-3.3-70b-instruct Β· llama-3.2-90b-vision Β· llama-3.1-405b Β· llama-3.1-70b Β· llama-3.1-8b
Llama 2 (Legacy) llama-2-70b-chat Β· llama-2-13b-chat Β· llama-2-7b-chat

πŸ”‘ Get Together AI key


🟣 Alibaba Qwen (via Together AI)

Series Models
Qwen 3 (Latest) qwen-3.5-plus Β· qwen-3.5-flash Β· qwen-3-max-thinking Β· qwen3-coder-480b
Qwen 2 (Legacy) qwen2.5-72b-instruct Β· qwen2.5-coder-32b Β· qwen2-72b-instruct
Qwen 1.5 (Legacy) qwen1.5-110b Β· qwen1.5-72b-chat

πŸ”‘ Get Together AI key


πŸš€ Features

Feature Description
πŸ€– 7 AI Providers Gemini Β· GPT Β· Claude Β· Grok Β· Mistral Β· Llama Β· Qwen
πŸ“‚ Multi-format CSV, Excel (.xlsx/.xls), JSON
πŸ’¬ Natural language Q&A Ask anything about your data in plain English
πŸ“Š Auto visualizations AI picks the best chart for your question
🎨 Custom chart builder Full control over chart type and axes
πŸ” Data explorer Filter, search, and download your data
🧠 AI summary Executive summary generated by your chosen LLM

🎯 How to Use

  1. Choose a provider from the sidebar dropdown
  2. Select a model from the list
  3. Paste your API key β†’ click Connect
  4. Upload your data file (CSV, Excel, or JSON)
  5. Explore the Dashboard, Chat, Charts, and Raw Data tabs

For Meta Llama and Alibaba Qwen, use a Together AI key instead of a direct provider key.


βš™οΈ Local Setup

# Install dependencies
pip install -r requirements.txt

# Run the app
streamlit run app.py

App opens at http://localhost:8501


πŸ—οΈ Project Structure

datamind-agent/
β”œβ”€β”€ app.py              # Streamlit UI
β”œβ”€β”€ core_agent.py       # Multi-LLM logic + visualizations
β”œβ”€β”€ requirements.txt    # Dependencies
β”œβ”€β”€ sample_data.csv     # Test dataset
└── README.md           # This file

πŸ—οΈ Architecture

User (Streamlit UI)
       β”‚
       β–Ό
  app.py (UI Layer)
       β”‚
       └── core_agent.py
               β”œβ”€β”€ PROVIDERS{}           β†’ 7 providers, all models, colors
               β”œβ”€β”€ get_llm()             β†’ LangChain wrapper for any provider
               β”œβ”€β”€ validate_llm()        β†’ Connection ping test
               β”œβ”€β”€ load_file()           β†’ CSV / Excel / JSON β†’ DataFrame
               β”œβ”€β”€ profile_dataframe()   β†’ Statistical profiling
               β”œβ”€β”€ ask_agent()           β†’ LLM β†’ Answer
               β”œβ”€β”€ make_plotly_chart()   β†’ Interactive visualizations
               └── ai_recommend_chart()  β†’ LLM picks best chart type

LangChain integrations:
  langchain-google-genai  β†’  Gemini
  langchain-openai        β†’  GPT Β· Grok Β· Llama Β· Qwen (OpenAI-compatible)
  langchain-anthropic     β†’  Claude
  langchain-mistralai     β†’  Mistral

Built with ❀️ using LangChain · Gemini · GPT · Claude · Grok · Mistral · Llama · Qwen · Streamlit