Skip to content

yashmahe2020/SemanticSearch

Repository files navigation

Semantic Search Engine

A high-performance search engine designed to understand the meaning behind your query, not just the keywords.

💡 Overview

Traditional search engines look for exact word matches. Semantic Search goes deeper. It converts text into numerical vectors—representations of meaning—allowing you to find relevant results even if the exact keywords don't match.

For example, searching for "protecting forests from fire" will correctly find documents about "wildfire prevention," even if the words differ.

🚀 Features

  • Context-Aware Search: Understands user intent and query nuances.
  • High Performance: Optimized for speed using modern vector database technologies.
  • Scalable Architecture: Built to handle large datasets efficiently.
  • Real-time Indexing: Updates search results as new data is added.

🛠️ How It Works

  1. Ingestion: Documents are processed and chunks of text are converted into embeddings (vectors) using OpenAI's embedding models.
  2. Storage: These vectors are stored in a Pinecone vector database.
  3. Retrieval: When you search, your query is also converted into a vector. The system then finds the most mathematically similar (closest) documents in the database.

💻 Tech Stack

  • TypeScript: The core language for Type-Safe logic.
  • Pinecone: The vector database engine.
  • OpenAI API: For generating text embeddings.
  • Next.js: The framework powering the API and interface.

🏁 Getting Started

  1. Clone the repository

    git clone https://github.com/yashmahe2020/SemanticSearch.git
    cd SemanticSearch
  2. Install dependencies

    npm install
  3. Configure Environment Create a .env.local file with your API keys:

    OPENAI_API_KEY=your_key
    PINECONE_API_KEY=your_key
    PINECONE_ENVIRONMENT=your_env
  4. Run the app

    npm run dev

About

High-performance semantic search engine using Vector embeddings for accurate, context-aware information retrieval.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages