You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
3.7 KiB
92 lines
3.7 KiB
# Copy to providers.yaml and edit. providers.yaml is gitignored. |
|
# |
|
# This file lists the chat models a user can pick in the web UI. It does NOT |
|
# configure embeddings — those are separate and set via environment variables. |
|
# See docs/SETUP.md. |
|
# |
|
# Every provider must speak the OpenAI chat-completions protocol. That includes |
|
# vLLM, Ollama, llama.cpp, LM Studio, OpenRouter, Berget, OpenAI, Together, |
|
# Groq, and Google Gemini's compatibility endpoint. |
|
# |
|
# Fields the application reads — anything else is ignored: |
|
# |
|
# id required. Stable identifier used in API requests. |
|
# name required. Shown in the model picker. |
|
# base_url required. Include the /v1 suffix if the provider uses one. |
|
# user_api_key required. true = the user supplies their own key in the browser. |
|
# false = the server's key is used, from server_api_key_env. |
|
# server_api_key_env optional. NAME of an environment variable holding the key. |
|
# Never put the key itself here. |
|
# supports_thinking optional, default false. Whether the model can emit reasoning. |
|
# models optional. Assigns roles; without it the app falls back to |
|
# LLM_MODEL_SMART / LLM_MODEL_FAST from .env. |
|
# role: smart -> orchestration and final answers |
|
# role: fast -> summarising tool output; a smaller model is fine |
|
|
|
providers: |
|
# ── Self-hosted, no API key ──────────────────────────────────────────────── |
|
# vLLM: fastest option on a machine with a GPU. |
|
# vllm serve Qwen/Qwen3-8B --port 8000 |
|
- id: vllm |
|
name: Local vLLM |
|
base_url: http://localhost:8000/v1 |
|
user_api_key: false |
|
supports_thinking: true |
|
models: |
|
- id: Qwen/Qwen3-8B |
|
role: smart |
|
- id: Qwen/Qwen3-4B |
|
role: fast |
|
|
|
# Ollama: easiest option, runs on CPU, slower. |
|
# ollama serve && ollama pull qwen3:8b |
|
# The /v1 suffix matters — Ollama's native API is not OpenAI-compatible, its /v1 is. |
|
- id: ollama |
|
name: Ollama |
|
base_url: http://localhost:11434/v1 |
|
user_api_key: false |
|
supports_thinking: false |
|
models: |
|
- id: qwen3:8b |
|
role: smart |
|
- id: qwen3:4b |
|
role: fast |
|
|
|
# ── Hosted, user brings their own key ────────────────────────────────────── |
|
# The key is entered in the browser, held only for the request, and never |
|
# written to the database or to logs. |
|
- id: openrouter |
|
name: OpenRouter |
|
base_url: https://openrouter.ai/api/v1 |
|
user_api_key: true |
|
supports_thinking: true |
|
|
|
- id: openai |
|
name: OpenAI |
|
base_url: https://api.openai.com/v1 |
|
user_api_key: true |
|
supports_thinking: true |
|
|
|
# Berget AI — Swedish provider, EU-hosted. Relevant where data residency matters. |
|
- id: berget |
|
name: Berget AI |
|
base_url: https://api.berget.ai/v1 |
|
user_api_key: true |
|
supports_thinking: true |
|
|
|
# Google Gemini via its OpenAI-compatibility endpoint. The trailing slash matters. |
|
- id: googlegemini |
|
name: Google Gemini |
|
base_url: https://generativelanguage.googleapis.com/v1beta/openai/ |
|
user_api_key: true |
|
supports_thinking: true |
|
|
|
# ── Hosted, paid for by the server ───────────────────────────────────────── |
|
# With user_api_key: false, every user spends your credit. Only do this behind |
|
# authentication. |
|
# - id: openai-server |
|
# name: OpenAI (server key) |
|
# base_url: https://api.openai.com/v1 |
|
# user_api_key: false |
|
# server_api_key_env: OPENAI_API_KEY |
|
# supports_thinking: true
|
|
|