|
| 1 | +# 🔬 Compileo: The Ultimate AI-Powered Document Processing & Dataset Engineering Suite |
| 2 | + |
| 3 | +**Compileo** is an enterprise-grade, modular platform designed to transform raw, unstructured data into high-quality, structured intelligence. Whether you're processing 1,000-page medical PDFs, scraping JavaScript-heavy websites, or engineering datasets for LLM fine-tuning and personal study, Compileo provides a unified, AI-driven lifecycle for the modern data era. |
| 4 | + |
| 5 | +--- |
| 6 | + |
| 7 | +## 🌟 What can Compileo do? |
| 8 | + |
| 9 | +Compileo isn't just a parser—it's a comprehensive **data engineering ecosystem**. It automates the complex journey from \"Messy Source\" to \"Validated, Categorized Intelligence.\" |
| 10 | + |
| 11 | +### 📖 Multi-Source Knowledge Consolidation |
| 12 | +Imagine you have several thick textbooks and want to create a specialized dataset focused only on **disease treatments**. Compileo can: |
| 13 | +1. **Ingest** all books simultaneously (PDF, DOCX, etc.). |
| 14 | +2. **Discover** a unified \"Treatment\" taxonomy across all sources automatically. |
| 15 | +3. **Extract** every mention of treatments, dosages, and contraindications with high precision. |
| 16 | +4. **Consolidate** this into one unified, high-quality Q&A dataset for training or study. |
| 17 | + |
| 18 | +### 🕹️ Three Ways to Work |
| 19 | +Compileo is designed for every workflow: |
| 20 | +* **Web GUI**: A user-friendly Streamlit interface with a 7-step guided wizard. |
| 21 | +* **REST API**: Seamlessly integrate dataset generation into your own applications. |
| 22 | +* **CLI**: Automate heavy-duty processing with powerful command-line parameters. |
| 23 | + |
| 24 | +--- |
| 25 | + |
| 26 | +## 🚀 Impressive Features |
| 27 | + |
| 28 | +### 📄 Intelligent Document Processing & AI-Assisted Chunking |
| 29 | +* **Massive PDF Autonomy**: Automatically splits 1,000+ page documents into manageable segments with **semantic overlaps**, ensuring LLM token limits are never hit while preserving context. |
| 30 | +* **Two-Pass VLM Parsing**: Employs a \"Skim and Extract\" methodology using Vision-Language Models (Grok, Gemini, Ollama) to first understand document layout and then extract high-fidelity Markdown. |
| 31 | +* **AI-Assisted Strategy Recommendation**: Don't guess how to split your data. Describe your goal (e.g., *\"I want to extract detailed surgical procedures\"*), and Compileo's AI will analyze your documents to recommend the optimal **Semantic**, **Token**, or **Schema-based** chunking strategy. |
| 32 | + |
| 33 | +### 🧠 Semantic Data Engineering |
| 34 | +* **AI-Assisted Taxonomy**: Don't waste weeks defining categories. Compileo's **Smart Sampling** selects representative content to suggest and build hierarchical knowledge trees automatically. |
| 35 | +* **Multi-Stage Extraction**: Performs **Hierarchical Classification**, moving from coarse-grained categories to fine-grained entities based on your custom or generated taxonomy. |
| 36 | +* **Context-Aware NER**: Uses parent context during extraction to disambiguate entities and discover deep relationships between concepts. |
| 37 | + |
| 38 | +### 🧪 Advanced Quality Control & Evaluation |
| 39 | +* **AI Confidence Scoring**: Every extracted entity and relationship is assigned an **AI confidence level** (0.0 - 1.0), allowing you to filter for only the most reliable data. |
| 40 | +* **Deep Quality Metrics**: Automated scoring for **Lexical Diversity**, **Demographic Bias**, **Answer Coherence**, and **Target Audience Alignment** via the `datasetqual` module. |
| 41 | +* **Fine-Tuned Model Testing**: Use the `benchmarking` module to evaluate how your **fine-tuned models** perform on your custom datasets using industry-standard metrics (Accuracy, F1, BLEU, ROUGE) and suites like GLUE or MMLU. |
| 42 | + |
| 43 | +### 🔌 Developer Extensibility |
| 44 | +* **Robust Plugin System**: Effortlessly extend Compileo by adding custom **Ingestion Handlers**, **Dataset Formatters**, or **API Routers** via a simple `.zip` package architecture. |
| 45 | +* **Custom Exports**: Out-of-the-box support for **Anki** export, allowing you to turn any technical document into a high-quality study deck. |
| 46 | + |
| 47 | +--- |
| 48 | + |
| 49 | +## 🛠️ Installation |
| 50 | + |
| 51 | +### 🐳 Option 1: Docker |
| 52 | +The fastest way to deploy the full stack (API, GUI, and Redis). |
| 53 | + |
| 54 | +1. **Clone & Prepare**: |
| 55 | + ```bash |
| 56 | + git clone https://github.com/your-org/compileo.git |
| 57 | + cd compileo |
| 58 | + cp .env.example .env # Add your API keys for Gemini, Grok, etc. |
| 59 | + ``` |
| 60 | +2. **Launch**: |
| 61 | + ```bash |
| 62 | + docker compose up --build -d |
| 63 | + ``` |
| 64 | +3. **Access**: |
| 65 | + * **Web GUI**: `http://localhost:8501` |
| 66 | + * **API Docs**: `http://localhost:8000/docs` |
| 67 | + |
| 68 | +### 🔐 API Authentication & Security |
| 69 | +Compileo implements an **"Auto-Lock"** security model designed for zero-config startup without sacrificing security. |
| 70 | + |
| 71 | +* **Unsecured Mode (Default)**: If no API keys are defined, Compileo allows all requests. This is ideal for first-time setup and local experimentation. |
| 72 | +* **Secured Mode**: As soon as you define an API key, the system "locks" and strictly requires that key for all API and GUI operations. |
| 73 | + |
| 74 | +#### **How to Secure Your Instance (Choose One):** |
| 75 | +1. **GUI (Recommended)**: Launch Compileo, go to **Settings > 🔗 API Configuration**, enter an **API Key**, and click **Save**. The system locks instantly. |
| 76 | +2. **CLI**: Start the API with the `--api-key` flag: |
| 77 | + ```bash |
| 78 | + python -m src.compileo.api.main --api-key your_secret_key |
| 79 | + ``` |
| 80 | +3. **Environment**: Define `COMPILEO_API_KEY=your_secret_key` in your `.env` or Docker configuration. |
| 81 | + |
| 82 | +#### **How to Connect to a Secured Instance:** |
| 83 | +All API requests must include the following header: |
| 84 | +```http |
| 85 | +X-API-Key: your_secret_key |
| 86 | +``` |
| 87 | + |
| 88 | +--- |
| 89 | + |
| 90 | +### 🐍 Option 2: Python Environment |
| 91 | +Ideal for local development, CLI automation, or custom integrations. |
| 92 | + |
| 93 | +**Prerequisites**: A running Redis server (`sudo apt install redis-server`). |
| 94 | + |
| 95 | +1. **Setup Environment**: |
| 96 | + ```bash |
| 97 | + python -m venv .venv |
| 98 | + source .venv/bin/activate # Windows: .venv\Scripts\activate |
| 99 | + ``` |
| 100 | +2. **Install Dependencies**: |
| 101 | + ```bash |
| 102 | + pip install -r requirements.txt |
| 103 | + ``` |
| 104 | +3. **Start Services**: |
| 105 | + ```bash |
| 106 | + # 1. Start the API server (Optionally secure it with --api-key) |
| 107 | + python -m src.compileo.api.main --api-key my_secret_token |
| 108 | + |
| 109 | + # 2. Start the Web GUI (In a new terminal) |
| 110 | + streamlit run src/compileo/features/gui/main.py |
| 111 | + ``` |
| 112 | + *Note: If you secured the API in step 1, you must enter the same key in the GUI Settings to connect.* |
| 113 | + |
| 114 | +--- |
| 115 | + |
| 116 | +## 📖 Explore Further |
| 117 | +* [API Authentication](docs/userGuide/api_authentication.md): Detailed guide on securing your Compileo API instance. |
| 118 | +* [GUI User Guide](docs/userGuide/gui_user_guide.md): Walk through the 7-step Dataset Creation Wizard. |
| 119 | +* [Plugin Development Guide](docs/developers/plugin_development_guide.md): Learn how to build your own extensions. |
| 120 | +* [CLI Reference](docs/userGuide/documentscli.md): Automate workflows via the command line. |
| 121 | + |
| 122 | +## 📄 License |
| 123 | +[Insert License Information] |
0 commit comments