Vish-AI / README.md
Vishwas896's picture
Update README.md
056bb60 verified
|
Raw
History Blame Contribute Delete
7.29 kB

A newer version of the Gradio SDK is available: 6.24.0

Upgrade
metadata
title: Vish AI
sdk: gradio
emoji: πŸ”₯
colorFrom: green
colorTo: blue
pinned: false

🌟 Vish AI - Virtual Intelligent System Hub

Hugging Face Space License: MIT Model: Phi-3

Powerful AI assistant powered by Microsoft Phi-3 Mini (3.8B parameters) - Optimized for Hugging Face Spaces

πŸš€ Features

Core Capabilities

  • πŸ’¬ Chat Assistant: Intelligent conversation with 4K context window (Phi-3)
  • πŸ“ Text Summarization: Advanced text condensing with AI understanding (Phi-3)
  • 😊 Sentiment Analysis: Accurate emotion detection (Phi-3)
  • πŸ” Supabase Authentication: Optional secure user management
  • πŸ“Š Usage Logging: Track interactions in Supabase database

Performance Specs

  • Model: Microsoft Phi-3 Mini 4K Instruct (3.8B parameters)
  • Model Size: ~7.4GB (unified model for all tasks)
  • Response Time: 2-5 seconds on CPU (faster on GPU)
  • Memory Usage: ~8GB RAM recommended
  • CPU Optimized: Works on free tier, better on GPU

🎯 Use Cases

  1. Advanced Chatbot: High-quality conversational AI
  2. Content Analysis: Professional-grade summarization and sentiment detection
  3. Educational Tool: Intelligent learning assistant
  4. Research Assistant: Context-aware information processing
  5. VIJ Project Integration: Powerful AI backend

πŸ“¦ Quick Deploy to Hugging Face Spaces

Method 1: Direct Upload

  1. Create a new Space on Hugging Face

  2. Upload these files:

    • app.py (main application)
    • requirements.txt (dependencies)
    • README.md (this file)
  3. Wait for build (15-20 minutes on first run):

    • Installing dependencies (~3 minutes)

    • Downloading Phi-3 model (~10-15 minutes, 7GB)

    • Building app (~2 minutes)

    • Add these secrets:

      NEXT_PUBLIC_SUPABASE_URL=https://lyebtceryednzafhyunq.supabase.co
      NEXT_PUBLIC_SUPABASE_ANON_KEY=your_anon_key_here
      
  4. Deploy: The space will automatically build and deploy!

Local Development

# Clone the repository
git clone https://github.com/vishwas896/Vish_AI.git
cd Vish_AI

# Install dependencies
pip install -r requirements.txt

# Set up environment variables
cp .env.example .env
# Edit .env with your Supabase credentials

# Run the application
python app.py

πŸ—„οΈ Supabase Setup

Create Logs Table

Run this SQL in your Supabase SQL Editor:

-- Create table for logging Vish AI interactions
CREATE TABLE IF NOT EXISTS vish_ai_logs (
    id BIGSERIAL PRIMARY KEY,
    user_email TEXT,
    prompt TEXT,
    response TEXT,
    model_type TEXT,
    timestamp TIMESTAMPTZ DEFAULT NOW()
);

-- Create index for faster queries
CREATE INDEX idx_vish_ai_logs_user ON vish_ai_logs(user_email);
CREATE INDEX idx_vish_ai_logs_timestamp ON vish_ai_logs(timestamp DESC);

-- Enable Row Level Security (RLS)
ALTER TABLE vish_ai_logs ENABLE ROW LEVEL SECURITY;

-- Policy: Users can view their own logs
CREATE POLICY "Users can view own logs"
    ON vish_ai_logs FOR SELECT
    USING (auth.jwt() ->> 'email' = user_email);

-- Policy: Service role can insert logs
CREATE POLICY "Service role can insert logs"
    ON vish_ai_logs FOR INSERT
    WITH CHECK (true);

πŸ”§ Configuration

Model Selection

The AI uses these lightweight models:

Model Size Speed Purpose
DistilGPT2 82MB ~0.5-2s Chat conversations
DistilBART-CNN-6-6 300MB ~1-3s Text summarization
DistilBERT-SST2 255MB ~0.3-1s Sentiment analysis

Why These Models?

βœ… Optimized for CPU - No GPU required
βœ… Fast inference - Sub-3 second responses
βœ… Low memory - Runs on 2GB RAM
βœ… Good accuracy - Distilled from larger models
βœ… Free tier friendly - Fits Hugging Face limits

🌐 VIJ Project Integration

Connect from v0.dev/Next.js

// In your VIJ project (Next.js/React)
const callVishAI = async (message: string, userToken: string) => {
  const response = await fetch('https://vishwas896-vish-ai.hf.space/api/predict', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      data: [message, [], userToken]
    })
  });
  
  const result = await response.json();
  return result.data[0];
};

// Usage with Supabase auth
const { data: { session } } = await supabase.auth.getSession();
const aiResponse = await callVishAI(
  "Hello Vish AI!",
  session?.access_token || ""
);

API Endpoints

Once deployed, your space will have these endpoints:

  • Chat: POST /api/predict (function_index: 0)
  • Summarize: POST /api/predict (function_index: 1)
  • Sentiment: POST /api/predict (function_index: 2)

πŸ“Š Performance Benchmarks

Tested on Hugging Face CPU basic (free tier):

Task Avg Response Time Memory Usage
Chat (50 words) 1.2s ~800MB
Summarization (500 words) 2.4s ~1.2GB
Sentiment Analysis 0.6s ~600MB

πŸ”’ Security

  • Environment Variables: Sensitive keys stored in HF Secrets
  • Supabase RLS: Row-level security on logs table
  • JWT Validation: Optional user authentication
  • Anonymous Mode: Works without authentication

🚦 Usage Limits (Free Tier)

  • CPU Time: Reasonable for personal projects
  • Memory: 2GB RAM limit (well within our ~1.5GB usage)
  • Storage: 50GB (models cache ~2GB)
  • Sleeps after 48h inactivity: First request wakes it up

πŸ› οΈ Troubleshooting

Models Loading Slowly

  • Normal on first run (downloads ~650MB)
  • Cached after first load
  • Takes 30-60 seconds initially

Out of Memory Error

  • Reduce max_length in text generation
  • Use smaller batch sizes
  • Consider upgrading to CPU upgrade tier ($0)

Supabase Connection Issues

  • Verify environment variables are set
  • Check Supabase project is active
  • Ensure RLS policies are correct

πŸ“ˆ Roadmap

  • Add image analysis (CLIP model)
  • Voice input/output
  • Multi-language support
  • Custom model fine-tuning
  • Advanced analytics dashboard
  • WebSocket for real-time chat

🀝 Contributing

Contributions welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Submit a pull request

πŸ“ License

MIT License - feel free to use in your projects!

πŸ™ Acknowledgments

  • Hugging Face: For free hosting and amazing models
  • Supabase: For backend infrastructure
  • v0.dev: For VIJ project development
  • Gradio: For beautiful UI framework

πŸ“§ Contact

Vishwas


Built with ❀️ for the VIJ Project