# Model Provider Setup Didactopus now supports three main model-provider paths: - `ollama` - easiest local setup for most single users - `openai_compatible` - simplest hosted setup when you want a common online API - `rolemesh` - more flexible routing for technically oriented users, labs, and libraries ## Recommended Order For ease of adoption, use these in this order: 1. `ollama` 2. `openai_compatible` 3. `rolemesh` ## Option 1: Ollama This is the easiest local path for most users. Use: - `configs/config.ollama.example.yaml` Minimal setup: 1. Install Ollama. 2. Pull a model you want to use. 3. Start or verify the local Ollama service. 4. Point Didactopus at `configs/config.ollama.example.yaml`. Example commands: ```bash ollama pull llama3.2:3b python -m didactopus.learner_session_demo --config configs/config.ollama.example.yaml python -m didactopus.learner_session_demo --config configs/config.ollama.example.yaml --language es ``` If you want a different local model, change: - `model_provider.ollama.default_model` - `model_provider.ollama.role_to_model` Use one model for every role at first. Split roles only if you have a reason to do so. ## Option 2: OpenAI-compatible hosted service This is the easiest hosted path. Use: - `configs/config.openai-compatible.example.yaml` This works for: - OpenAI itself - any hosted service that accepts OpenAI-style `POST /v1/chat/completions` Typical setup: 1. Create a local copy of `configs/config.openai-compatible.example.yaml`. 2. Set `base_url`, `api_key`, and `default_model`. 3. Keep one model for all roles to start with. Example: ```bash python -m didactopus.learner_session_demo --config configs/config.openai-compatible.example.yaml python -m didactopus.learner_session_demo --config configs/config.openai-compatible.example.yaml --language fr ``` ## Option 3: RoleMesh Gateway RoleMesh is still useful, but it is no longer the easiest path to recommend to most users. Choose it when you need: - role-specific routing - multiple local or remote backends - heterogeneous compute placement - a shared service for a library, lab, or multi-user setup See: - `docs/rolemesh-integration.md` ## Which commands use the provider? Any Didactopus path that calls the model provider can use these configurations, including: - `python -m didactopus.learner_session_demo` - `python -m didactopus.rolemesh_demo` - `python -m didactopus.model_bench` - `python -m didactopus.ocw_rolemesh_transcript_demo` The transcript demo name still references RoleMesh because that was the original live-LLM path, but the general learner-session and benchmark flows are the easier places to start. ## Practical Advice - Start with one model for all roles. - Prefer smaller fast models over bigger slow ones at first. - Use the benchmark harness before trusting a model for learner-facing guidance. - Use RoleMesh only when you actually need routing or multi-model orchestration.