πŸ€– UVR LLM Dashboard

Enter password to access

Wrong password

UVR LLM Dashboard

DGX Spark
πŸ”‘ API keys & docs: wiki.uvrlab.org/arrc:account:ai_tools

Server runs 24/7. No wake-up needed β€” requests route to vLLM directly.

🌐 Web Chat (Open WebUI)

https://ai.uvrlab.org

πŸ“‘ API Endpoints

πŸ“ Which endpoint to use: point deepseek-v4-flash at https://aispark.uvrlab.org/v1 (hosted here directly). For gemma-4-12B and Qwen3.6-27B-MTP, connect straight to https://ai.uvrlab.org/v1 β€” they live there, so you skip the relay hop for lower latency.

πŸ€– Available Models

πŸ’‘ DeepSeek-V4-Flash always reasons (high effort) β€” pass a generous max_tokens (β‰₯ 1024) or replies can come back empty. Text-only (no image input).

πŸ–₯️ Cursor IDE Setup

  1. Open Cursor Settings β†’ Models β†’ OpenAI API Key section
  2. Set Base URL to: https://aispark.uvrlab.org/v1
  3. Set API Key to your personal token
  4. Set Model name to: deepseek-v4-flash
  5. Click "Verify" to test the connection

Supports both chat and agent mode (tool calling enabled).

πŸ’» cURL Example

curl https://aispark.uvrlab.org/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-v4-flash",
    "messages": [{"role": "user", "content": "Hello!"}],
    "max_tokens": 1024,
    "stream": true
  }'

🐍 Python (OpenAI SDK)

from openai import OpenAI

client = OpenAI(
    base_url="https://aispark.uvrlab.org/v1",
    api_key="YOUR_API_KEY"
)

response = client.chat.completions.create(
    model="deepseek-v4-flash",
    messages=[{"role": "user", "content": "Hello!"}],
    max_tokens=1024,
    stream=True
)
for chunk in response:
    print(chunk.choices[0].delta.content or "", end="")

🧩 opencode config

Add to ~/.config/opencode/opencode.json. Two providers so each model uses its best endpoint (DeepSeek β†’ Spark gateway; Qwen/Gemma β†’ ai.uvrlab.org direct). Replace YOUR_API_KEY with your personal token.

{
  "provider": {
    "uvrlab-spark": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "UVR Lab β€” Spark",
      "options": {
        "baseURL": "https://aispark.uvrlab.org/v1",
        "apiKey": "YOUR_API_KEY"
      },
      "models": {
        "deepseek-v4-flash": {
          "name": "DeepSeek V4 Flash",
          "attachment": false,
          "tool_call": true,
          "limit": { "context": 1048576, "output": 131072 },
          "cost": { "input": 0, "output": 0, "cache_read": 0 }
        }
      }
    },
    "uvrlab-ai": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "UVR Lab β€” AI",
      "options": {
        "baseURL": "https://ai.uvrlab.org/v1",
        "apiKey": "YOUR_API_KEY"
      },
      "models": {
        "Qwen3.6-27B-MTP": {
          "name": "Qwen3.6 27B MTP",
          "attachment": false,
          "tool_call": true,
          "limit": { "context": 64000, "output": 64000 },
          "cost": { "input": 0, "output": 0, "cache_read": 0 }
        },
        "gemma-4-12B": {
          "name": "Gemma 4 12B",
          "attachment": false,
          "tool_call": false,
          "limit": { "context": 256000, "output": 256000 },
          "cost": { "input": 0, "output": 0, "cache_read": 0 }
        }
      }
    }
  }
}
deepseek-v4-flash
DeepSeek-V4-Flash 284B/13B MoE Β· TP=2 (2Γ— GB10) Β· ~40 tok/s Β· πŸ”§ tools Β· πŸ’­ reasoning Β· MTP Β· 1M ctx βœ…
Qwen3.6-27B-MTP
Qwen3.6 27B MTP Β· reasoning Β· speculative decode Β· via ai.uvrlab.org
gemma-4-12B
Gemma 4 12B Β· fast Β· via ai.uvrlab.org
Select a model and start chatting. Supports image (πŸ“·) and audio (🎀) uploads for vision/audio models.