Skip to content

๐Ÿค– A modern AI chat assistant powered by Meta's Llama models with real-time web search capabilities, built using React, FastAPI, and Cloudflare AI

License

Notifications You must be signed in to change notification settings

paritoshtripathi935/MiniPerplexity

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

45 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Mini Perplexity: AI Chat Assistant with Real-Time Web Search & Analysis

๐ŸŒŸ Overview

Mini Perplexity is an advanced AI chat assistant that combines real-time web search capabilities with state-of-the-art language models. Built with React, FastAPI, and Cloudflare AI, it offers an enterprise-grade solution for intelligent, context-aware conversations with accurate source attribution.

What Makes Mini Perplexity Special?

  • ๐Ÿ” Real-time Web Intelligence: Integrates Google and Bing search APIs for up-to-date information
  • ๐Ÿค– Advanced AI Models: Powered by Meta's Llama 3.1 family for human-like conversations
  • ๐Ÿ”’ Enterprise Security: Clerk authentication and smart rate limiting
  • ๐Ÿ“ฑ Responsive Design: Beautiful UI that works seamlessly across all devices
  • ๐ŸŽฏ Smart Context: Maintains conversation flow with efficient state management

๐Ÿš€ Key Features

AI & Search Capabilities

  • Real-time web search integration
  • Custom URL content analysis
  • Multiple AI model support (LLAMA_3_1_70B_INSTRUCT, LLAMA_3_8B_INSTRUCT)
  • Intelligent context management

User Experience

  • Dark/Light mode theming
  • Dynamic typing animations
  • Responsive grid layouts
  • Interactive message history
  • Structured search result display

Enterprise Features

  • Secure authentication
  • Rate limiting
  • Session management
  • Source attribution
  • Error handling

๐Ÿ’ป Technology Stack

Frontend

React 18 + TypeScript
Tailwind CSS
Clerk Authentication
Lucide React Icons
React Markdown

Backend

FastAPI
Cloudflare AI
Pydantic
Google & Bing Search APIs
Custom Rate Limiting

๐Ÿ“– Documentation

Installation Requirements

  • Node.js 16+
  • Python 3.8+
  • NPM or Yarn
  • Virtual environment tool

Environment Setup

# Frontend (.env)
VITE_API_HOST=http://localhost:8000
VITE_CLERK_PUBLISHABLE_KEY=your_clerk_key

# Backend (.env)
CLOUDFLARE_API_KEY=your_cloudflare_key
CLOUDFLARE_ACCOUNT_ID=your_account_id
GOOGLE_API_KEY=your_google_key
GOOGLE_SEARCH_CX=your_search_cx
BING_API_KEY=your_bing_key

๐Ÿšฆ Quick Start

# Clone and install
git clone https://github.com/yourusername/mini-perplexity.git
cd mini-perplexity

# Frontend setup
cd frontend
npm install

# Backend setup
cd backend
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate
pip install -r requirements.txt

# Launch application
npm run dev           # Frontend
uvicorn app.main:app --reload  # Backend

Visit http://localhost:5173 to start using Mini Perplexity.

๐Ÿ”ฎ Roadmap

  • Response streaming implementation
  • Multi-language support
  • Voice interaction capabilities
  • Redis-based caching
  • Custom knowledge base integration
  • Enhanced monitoring and analytics

๐Ÿค Contributing

We welcome contributions! See our Contributing Guidelines for:

  • Code style guide
  • Development workflow
  • Pull request process

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments


Created by Paritosh Tripathi | Report Bug | Request Feature

If you find this project useful, please consider giving it a โญ๏ธ