Skip to content

Open Source Compass is an AI-powered platform that helps developers discover and contribute to open source projects that match their skills and interests.

Notifications You must be signed in to change notification settings

learnsol/OpenSourceCompass

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Open Source Compass

Open Source Compass is an AI-powered platform that helps developers discover and contribute to open source projects that match their skills and interests. It leverages semantic search, vector databases, and Google Gemini LLM via Vertex AI to provide actionable contribution guidelines for selected issues.


🚀 Features

  • Ingests top issues and docs from open source repos into MongoDB
  • Creates vector embeddings for semantic search
  • Matches user queries/skills to relevant issues
  • Streams AI-generated contribution guidelines using Gemini LLM
  • Interactive Streamlit web app for search and exploration

🏗️ Architecture

The architecture diagram below illustrates the workflow of Open Source Compass. It starts with fetching issues and documentation from GitLab, which are processed by an ingestion script to generate vector embeddings stored in MongoDB. The Streamlit web app enables users to search for relevant issues using semantic search, and selected issues are sent to Google Gemini LLM via Vertex AI to generate actionable contribution guidelines.

graph TD
    A[GitLab API] -->|Issues & Docs| B[Ingestion Script<br>copyrepotomongo.py]
    B -->|Embeddings| C[MongoDB<br>Vector Store]
    C -->|Vector Search| D[Streamlit Web App<br>app.py]
    D -->|User Query/Skills| C
    D -->|Selected Issue + Docs| E[Gemini LLM<br>Vertex AI]
    E -->|Contribution Guidelines| D
Loading

📝 How It Works

  1. Ingestion:

    • copyrepotomongo.py fetches issues and docs from GitLab, generates embeddings, and stores them in MongoDB with vector indexes.
  2. Semantic Search:

    • Users search by text or skills in the Streamlit app.
    • The app queries MongoDB using vector search to find relevant issues.
  3. Guideline Generation:

    • When a user selects an issue, the app fetches the issue and related docs.
    • Sends them to Gemini LLM (Vertex AI) to generate actionable contribution guidelines, streamed back to the UI.

🛠️ Setup

  1. Clone the repo & install dependencies

    git clone <repo-url>
    cd google-ai-in-action-hackathon
    python -m venv .venv
    source .venv/bin/activate  # or .venv\Scripts\activate on Windows
    pip install -r requirements.txt
  2. Configure environment

    • Fill out .env with your MongoDB URI, GitLab token, and Google Cloud project info.
    • Authenticate with Google Cloud:
      gcloud auth application-default login
  3. Ingest data

    python Open\ Source\ Compass/copyrepotomongo.py
  4. Run the app

    streamlit run Open\ Source\ Compass/app.py

📊 Example Workflow

  1. Search for issues by text or skills.
  2. Review matching issues and select one.
  3. Click "Generate Contribution Guidelines" to get AI-powered steps for contributing.

🖼️ Architecture Diagram

Open Source Compass Architecture

(If you want to use the Mermaid diagram above, you can render it with Mermaid Live Editor.)


🤖 Tech Stack

  • Python, Streamlit, MongoDB, SentenceTransformers
  • Google Vertex AI (Gemini LLM)
  • GitLab API

🙌 Team

  • LearnSol

📄 License

MIT License

About

Open Source Compass is an AI-powered platform that helps developers discover and contribute to open source projects that match their skills and interests.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published