mBedLM Docs Back to site
Docs/Getting Started/Quickstart

Quickstart

Curated startup code pulled from the main README plus OCR, RL, CLI, browser-use, and JS SDK READMEs.

Last updated: 2026-06-23Estimated time: 15 minutes

Prerequisites

Main README Bootstraps

The root README contains the canonical startup paths for the system. These are the core launch snippets.

Local runtime

cd C:\Users\renpa\mBedLM-core
.\.venv\Scripts\Activate.ps1

# Chat UI backend
cd opus_scripts\chat_ui
uvicorn run_query:app --host 0.0.0.0 --port 8025 --timeout-keep-alive 300

# Core API surfaces used by integrations
uvicorn mbedlm.api_server.main:app --host 0.0.0.0 --port 8000
uvicorn enhanced_opusiq.chat_loop_server:app --host 0.0.0.0 --port 8001
uvicorn email.backend.src.main:app --host 0.0.0.0 --port 8002

Docker runtime

cd C:\Users\renpa\mBedLM-core
docker compose -f docker/docker-compose.yml build chat_loop_service
docker compose -f docker/docker-compose.yml up -d chat_loop_service nginx redis

Quick verification

python -m pytest tests/test_adapter_routing.py tests/test_adapter_event_publication.py tests/test_sales_agent.py -q --maxfail=1

Web Dashboard & Agent Execution Sandbox

This is the front door for the integrated dashboard flow in the root README.

# Start the backend server
.\start_backend.ps1

# Or manually
$env:PYTHONPATH="c:\Users\renpa\mBedLM-core"
python backend/api/auth_web_app.py

Access the dashboard at http://127.0.0.1:8080.

Specialist Backends

The main README recommends starting the specialist backends before the main API when you need routed finance/marketing inference.

cd C:\Users\renpa\mBedLM-core
.\.venv\Scripts\Activate.ps1

.\scripts\start_qwen_finance_backend.ps1
.\scripts\start_qwen_marketing_backend.ps1

# Main API
python -m uvicorn memory.api.app:app --host 127.0.0.1 --port 8013

# Health checks
Invoke-RestMethod http://127.0.0.1:8521/health
Invoke-RestMethod http://127.0.0.1:8522/health

# Routed inference example
$key='YOUR_API_KEY'
$headers=@{ Authorization = "Bearer $key"; 'Content-Type'='application/json' }
$body=@{ domain='finance'; prompt='Evaluate debt risk and cash runway for a SaaS company.'; max_length=200 } | ConvertTo-Json -Compress
Invoke-RestMethod -Uri 'http://127.0.0.1:8013/api/ai/generate/text' -Method POST -Headers $headers -Body $body

Local-Only Profile

Use this when all inference runs on your own internal endpoints.

# Local-only routing strategy
MBEDLM_GENERAL_LLM_STRATEGY=qwen

# Canonical model IDs
MBEDLM_MODEL_DEEPSEEK_V4_PRO_ID=deepseek-ai/DeepSeek-V4-Pro
MBEDLM_MODEL_QWEN_MARKETING_ID=marketeam/Qwen-Marketing
MBEDLM_MODEL_QWEN_FINANCE_ID=DragonLLM/Qwen-Open-Finance-R-8B
MBEDLM_MODEL_QWEN36_27B_ID=Qwen/Qwen3.6-27B
MBEDLM_MODEL_QWEN35_9B_LLAMACPP_ID=Qwen/Qwen3.5-9B
MBEDLM_MODEL_QWEN25_7B_ID=Qwen/Qwen2.5-7B

# Local endpoints per model backend
MBEDLM_MODEL_DEEPSEEK_V4_PRO_ENDPOINT=http://127.0.0.1:8520
MBEDLM_MODEL_QWEN_FINANCE_ENDPOINT=http://127.0.0.1:8521
MBEDLM_MODEL_QWEN_MARKETING_ENDPOINT=http://127.0.0.1:8522
MBEDLM_MODEL_QWEN36_27B_ENDPOINT=http://127.0.0.1:18027
MBEDLM_MODEL_QWEN35_9B_LLAMACPP_ENDPOINT=http://127.0.0.1:18026
MBEDLM_MODEL_QWEN25_7B_ENDPOINT=http://127.0.0.1:18028
Invoke-RestMethod http://127.0.0.1:18026/health
Invoke-RestMethod http://127.0.0.1:18027/health
Invoke-RestMethod http://127.0.0.1:18028/health
Invoke-RestMethod http://127.0.0.1:8521/health
Invoke-RestMethod http://127.0.0.1:8522/health
Invoke-RestMethod http://127.0.0.1:8520/health

OCR Quickstart

The OCR README starts with a Docker-and-Make flow for minimal, ML, or full profiles.

# Copy envs and set the essentials
cp .env.example .env

# Minimal (ColPali only; works on CPU or GPU)
make up-minimal

# ML (adds DeepSeek OCR; needs NVIDIA GPU)
make up-ml

# Full (adds DuckDB analytics, Redis caching, and deduplication)
make up-full

# Or use Compose directly
docker compose --profile minimal|ml|full up -d

Reinforcement Learning Quickstart

The RL README shows both package installation and Docker startup for the production RL system.

# Clone repository
git clone https://github.com/your-org/rl-system.git
cd rl-system/production

# Create virtual environment
python -m venv venv
.\venv\Scripts\activate  # Windows

# Install package
pip install -e ".[dev,distributed,monitoring]"

# Build and start services
docker-compose up -d

# Train DQN agent
rl-system --mode train --agent dqn --config configs/cartpole.yaml

# Run inference with trained model
rl-system --mode infer --agent dqn --run-id 20250628_123456

CLI Quickstart

The CLI README documents the canonical Python entrypoint plus the SDK-oriented command surface.

# From the workspace root
python -m cli.main [OPTIONS] COMMAND [ARGS]...

# Show top-level help
python -m cli.main --help

# Machine-readable output
python -m cli.main --json-output system status

# SDK-oriented commands
python -m cli.main sdk status
python -m cli.main sdk prompt --task "summarize release blockers"
python -m cli.main sdk workflow --prompt "run release validation across agents"
python -m cli.main sdk stack-run --prompt "run end-to-end release automation" --mode workflow

# Dedicated RL runner
python rl_cli.py "Train a model on GSM8k for math reasoning"
python rl_cli.py --interactive
python rl_cli.py --list-environments

JavaScript SDK Quickstart

The JavaScript/TypeScript SDK README gives a direct package-first path for embedding mBedLM in Node-based tools.

npm install @mbedlm/sdk

import { MbedlmClient, getExecutionStatus } from "@mbedlm/sdk";

const client = new MbedlmClient({
  coreDir: process.cwd(),
  timeoutMs: 15000,
});

const result = await client.run({ task: "summarize release changes" });

if (result.executionId) {
  const status = await getExecutionStatus(result.executionId, {
    coreDir: process.cwd(),
  });
  console.log(status?.status);
}

console.log(result.output);

JavaScript CLI Wrapper

npm install -g mbedlm

mbedlm --help
mbedlm run "summarize deployment blockers"
mbedlm prompt "one-off task from CLI"
mbedlm workflow plan "draft a multi-agent release workflow"
mbedlm workflow execute "run post-release verification workflow"
mbedlm stack status
mbedlm stack run "execute full release checklist" --mode=workflow

Browser-Use Quickstart

The browser-use README provides both human-first setup and template-based startup paths.

# Create environment with uv (Python >= 3.11)
uv init

# Install Browser-Use package
uv add browser-use
uv sync

# Get your API key and add it to .env
BROWSER_USE_API_KEY=your-key

# Install Chromium browser
uvx browser-use install

# Run your first agent
from browser_use import Agent, Browser, ChatBrowserUse
import asyncio

async def example():
    browser = Browser(
        # use_cloud=True,  # Uncomment to use a stealth browser on Browser Use Cloud
    )

    llm = ChatBrowserUse()

    agent = Agent(
        task="Find the number of stars of the browser-use repo",
        llm=llm,
        browser=browser,
    )

    history = await agent.run()
    return history

if __name__ == "__main__":
    history = asyncio.run(example())

# Template quickstart
uvx browser-use init --template default
uvx browser-use init --template default --output my_agent.py

What This Page Covers