Skip to content

keelgate.llm.providers

Stability of each symbol (stable or provisional) is listed in the API contract. Narrative and semantics are in the integration contract.

Provider clients. This package is the only place SDK or wire-format logic lives.

Each client imports its SDK lazily, so importing this package needs no extras.

AnthropicClient

An :class:~keelgate.llm._types.LLMClient for Claude models.

client may be any anthropic.AsyncAnthropic; otherwise one is built from the environment (ANTHROPIC_API_KEY). LLMRequest.temperature is ignored: the current Messages API does not accept a sampling temperature.

GoogleClient

An :class:~keelgate.llm._types.LLMClient for Gemini models.

Gemini matches a tool result to its call by name, so the name is recovered from the assistant turn that made the call. Automatic function calling is switched off: Keelgate runs tools itself, through the gateway.

OllamaClient

An :class:~keelgate.llm._types.LLMClient for a local Ollama server.

Local models are free to run, so cost is reported as 0.0 unless a pricing table says otherwise. Ollama does not issue tool-call ids, so stable ones are generated.

OpenAIClient

An :class:~keelgate.llm._types.LLMClient for OpenAI and OpenAI-compatible servers.

VLLMClient

Bases: OpenAIClient

A vLLM (or other OpenAI-compatible) server. No API key is required by default.