WARNING: This project is in ALPHA — features are experimental and may change without notice. Use at your own risk.
The models service is the AI/ML running layer of the documents project. It runs as a background worker that receives fenced step assignments from Documents Backend over an authenticated HTTP protocol, processes documents using AI and NLP models, and retries result delivery until Backend acknowledges it.
It is designed to run alongside the backend service and can be deployed on any machine — including CPU-only, GPU-accelerated, or multi-worker setups. Workers report hardware and task capabilities so Backend only assigns compatible steps.
| Capability | Model |
|---|---|
| Embeddings | intfloat/multilingual-e5-small (384-dim, sentence-transformers) |
| Summarization | facebook/mbart-large-50-one-to-many-mmt |
| Translation | Helsinki-NLP/opus-mt-{src}-{tgt} (per language pair) |
| NER | Davlan/xlm-roberta-base-ner-hrl (multilingual XLM-RoBERTa, CPU by default) |
| LLM (keywords, key points, Q&A) | GGUF model (configured in tasks.json, default: Qwen3-8B) |
All models are downloaded automatically: most from Hugging Face on first use, and the base GGUF LLM
is pre-fetched by the install script (and by setup_models.py --setup in the standalone bundle)
into the models/ directory, using the filename declared in config/tasks.json.
LLM tasks optionally support LoRA adapters (lora_model, lora_scale in the task entry) applied on top
of the base GGUF. Adapter files are placed manually. See docs/configuration.md.
GPU acceleration (CUDA 12.6) is supported but not required. CPU-only workers handle all tasks except those that explicitly need a GPU.
This project is licensed under the Apache License, Version 2.0. See the LICENSE file for details.
WARNING: This project is in ALPHA — features are experimental and may change without notice. Use at your own risk.
The models service is the AI/ML running layer of the documents project. It runs as a background worker that receives fenced step assignments from Documents Backend over an authenticated HTTP protocol, processes documents using AI and NLP models, and retries result delivery until Backend acknowledges it.
It is designed to run alongside the backend service and can be deployed on any machine — including CPU-only, GPU-accelerated, or multi-worker setups. Workers report hardware and task capabilities so Backend only assigns compatible steps.
| Capability | Model |
|---|---|
| Embeddings | intfloat/multilingual-e5-small (384-dim, sentence-transformers) |
| Summarization | facebook/mbart-large-50-one-to-many-mmt |
| Translation | Helsinki-NLP/opus-mt-{src}-{tgt} (per language pair) |
| NER | Davlan/xlm-roberta-base-ner-hrl (multilingual XLM-RoBERTa, CPU by default) |
| LLM (keywords, key points, Q&A) | GGUF model (configured in tasks.json, default: Qwen3-8B) |
All models are downloaded automatically: most from Hugging Face on first use, and the base GGUF LLM
is pre-fetched by the install script (and by setup_models.py --setup in the standalone bundle)
into the models/ directory, using the filename declared in config/tasks.json.
LLM tasks optionally support LoRA adapters (lora_model, lora_scale in the task entry) applied on top
of the base GGUF. Adapter files are placed manually. See docs/configuration.md.
GPU acceleration (CUDA 12.6) is supported but not required. CPU-only workers handle all tasks except those that explicitly need a GPU.
This project is licensed under the Apache License, Version 2.0. See the LICENSE file for details.