Skip to content

MonlamAI/Monlam-Annotation-Tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

74 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Monlam Doccano

Custom Doccano annotation platform with Tibetan language support and Monlam AI enhancements.

Monlam Tools

Features

πŸ‡ΉπŸ‡΄ Tibetan Language Support

  • Full Tibetan (བོད་སྐད་) UI translations
  • Monlam Unicode font support
  • RTL-compatible text handling

🎨 Monlam Branding

  • Custom color scheme (gold/navy)
  • Monlam logo and favicon
  • Clean, distraction-free interface (GitHub buttons hidden)

πŸŽ™οΈ Speech-to-Text Enhancements

  • JSONL import with external audio URLs - Import audio from S3/MinIO without uploading
  • Auto TextLabel creation - Transcripts are automatically created as annotations
  • Pre-filled labels - Annotators can review/edit instead of transcribing from scratch
  • Correct audio URL export - Exports include the original audio URLs
  • Auto-loop audio playback - Audio automatically loops by default with toggle controls (πŸ“– Setup Guide)

πŸ–ΌοΈ Image Classification Enhancements

  • JSONL import with external image URLs - Import images from S3/MinIO
  • Pre-filled category labels - Labels are pre-populated for review/approval workflow

βœ… UI Improvements

  • Review button styling: πŸ”΄ Red Circle for "not done", 🟒 Green Check for "done"

πŸ“Š Custom Annotation Status Tracking System

  • Per-annotator completion status - Track each annotator's progress on every example
  • Per-approver approval status - Track each approver's reviews with notes
  • Visual indicators - Color-coded status badges and progress bars in UI
  • Project Manager role - New role with full visibility of completion matrix
  • Admin dashboard - Comprehensive dashboard showing completion matrix for all team members
  • Real-time tracking - Auto-updating status indicators
  • Export functionality - Download completion data as CSV

🎨 UI Integration Features:

  • Enhanced Members Progress Page - Color-coded progress bars with hover tooltips and detailed stats modal
  • Dataset Table Completion Columns - Annotator and Approver status columns with badges and usernames
  • Non-invasive design - JavaScript-based enhancements, no core file modifications
  • Real-time updates - Automatic refresh on pagination and filtering

πŸ“– View Completion Tracking Documentation
πŸ“– View UI Integration Guide

Quick Start

1. Clone and Configure

git clone https://github.com/monlam-ai/monlam-doccano.git
cd monlam-doccano
cp .env.example .env
# Edit .env with your settings

2. Build and Run

docker-compose up -d --build

3. Access

Open http://localhost:8000 (or your configured port)

Default credentials (change in .env):

  • Username: admin
  • Password: changeme123

JSONL Import Formats

Speech-to-Text

{"filename": "https://s3.example.com/audio/file1.wav", "text": "Transcript here", "label": "Transcript here"}
{"filename": "https://s3.example.com/audio/file2.wav", "text": "Another transcript", "label": "Another transcript"}
Field Description
filename Audio URL (S3, MinIO, or any HTTP URL)
text Transcript text (stored in example)
label Pre-filled annotation (shown to annotator)
meta Optional metadata object

Image Classification

{"filename": "https://s3.example.com/images/cat.jpg", "label": ["cat", "animal"]}
{"filename": "https://s3.example.com/images/dog.jpg", "label": ["dog", "pet"]}
Field Description
filename Image URL (S3, MinIO, or any HTTP URL)
label Array of category labels (pre-filled)
meta Optional metadata object

Project Structure

monlam-doccano/
β”œβ”€β”€ Dockerfile              # Custom Doccano image
β”œβ”€β”€ docker-compose.yml      # Container orchestration
β”œβ”€β”€ .env.example            # Environment template
β”œβ”€β”€ branding/
β”‚   β”œβ”€β”€ i18n/               # Tibetan translations
β”‚   β”‚   β”œβ”€β”€ bo/             # བོད་སྐད་ locale files
β”‚   β”‚   └── index.js        # Locale registry
β”‚   └── static/
β”‚       β”œβ”€β”€ logo.png        # Monlam logo
β”‚       └── favicon.png     # Browser favicon
└── patches/
    β”œβ”€β”€ assignment/         # Custom assignment & completion tracking
    β”‚   β”œβ”€β”€ models_separate.py          # Assignment models
    β”‚   β”œβ”€β”€ completion_tracking.py      # Completion tracking models
    β”‚   β”œβ”€β”€ roles.py                    # Project Manager role
    β”‚   β”œβ”€β”€ completion_views.py         # Completion matrix API
    β”‚   β”œβ”€β”€ views.py                    # Assignment API
    β”‚   β”œβ”€β”€ serializers.py              # REST serializers
    β”‚   β”œβ”€β”€ urls.py                     # URL routing
    β”‚   β”œβ”€β”€ migrations/
    β”‚   β”‚   β”œβ”€β”€ 0001_initial.py
    β”‚   β”‚   └── 0002_completion_tracking.py
    β”‚   β”œβ”€β”€ COMPLETION_TRACKING_README.md
    β”‚   β”œβ”€β”€ INSTALLATION_GUIDE.md
    β”‚   └── QUICK_START.md
    β”œβ”€β”€ backend/
    β”‚   β”œβ”€β”€ celery_tasks.py # Auto TextLabel creation
    β”‚   β”œβ”€β”€ serializers.py  # External URL handling
    β”‚   β”œβ”€β”€ export_models.py# Correct export URLs
    β”‚   β”œβ”€β”€ catalog.py      # JSONL import options
    β”‚   └── datasets.py     # Custom dataset classes
    β”œβ”€β”€ frontend/
    β”‚   β”œβ”€β”€ index.html              # UI customizations
    β”‚   β”œβ”€β”€ 200.html                # SPA fallback
    β”‚   β”œβ”€β”€ completion-matrix.html  # Completion dashboard
    β”‚   └── status-indicators.js    # Status UI components
    └── examples/
        β”œβ”€β”€ speech_to_text/
        β”‚   └── example.jsonl
        └── image_classification/
            └── example.jsonl

Development

Live Frontend Updates

Uncomment the volume mounts in docker-compose.yml to enable live frontend updates:

volumes:
  - ./patches/frontend/index.html:/doccano/backend/client/dist/index.html:ro
  - ./patches/frontend/200.html:/doccano/backend/client/dist/200.html:ro

Rebuilding

After modifying backend patches:

docker-compose build --no-cache
docker-compose up -d

Integration with Traefik

For production with Traefik reverse proxy:

labels:
  - "traefik.enable=true"
  - "traefik.http.routers.doccano.rule=Host(`annotate.example.com`)"
  - "traefik.http.routers.doccano.entrypoints=websecure"
  - "traefik.http.routers.doccano.tls=true"
  - "traefik.http.services.doccano.loadbalancer.server.port=8000"

License

Based on Doccano (MIT License).

Monlam customizations Β© 2024 Monlam AI.

Support

For issues with Monlam customizations, please open an issue in this repository.

For core Doccano issues, please refer to the upstream repository.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published