-
Notifications
You must be signed in to change notification settings - Fork 27
Open
Labels
submissionContest submission for open hackContest submission for open hack
Description
Project name
ClinIQ
Description
Project: ClinIQ — RAG-Based Medical Chatbot
🏗️ Architecture Summary
- Frontend: Vanilla HTML/CSS/JavaScript
- Backend: Fast API (Python 3.12)
- Database: SQL Server 2025 with native VECTOR columns
- Vector Search: SQL stored procedures using VECTOR_DISTANCE('cosine')
- AI Generation: GitHub Models (GPT-5-mini) with Ollama/Azure OpenAI fallback
- Deployment: Docker Compose (development), Azure Container Apps (production)
✨ Key Features
-
Retrieval-Augmented Generation (RAG)
- Vector embedding of user queries (text-embedding-3-small)
- Semantic search on SQL Server VECTOR columns
- Multi-factor relevance scoring (cosine + recency + citations)
-
Sourced AI Responses
- Every answer includes citations (PubMed PMIDs, NCT IDs)
- Evidence retrieved from SQL Server
- Structured JSON responses with source metadata
-
Multiple AI Backends
- GitHub Models (default, cloud-based) Or Local Ollama for development
- Azure OpenAI (production)
-
Medical Data Sources
- PubMed articles (vectorized abstracts)
- Clinical trials (characteristics + eligibility)
-
Production-Ready
- OWASP Top 10 security
- Rate limiting & input validation
- Non-root Docker containers
📊 SQL + AI Integration
- Native VECTOR type on medical articles table (1536-dim embeddings)
- Stored procedures for semantic search with structured filters
- Hybrid retrieval: Vector similarity + attribute-based filtering (trial status, patient eligibility)
- Data API Builder provides REST gateway to SQL (no direct SQL from app)
🚀 Quick Start
git clone https://github.com/YOUR-ORG/ClinIQ.git
cd ClinIQ
cp .env.example .env # Set GITHUB_TOKEN for AI features
docker-compose up --build
# Open http://localhost:8000See [SETUP.md]for detailed instructions.
Type
Chat App
Project Repository URL
https://github.com/learnsol/ClinIQ
Project video (please verify that the link works)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
submissionContest submission for open hackContest submission for open hack