Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/bniladridas/dragon-ai-assistant

A powerful AI chat interface powered by Google's Gemini 1.5 Flash model
https://github.com/bniladridas/dragon-ai-assistant

ai-knowledge-algorithms api-integration scalability-reliability software-engineering user-experience

Last synced: 18 days ago
JSON representation

A powerful AI chat interface powered by Google's Gemini 1.5 Flash model

Awesome Lists containing this project

README

        

# 🐉 Dragon AI

![Preview 1](/img/Preview.png)

[![Play Demo](https://img.shields.io/badge/▶️_Play_Demo-000?style=for-the-badge)](https://dragon-ai-assistant.vercel.app)
[![Documentation](https://img.shields.io/badge/📚_Docs-000?style=for-the-badge)](https://dragon-ai.vercel.app/docs)
[![GitHub](https://img.shields.io/badge/👩‍💻_GitHub-000?style=for-the-badge)](https://github.com/bniladridas/dragon-ai)
[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fvercel%2Fexamples%2Ftree%2Fmain%2Fpython%2Fflask3&demo-title=Flask%203%20%2B%20Vercel&demo-description=Use%20Flask%203%20on%20Vercel%20with%20Serverless%20Functions%20using%20the%20Python%20Runtime.&demo-url=https%3A%2F%2Fflask3-python-template.vercel.app%2F&demo-image=https://assets.vercel.com/image/upload/v1669994156/random/flask.png)

![Version](https://img.shields.io/badge/version-2.0.0-blue.svg)
![License](https://img.shields.io/badge/license-MIT-blue.svg)
![Python](https://img.shields.io/badge/python-3.8%2B-blue)
![Flask](https://img.shields.io/badge/flask-3.0%2B-green)
![Gemini](https://img.shields.io/badge/gemini-1.5--flash-orange)
![Vercel](https://img.shields.io/badge/vercel-latest-black)
[![Uptime](https://img.shields.io/badge/uptime-99.9%25-brightgreen.svg)](https://status.dragon-ai.vercel.app)


A powerful AI chat interface powered by Google's Gemini 1.5 Flash model

Built with Flask 3, Vercel, and modern web technologies 🚀

[Demo](https://dragon-ai-assistant.vercel.app/) •
[Documentation](https://dragon-ai.vercel.app/docs) •
[Quick Start](#quick-start) •
[Deployment](#deployment) •
[Contributing](#contributing)

## 🎮 Quick Start

Try Dragon AI instantly:
1. 🌐 Visit [https://dragon-ai-assistant.vercel.app/](https://dragon-ai-assistant.vercel.app/)
2. 🔒 No signup required
3. 💬 Start chatting with the AI

Or run locally:
```bash
# Clone repository
git clone https://github.com/bniladridas/dragon-ai-assistant.git
cd dragon-ai-assistant

# Install Vercel CLI
npm i -g vercel

# Install dependencies
pip install -r requirements.txt

# Run development server
vercel dev
```

Your Flask application will be available at `http://localhost:3000`.

## ✨ What's New in 2.0.0

### Major Updates
- 🎨 New Twitter/X-inspired dark theme UI
- 🚀 Vercel Edge Functions integration
- 🤖 Upgraded to Gemini 1.5 Flash
- 📱 Enhanced mobile responsiveness
- 🔄 Real-time chat synchronization
- 🎨 Custom SVG animations
- 🌐 Global CDN distribution
- ⚡ Flask 3.0 support

### Performance Improvements
- ⚡ 50% faster response times
- 📦 Reduced bundle size
- 🔧 Optimized API calls
- 🌍 Enhanced global latency

## ☁️ Dragon AI Cloud Infrastructure

```mermaid
flowchart TB
subgraph Client
B[Browser] --> V[Vercel Edge Network]
end

subgraph Cloud["Cloud Infrastructure"]
V --> VF[Vercel Frontend]
V --> PS[Python Serverless Function]
PS --> G[Google Gemini API]

subgraph Vercel["Vercel Platform"]
VF --> |Static Assets| VC[Vercel CDN]
PS --> |Environment Variables| VE[Vercel ENV]
end
end

subgraph Storage
B --> |Chat History| LS[Local Storage]
end

style B fill:#1D9BF0,color:#fff
style V fill:#000000,color:#fff
style VF fill:#0070F3,color:#fff
style PS fill:#16181C,color:#fff
style G fill:#4285F4,color:#fff
style VC fill:#0070F3,color:#fff
style VE fill:#0070F3,color:#fff
style LS fill:#1DA1F2,color:#fff
```

## 🏗 How it Works

Dragon AI uses the Web Server Gateway Interface (WSGI) with Flask 3 to enable handling requests on Vercel with Serverless Functions. The architecture is designed as follows:

```mermaid
flowchart TB
U[User Interface] --> |HTTP Request| F[Flask 3 Server]
F --> |Prompt| G[Gemini 1.5 Flash API]
G --> |Generated Response| F
F --> |JSON Response| U

subgraph Frontend
U --> |Store| LC[Local Storage]
LC --> |Load| U
end

subgraph Cloud Infrastructure
F --> |Vercel Edge| V[Vercel Platform]
V --> |CDN| C[Global CDN]
end
```

## 🚀 Features

### Core Features
- 💬 Real-time AI chat interface
- 📝 Markdown & code syntax highlighting
- 💾 Local chat history
- 📱 Responsive design
- 🌙 Dark mode
- ⚡ Fast response times
- 🔒 Secure API handling

### Technical Features
- 🔄 WebSocket support
- 📦 Efficient bundling
- 🌐 Edge network distribution
- 🔧 Environment management
- 📊 Performance monitoring
- 🔍 SEO optimization
- 🚀 CI/CD pipeline

## 🚀 Deployment

### Vercel Configuration
```json
{
"version": 2,
"builds": [
{
"src": "app.py",
"use": "@vercel/python"
}
],
"routes": [
{
"src": "/(.*)",
"dest": "app.py"
}
]
}
```

### One-Click Deploy
Deploy the example using [Vercel](https://vercel.com?utm_source=github&utm_medium=readme&utm_campaign=vercel-examples):

[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fvercel%2Fexamples%2Ftree%2Fmain%2Fpython%2Fflask3&demo-title=Flask%203%20%2B%20Vercel&demo-description=Use%20Flask%203%20on%20Vercel%20with%20Serverless%20Functions%20using%20the%20Python%20Runtime.&demo-url=https%3A%2F%2Fflask3-python-template.vercel.app%2F&demo-image=https://assets.vercel.com/image/upload/v1669994156/random/flask.png)

### Performance Metrics
- TTFB: ~100ms
- FCP: ~300ms
- LCP: ~800ms
- TTI: ~1.2s

## 💻 Development

### Prerequisites
- Python 3.8+
- Flask
- Google Cloud API key
- Vercel account

### Environment Variables
```env
GOOGLE_API_KEY=your_api_key_here
VERCEL_ENV=development
DEBUG=True
```

## 📚 API Documentation

### Generate Response
```http
POST /generate
Content-Type: application/json

{
"prompt": "string",
"chatId": "number"
}
```

### Response Format
```json
{
"response": "string",
"metadata": {
"model": "gemini-1.5-flash",
"timestamp": "string",
"processTime": "number"
}
}
```

## 🔒 Security & Monitoring

### Security Features
- 🔐 API key encryption
- 🛡️ Rate limiting
- 🔍 Input validation
- 🚫 XSS protection
- 📝 Security logs

### Monitoring Features
- 📈 Real-time metrics
- 🔍 Error tracking
- 📊 Usage analytics
- ⚡ Performance monitoring
- 🌡️ Health checks

## 🤝 Contributing

1. Fork repository
2. Create feature branch
3. Commit changes
4. Push to branch
5. Create Pull Request

## 📜 Code of Conduct

[View our Code of Conduct](CODE_OF_CONDUCT.md)

## 📄 License

MIT License - [View License](LICENSE)

## 🙏 Acknowledgments

- Google AI Team
- Vercel Platform
- Open Source Community

## 📞 Support & Status

### Support Channels
- 📧 Email: [email protected]
- 💬 Discord: [Join](https://discord.gg/dragon-ai)
- 🐦 Twitter: [@DragonAI](https://twitter.com/DragonAI)

### Status & Updates
- Status Page: [status.dragon-ai.vercel.app](https://status.dragon-ai.vercel.app)
- Blog: [blog.dragon-ai.vercel.app](https://blog.dragon-ai.vercel.app)
- Updates: [@DragonAIStatus](https://twitter.com/DragonAIStatus)

---


Made with ❤️ by Dragon Team | Powered by Vercel

© 2024 Dragon AI. All rights reserved.