Spaces:
Sleeping
Sleeping
| title: OpenTriage AI Engine | |
| emoji: π§ | |
| colorFrom: purple | |
| colorTo: pink | |
| sdk: docker | |
| app_port: 7860 | |
| pinned: false | |
| # π§ OpenTriage AI Engine (Microservice) | |
| This is the **AI Brain** of the OpenTriage platform. It is a specialized Python microservice acting as a "Sidecar" to the main TypeScript backend. | |
| It hosts the heavy-lifting AI logic, including RAG (Retrieval-Augmented Generation), Issue Triage, and Mentor Matching, keeping the main application fast and lightweight. | |
| ## π Features | |
| * **π AI Triage:** Automatically classifies GitHub issues by complexity and type. | |
| * **π RAG Chatbot:** "Chat with Repo" functionality using vector search. | |
| * **π€ Mentor Match:** Connects contributors to mentors based on tech stack analysis. | |
| * **π Hype Generator:** Generates celebratory messages for PR merges. | |
| --- | |
| ## π How to Connect | |
| This service exposes a REST API via **FastAPI**. It is designed to be called by the Main Backend, not directly by users. | |
| ### Base URL | |
| Your API is live at: | |
| `https://[YOUR_USERNAME]-opentriage-ai-engine.hf.space` | |
| *(Check the "Embed this space" menu in the top right to get your exact direct URL)* | |
| ### API Endpoints | |
| | Method | Endpoint | Description | | |
| | :--- | :--- | :--- | | |
| | `GET` | `/health` | Server health check (returns 200 OK) | | |
| | `POST` | `/triage` | Classifies an issue description | | |
| | `POST` | `/chat` | General AI assistant response | | |
| | `POST` | `/rag/chat` | Context-aware repository Q&A | | |
| | `POST` | `/mentor-match` | Finds best matching mentors | | |
| --- | |
| ## π Deployment Configuration | |
| ### 1. Environment Variables (Secrets) | |
| You must set these in the **Settings** tab of this Space under "Variables and secrets": | |
| | Secret Name | Required? | Description | | |
| | :--- | :--- | :--- | | |
| | `OPENROUTER_API_KEY` | **Yes** | Required for all AI generation | | |
| | `MONGO_URL` | Optional | If your RAG needs persistent vector storage | | |
| ### 2. Docker Configuration | |
| This Space uses a custom Dockerfile to ensure all Python scientific libraries (NumPy, Scikit-learn, LangChain) are installed in a compatible environment. | |
| * **Port:** 7860 (Standard HF Space port) | |
| * **User:** Runs as non-root user `user` (ID 1000) for security. | |
| --- | |
| ## π» Local Development | |
| If you want to run this brain locally: | |
| ```bash | |
| # 1. Create venv | |
| python -m venv venv | |
| source venv/bin/activate | |
| # 2. Install | |
| pip install -r requirements.txt | |
| # 3. Run | |
| uvicorn main:app --reload --port 8000 |