Skip to content
 
 

Repository files navigation

Gemini Search

A Perplexity-style search engine powered by Google's Gemini 2.0 Flash model with grounding through Google Search. Get AI-powered answers to your questions with real-time web sources and citations.

Created by @ammaar

Kapture 2025-01-04 at 14 35 14

Features

  • 🔍 Real-time web search integration
  • 🤖 Powered by Google's latest Gemini 2.0 Flash model
  • 📚 Source citations and references for answers
  • 💬 Follow-up questions in the same chat session
  • 🎨 Clean, modern UI inspired by Perplexity
  • ⚡ Fast response times

Tech Stack

  • Frontend: React + Vite + TypeScript + Tailwind CSS
  • Backend: Express.js + TypeScript
  • AI: Google Gemini 2.0 Flash API
  • Search: Google Search API integration

Setup

Prerequisites

  • Node.js (v18 or higher recommended)
  • npm or yarn
  • A Google API key with access to Gemini API
  • (Optional) A Search1API key for alternative search backend

Installation

  1. Clone the repository:

    git clone https://github.com/ammaarreshi/Gemini-Search.git
    cd Gemini-Search
  2. Install dependencies:

    npm install
  3. Create a .env file in the root directory:

    GOOGLE_API_KEY=your_api_key_here
    
  4. Start the development server:

    npm run dev
  5. Open your browser and navigate to:

    http://localhost:3000
    

Docker Deployment

  1. Build and run with docker-compose:

    docker-compose up -d
  2. Or run with custom port:

    PORT=3125 docker-compose up -d

Environment Variables

  • GOOGLE_API_KEY: Your Google API key with access to Gemini API
  • NODE_ENV: Set to "development" by default, use "production" for production builds
  • PORT: (Optional) Custom port for the server, defaults to 3000
  • BASE_URL: (Optional) Custom Gemini API endpoint
  • SEARCH1_API_KEY: (Optional) Required if using search1api tool instead of Google Search

Search Tools

The project supports two search backends:

  1. Google Search (default): Uses Google's built-in search capability
  2. Search1API: An alternative search backend (search1api.com) that:
    • Costs 5x less than Google Search
    • Response time is 2x slower than Google Search
    • Requires:
      • Set BASE_URL=https://ground.search1api.com
      • Set SEARCH1_API_KEY=your_search1api_key

Development

  • npm run dev: Start the development server
  • npm run build: Build for production
  • npm run start: Run the production server
  • npm run check: Run TypeScript type checking

Security Notes

  • Never commit your .env file or expose your API keys
  • The .gitignore file is configured to exclude sensitive files
  • If you fork this repository, make sure to use your own API keys

License

MIT License - feel free to use this code for your own projects!

Acknowledgments

About

Perplexity style AI Search engine clone built with Gemini 2.0 Flash and Grounding

Resources

Stars

13 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages