Instructions to use beza4588/TenaOS with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use beza4588/TenaOS with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf beza4588/TenaOS:BF16 # Run inference directly in the terminal: llama cli -hf beza4588/TenaOS:BF16
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf beza4588/TenaOS:BF16 # Run inference directly in the terminal: llama cli -hf beza4588/TenaOS:BF16
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf beza4588/TenaOS:BF16 # Run inference directly in the terminal: ./llama-cli -hf beza4588/TenaOS:BF16
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf beza4588/TenaOS:BF16 # Run inference directly in the terminal: ./build/bin/llama-cli -hf beza4588/TenaOS:BF16
Use Docker
docker model run hf.co/beza4588/TenaOS:BF16
- LM Studio
- Jan
- vLLM
How to use beza4588/TenaOS with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "beza4588/TenaOS" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "beza4588/TenaOS", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/beza4588/TenaOS:BF16
- Ollama
How to use beza4588/TenaOS with Ollama:
ollama run hf.co/beza4588/TenaOS:BF16
- Unsloth Studio
How to use beza4588/TenaOS with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for beza4588/TenaOS to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for beza4588/TenaOS to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for beza4588/TenaOS to start chatting
- Pi
How to use beza4588/TenaOS with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf beza4588/TenaOS:BF16
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "beza4588/TenaOS:BF16" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent new
How to use beza4588/TenaOS with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf beza4588/TenaOS:BF16
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default beza4588/TenaOS:BF16
Run Hermes
hermes
- Atomic Chat new
- OpenClaw new
How to use beza4588/TenaOS with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf beza4588/TenaOS:BF16
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "beza4588/TenaOS:BF16" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
- Docker Model Runner
How to use beza4588/TenaOS with Docker Model Runner:
docker model run hf.co/beza4588/TenaOS:BF16
- Lemonade
How to use beza4588/TenaOS with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull beza4588/TenaOS:BF16
Run and chat with the model
lemonade run user.TenaOS-BF16
List all available models
lemonade list
TenaOS - Gemma 4 E4B Task-Tagged LoRA
TenaOS is a local-first clinical AI operating system for primary-care workflows. This repository hosts the Gemma 4 E4B runtime artifacts used by TenaOS, including the base BF16 GGUF model, multimodal projector, and the task-tagged LoRA adapter trained for TenaOS clinical-informatics workflows.
TenaOS follows a constrained clinical-agent pattern: Gemma proposes, local knowledge bases ground, deterministic middleware validates, and clinicians review before anything is persisted to OpenMRS.
Release Status
This model card describes the current released adapter and merged GGUF artifacts. The documentation, metadata, and model-card charts have been refreshed to match the released weights.
The adapter was trained from real multi-turn production workflow traces with assistant-turn loss masking. Workflow-level validation is still required before making task-by-task performance claims against the base model.
Files
| File | Purpose |
|---|---|
gemma-4-E4B-it-BF16.gguf |
Base Gemma 4 E4B BF16 GGUF used by the local llama.cpp runtime |
mmproj-gemma-4-E4B-it-bf16.gguf |
Base multimodal projector for audio input |
adapter/adapter_model.safetensors |
TenaOS task-tagged LoRA adapter |
adapter/adapter_config.json |
LoRA adapter configuration |
adapter/training_metadata.json |
Training configuration and runtime summary |
merged_hf/ |
Merged BF16 Hugging Face checkpoint |
tenaos-gemma-4-E4B-it-lora-F16.gguf |
Merged LoRA F16 GGUF artifact |
mmproj-tenaos-gemma-4-E4B-it-lora-bf16.gguf |
Projector packaged with the merged LoRA GGUF |
tenaos-gemma-4-E4B-it-lora-Q4_K_M.gguf |
Optional quantized deployment artifact, when present |
tenaos-technical-report.pdf |
Technical report |
training_corpus/ |
Synthetic SFT corpus used for adapter training |
training_code/ |
Training, merge, conversion, and eval helper scripts |
The base BF16 GGUF and projector filenames are preserved for compatibility with the TenaOS bootstrap scripts.
Task Tags
The adapter is trained as a single multi-task adapter routed by explicit task tags:
| Tag | Workflow |
|---|---|
[form] |
Natural-language form and workflow building |
[report] |
Plain-language report planning |
[scribe] |
English text and voice scribing |
[scribe-am] |
Amharic text scribing |
[cds] |
Clinical decision support |
[edu] |
Patient education material generation |
Training Summary
The adapter was trained on curated, task-tagged clinical-informatics workflow traces reconstructed from the TenaOS production stack.
| Field | Value |
|---|---|
| Base model used for training | unsloth/gemma-4-E4B-it |
| Published base lineage | google/gemma-4-E4B-it |
| Training mode | BF16 LoRA, text decoder only |
| Validated traces | 16,005 |
| Train / validation / test | 18,909 / 1,071 / 1,109 |
| Epochs / steps | 3 / 7,086 |
| LoRA rank / alpha / dropout | r=16 / alpha=32 / dropout=0.0 |
| Max sequence length | 24,576 |
| Loss masking | Assistant turns only |
| Chat template | Native Gemma 4 tokenizer template |
| Runtime | 70.5 hours on A100 80GB |
| Final train loss | 0.04123 |
| 4-bit loading | false |
Dataset And SFT Format
The corpus keeps seven workflow families and uses real multi-turn ShareGPT-style conversations reconstructed from production event traces, including system, user, assistant tool-call, and tool-result turns where available. The training script applies the Gemma 4 chat template and masks loss to assistant turns only.
| Task | Train | Validation | Test |
|---|---|---|---|
[form] |
6,001 | 347 | 376 |
[cds] |
3,407 | 197 | 202 |
[edu] |
3,406 | 198 | 210 |
[report] |
3,134 | 156 | 156 |
[scribe-am] |
1,291 | 88 | 74 |
[scribe] English text |
946 | 50 | 54 |
[scribe] voice/audio |
724 | 35 | 37 |
| Total | 18,909 | 1,071 | 1,109 |
The released training corpus is available under training_corpus/.
It is synthetic, teacher-generated, task-tagged training data, not real patient
records and not clinical validation data. The corresponding training and merge
scripts are available under training_code/.
Merge Details
The released merged model uses checkpoint 7086. The LoRA merge applied the text decoder adapter into BF16 base weights. Vision tower and multimodal projector weights remain base-model weights.
| Field | Value |
|---|---|
| Merge schema | tenaos_lora_merge_v1 |
| Adapter directory | lora_training/runs/20260703T061340Z/adapter/checkpoint-7086 |
| Merged dtype | bfloat16 |
| Language layers merged | 294 |
| Vision layers changed | 0 |
Training Charts
Running With llama.cpp
Base model:
hf download beza4588/TenaOS --local-dir ./models
llama-server \
-m ./models/gemma-4-E4B-it-BF16.gguf \
--mmproj ./models/mmproj-gemma-4-E4B-it-bf16.gguf \
--host 0.0.0.0 \
--port 8000 \
-ngl 99 \
--jinja \
--alias gemma-4
Merged LoRA model, when using the merged GGUF artifact:
llama-server \
-m ./models/tenaos-gemma-4-E4B-it-lora-F16.gguf \
--mmproj ./models/mmproj-tenaos-gemma-4-E4B-it-lora-bf16.gguf \
--host 0.0.0.0 \
--port 8000 \
-ngl 99 \
--jinja \
--alias gemma-4
In TenaOS, the Docker image bind-mounts this directory at /models. See
scripts/fetch-models.sh.
Intended Use
This model package is intended for the TenaOS local clinical AI runtime. It is not intended to autonomously diagnose, prescribe, or write directly to a medical record. TenaOS uses allow-listed tools, local WHO/MSF and CIEL knowledge bases, deterministic validation, and clinician review.
Limitations
- The adapter is trained for TenaOS workflow traces and task tags. It should be evaluated in the full TenaOS runtime rather than as a generic chat model.
- Workflow-level metrics such as form recall, report correctness, scribe extraction quality, unsupported clinical recommendation rate, citation quality, and CDS grounding should be measured in the full runtime.
- Clinical output remains draft material until reviewed by a qualified clinician.
License
The Gemma model artifacts inherit the Gemma Terms of Use. TenaOS packaging and application code are released separately under the Apache 2.0 license.
- Downloads last month
- 898
16-bit

