UberLLM
UberLLM is a pay-as-you-go, OpenAI-compatible API that serves chat models such as GPT, Claude, Gemini, DeepSeek, Qwen and Kimi through one key. PrivateGPT can use its Chat Completions endpoint at https://api.uberllm.dev/v1 through the existing OpenAI-compatible integration.
UberLLM has no embeddings endpoint, so this setup sends chat requests to UberLLM and keeps embeddings on a separate local Ollama server. It does not require a new PrivateGPT backend.
Setup
Create a key and choose a chat model
- Sign up at uberllm.dev, add prepaid credit and create an API key.
- Set
OPENAI_API_KEYin your environment or.envfile. Keep the secret out of committed files. - List the chat models:
Model IDs use the provider/model form, for example deepseek/deepseek-v4-flash. Set UBERLLM_MODEL to the exact ID of a chat model from the response:
Start a local embeddings server
Start Ollama and pull the embeddings model:
These examples use Ollama’s OpenAI-compatible API at http://localhost:11434/v1, with the separate placeholder key ollama.
Run PrivateGPT
Package install
Docker
uv (local)
Follow the corresponding installation guide first, including PrivateGPT’s other required services.
Model limits and capabilities
GET /v1/modelslists chat models only and returnscontext_lengthandmax_output_tokensfor each one, so model discovery sets the context window and output limit.- Use the model ID returned by
/v1/modelsunchanged, including itsprovider/prefix. - Streaming is supported. Tools, reasoning and image input depend on the model;
/v1/modelsreportssupports_toolsandsupports_visionfor each one. - The examples use local embeddings. Retrieved document excerpts included in a chat prompt are still sent to the hosted API.

