Documentation
¶
Overview ¶
Package modelrepo defines the provider-facing contracts for LLM backends: the Provider interface (capabilities + client factories), the per-capability client interfaces (LLMPromptExecClient, LLMChatClient, LLMEmbedClient, LLMStreamClient), and the shared request/response types (Message, ChatResult, StreamParcel, Tool, ChatArgument).
Concrete providers live in subpackages (openai, gemini, vertex, vllm, ollama, local). Higher-level code such as llmrepo and runtimestate depends only on the interfaces declared here; provider subpackages are imported for their side effects to register catalogs with runtimestate.
Index ¶
- Variables
- func CanonicalBackendType(backendType string) string
- func ClampMaxOutputTokens(requested, ceiling int) (int, bool)
- func ClampMaxOutputTokensPtr(tokens *int, ceiling int) *int
- func IsLocalBackendType(backendType string) bool
- func RegisterCatalogProvider(backendType string, constructor CatalogProviderConstructor)
- func RegisterShutdownHook(fn func() error)
- func RequestedContextLengthFromContext(ctx context.Context) int
- func SetupOllamaLocalInstance(ctx context.Context, tag string) (string, testcontainers.Container, func(), error)
- func SetupVLLMLocalInstance(ctx context.Context, model string, tag string, toolParser string) (string, testcontainers.Container, func(), error)
- func Shutdown() error
- func WithRequestedContextLength(ctx context.Context, contextLength int) context.Context
- type BackendSpec
- type CapabilityConfig
- type CatalogFactory
- type CatalogOption
- type CatalogOptions
- type CatalogProvider
- type CatalogProviderConstructor
- type ChatArgument
- type ChatConfig
- type ChatResult
- type DiskSnapshotStore
- type FunctionTool
- type LLMChatClient
- type LLMEmbedClient
- type LLMPromptExecClient
- type LLMStreamClient
- type MemSnapshotStore
- type Message
- type MockChatClient
- type MockEmbedClient
- type MockPromptClient
- type MockProvider
- func (m *MockProvider) CanChat() bool
- func (m *MockProvider) CanEmbed() bool
- func (m *MockProvider) CanPrompt() bool
- func (m *MockProvider) CanStream() bool
- func (m *MockProvider) CanThink() bool
- func (m *MockProvider) GetBackendIDs() []string
- func (m *MockProvider) GetChatConnection(ctx context.Context, backendID string) (LLMChatClient, error)
- func (m *MockProvider) GetContextLength() int
- func (m *MockProvider) GetEmbedConnection(ctx context.Context, backendID string) (LLMEmbedClient, error)
- func (m *MockProvider) GetID() string
- func (m *MockProvider) GetMaxOutputTokens() int
- func (m *MockProvider) GetPromptConnection(ctx context.Context, backendID string) (LLMPromptExecClient, error)
- func (m *MockProvider) GetStreamConnection(ctx context.Context, backendID string) (LLMStreamClient, error)
- func (m *MockProvider) GetType() string
- func (m *MockProvider) ModelName() string
- type MockStreamClient
- type ObservedModel
- type Provider
- type SnapshotStore
- type StreamParcel
- type Tool
- type ToolCall
- type WarmCache
- type WarmEntry
- type WarmSession
- type WithShift
- type WithThink
Constants ¶
This section is empty.
Variables ¶
var ( SnapshotMaxBytes = int64(4) << 30 // 4 GiB total on-disk snapshot budget SnapshotTTL = 24 * time.Hour SnapshotTimeout = 10 * time.Second // SnapshotMaxBlobBytes skips capturing any single snapshot larger than this // (0 = no per-snapshot limit). It bounds the latency and bandwidth of one // capture: a very large resident KV state can cost more to serialize, ship // off the daemon, and write than a cold prefill would — the low-bandwidth // case the runtime targets. When a blob is skipped the next open is simply // cold, exactly as if snapshot survival were off for that key. SnapshotMaxBlobBytes = int64(0) )
Tunables for the on-disk snapshot store (package vars so tests and deployments can override). SnapshotMaxBytes bounds the total on-disk snapshot budget across all keys; the store evicts least-recently-used snapshots to stay under it. SnapshotTTL drops snapshots not read within the window. SnapshotTimeout bounds a single capture/restore round-trip to the daemon.
var ( WarmCacheMaxResident = 1 WarmCacheIdleTTL = 5 * time.Minute )
Tunables for the warm session cache (package vars so tests can override). They bound how many local backend sessions stay resident at once: each cached session keeps a handle to modeld's active slot, so local modeld uses a default cap of one resident slot. An unbounded cache prevents switching and can keep stale handles alive across modeld owner changes.
var ErrNotSupported = errors.New("operation not supported")
ErrNotSupported is returned when an operation is not supported.
var ErrRefused = errors.New("model refused the request")
ErrRefused is returned when the model refuses to generate a response (stop_reason == "refusal"), typically due to a safety filter.
Functions ¶
func CanonicalBackendType ¶ added in v0.32.0
CanonicalBackendType maps compatibility backend keywords to the implementation type used by the runtime. "local" canonicalizes to the "llama" provider.
func ClampMaxOutputTokens ¶ added in v0.29.0
ClampMaxOutputTokens returns the effective output-token request after applying a provider ceiling. A ceiling of 0 means unknown, so no clamp is applied.
func ClampMaxOutputTokensPtr ¶ added in v0.29.0
ClampMaxOutputTokensPtr copies tokens and applies ClampMaxOutputTokens. Returning a fresh pointer avoids mutating ChatConfig values captured by args.
func IsLocalBackendType ¶ added in v0.32.6
IsLocalBackendType reports whether backendType denotes the local modeld provider family (llama / openvino / local / modeld). modeld is a single daemon that autodetects its inference engine from the hardware, so these are not independent routes like ollama/openai — they are one logical local provider whose live engine the runtime observes. Resolution treats any local alias as a request for "whatever modeld is currently serving", which is why a user's llama-vs-openvino pick does not have to match the autodetected engine.
func RegisterCatalogProvider ¶
func RegisterCatalogProvider(backendType string, constructor CatalogProviderConstructor)
RegisterCatalogProvider registers a backend catalog implementation by type. Vendor packages call this from init() to avoid import cycles from modelrepo -> vendor packages.
func RegisterShutdownHook ¶ added in v0.32.0
func RegisterShutdownHook(fn func() error)
RegisterShutdownHook registers fn to be run by Shutdown. It is intended to be called from a backend package's init(). A nil fn is ignored.
func RequestedContextLengthFromContext ¶ added in v0.33.0
RequestedContextLengthFromContext returns the positive context length attached by WithRequestedContextLength, or 0 when none was requested.
func SetupVLLMLocalInstance ¶
func SetupVLLMLocalInstance(ctx context.Context, model string, tag string, toolParser string) (string, testcontainers.Container, func(), error)
SetupVLLMLocalInstance creates a vLLM container for testing.
func Shutdown ¶ added in v0.32.0
func Shutdown() error
Shutdown runs every registered shutdown hook and returns the first error, if any. All hooks run even if an earlier one fails. It is safe to call when no hooks are registered.
func WithRequestedContextLength ¶ added in v0.33.0
WithRequestedContextLength attaches a per-request context window to ctx. Providers that can control their runtime context may honor it when building a client; callers still pass the same value through llmrepo.Request so the resolver can reject known-insufficient models before client construction.
Types ¶
type BackendSpec ¶
BackendSpec is the runtime-independent input needed to talk to a model catalog. It deliberately excludes DB/KV concerns; callers resolve those before construction.
type CapabilityConfig ¶
type CatalogFactory ¶
type CatalogFactory interface {
NewCatalogProvider(spec BackendSpec, opts ...CatalogOption) (CatalogProvider, error)
}
CatalogFactory constructs CatalogProvider implementations from backend specs.
func DefaultCatalogFactory ¶
func DefaultCatalogFactory() CatalogFactory
DefaultCatalogFactory returns the registry-backed factory used by runtimestate.
type CatalogOption ¶
type CatalogOption func(*CatalogOptions)
CatalogOption mutates CatalogOptions before a provider is constructed.
func WithCatalogHTTPClient ¶
func WithCatalogHTTPClient(client *http.Client) CatalogOption
WithCatalogHTTPClient overrides the HTTP client used for observation and Provider construction.
func WithCatalogTracker ¶
func WithCatalogTracker(tracker libtracker.ActivityTracker) CatalogOption
WithCatalogTracker injects the tracker used by ProviderFor when building execution Providers.
type CatalogOptions ¶
type CatalogOptions struct {
HTTPClient *http.Client
Tracker libtracker.ActivityTracker
}
CatalogOptions carries optional construction dependencies used by vendor implementations.
type CatalogProvider ¶
type CatalogProvider interface {
Type() string
ListModels(ctx context.Context) ([]ObservedModel, error)
ProviderFor(model ObservedModel) Provider
}
CatalogProvider observes the models exposed by one backend instance and can turn an observed model into the existing execution Provider abstraction.
func NewCatalogProvider ¶
func NewCatalogProvider(spec BackendSpec, opts ...CatalogOption) (CatalogProvider, error)
NewCatalogProvider constructs a registry-backed catalog provider.
type CatalogProviderConstructor ¶
type CatalogProviderConstructor func(spec BackendSpec, opts CatalogOptions) (CatalogProvider, error)
CatalogProviderConstructor is the registry tools implemented by vendor packages.
type ChatArgument ¶
type ChatArgument interface {
Apply(config *ChatConfig)
}
func WithMaxTokens ¶
func WithMaxTokens(tokens int) ChatArgument
func WithSeed ¶
func WithSeed(seed int) ChatArgument
func WithTemperature ¶
func WithTemperature(temp float64) ChatArgument
func WithTool ¶
func WithTool(tool Tool) ChatArgument
func WithTools ¶
func WithTools(tools ...Tool) ChatArgument
func WithTopP ¶
func WithTopP(p float64) ChatArgument
type ChatConfig ¶
type ChatConfig struct {
Temperature *float64 `json:"temperature,omitempty"`
MaxTokens *int `json:"max_tokens,omitempty"`
TopP *float64 `json:"top_p,omitempty"`
Seed *int `json:"seed,omitempty"`
Tools []Tool `json:"tools,omitempty"`
// Think controls reasoning-model behaviour. nil = use provider default.
// Normalized values are auto, off, minimal, low, medium, high, and xhigh.
Think *string `json:"think,omitempty"`
// Shift instructs the provider to slide the context window on overflow
// instead of returning a token-limit error.
Shift *bool `json:"shift,omitempty"`
// Truncate instructs the provider to truncate history on overflow.
Truncate *bool `json:"truncate,omitempty"`
}
type ChatResult ¶
type DiskSnapshotStore ¶ added in v0.33.0
type DiskSnapshotStore struct {
// contains filtered or unexported fields
}
DiskSnapshotStore is a durable SnapshotStore: one file per key under a directory, surviving a full runtime restart. It bounds total on-disk bytes (LRU eviction by access time) and drops snapshots idle past a TTL. The directory is resolved lazily per operation via dirFn, so a store constructed at package-init time picks up a data root configured later (see modeldconn.SnapshotDir).
The file records the exact key alongside the blob; a sha256 filename collision or a reused directory therefore yields a clean miss instead of restoring the wrong session's KV. Layered atop the manifest-compatibility gate in Session.Restore, a mismatched or corrupt snapshot can only ever cause a safe cold-prefill fallback.
func NewDiskSnapshotStore ¶ added in v0.33.0
func NewDiskSnapshotStore(dirFn func() string, maxBytes int64, ttl time.Duration) *DiskSnapshotStore
NewDiskSnapshotStore returns a disk-backed store rooted at dirFn(). maxBytes<=0 disables the size cap; ttl<=0 disables idle expiry.
func (*DiskSnapshotStore) Delete ¶ added in v0.33.0
func (s *DiskSnapshotStore) Delete(key string)
func (*DiskSnapshotStore) Load ¶ added in v0.33.0
func (s *DiskSnapshotStore) Load(key string) ([]byte, bool)
func (*DiskSnapshotStore) Save ¶ added in v0.33.0
func (s *DiskSnapshotStore) Save(key string, blob []byte)
type FunctionTool ¶
type LLMChatClient ¶
type LLMChatClient interface {
Chat(ctx context.Context, messages []Message, args ...ChatArgument) (ChatResult, error)
}
Client interfaces
type LLMEmbedClient ¶
type LLMPromptExecClient ¶
type LLMStreamClient ¶
type LLMStreamClient interface {
Stream(ctx context.Context, messages []Message, args ...ChatArgument) (<-chan *StreamParcel, error)
}
type MemSnapshotStore ¶ added in v0.33.0
type MemSnapshotStore struct {
// contains filtered or unexported fields
}
MemSnapshotStore is an in-process SnapshotStore. It survives a modeld daemon restart (the runtime process outlives it) but not a runtime restart; use it as a test double or when on-disk durability is disabled.
func NewMemSnapshotStore ¶ added in v0.33.0
func NewMemSnapshotStore() *MemSnapshotStore
NewMemSnapshotStore returns an empty in-process snapshot store.
func (*MemSnapshotStore) Delete ¶ added in v0.33.0
func (s *MemSnapshotStore) Delete(key string)
func (*MemSnapshotStore) Load ¶ added in v0.33.0
func (s *MemSnapshotStore) Load(key string) ([]byte, bool)
func (*MemSnapshotStore) Save ¶ added in v0.33.0
func (s *MemSnapshotStore) Save(key string, blob []byte)
type Message ¶
type Message struct {
Role string `json:"role"`
Content string `json:"content"`
// Thinking contains the model's internal reasoning trace (thinking tokens).
// Only populated when thinking is enabled. Never sent back to the model.
Thinking string `json:"thinking,omitempty"`
// For tool calling (OpenAI / vLLM compatible).
ToolCalls []ToolCall `json:"tool_calls,omitempty"`
ToolCallID string `json:"tool_call_id,omitempty"`
}
Message now supports OpenAI-style tool calling: - assistant messages can carry tool_calls - tool messages can carry tool_call_id
type MockChatClient ¶
type MockChatClient struct{}
MockChatClient is a mock implementation of LLMChatClient for testing.
func (*MockChatClient) Chat ¶
func (m *MockChatClient) Chat(ctx context.Context, messages []Message, opts ...ChatArgument) (ChatResult, error)
Chat returns a mock response.
func (*MockChatClient) Close ¶
func (m *MockChatClient) Close() error
Close is a no-op for the mock client.
type MockEmbedClient ¶
type MockEmbedClient struct{}
MockEmbedClient is a mock implementation of LLMEmbedClient for testing.
func (*MockEmbedClient) Close ¶
func (m *MockEmbedClient) Close() error
Close is a no-op for the mock client.
type MockPromptClient ¶
type MockPromptClient struct{}
MockPromptClient is a mock implementation of LLMPromptExecClient for testing.
func (*MockPromptClient) Close ¶
func (m *MockPromptClient) Close() error
Close is a no-op for the mock client.
type MockProvider ¶
type MockProvider struct {
ID string
Name string
ContextLength int
MaxOutputTokens int
CanChatFlag bool
CanEmbedFlag bool
CanStreamFlag bool
CanPromptFlag bool
Backends []string
}
MockProvider is a mock implementation of the Provider interface for testing.
func (*MockProvider) CanChat ¶
func (m *MockProvider) CanChat() bool
CanChat returns whether the mock provider can chat.
func (*MockProvider) CanEmbed ¶
func (m *MockProvider) CanEmbed() bool
CanEmbed returns whether the mock provider can embed.
func (*MockProvider) CanPrompt ¶
func (m *MockProvider) CanPrompt() bool
CanPrompt returns whether the mock provider can prompt.
func (*MockProvider) CanStream ¶
func (m *MockProvider) CanStream() bool
CanStream returns whether the mock provider can stream.
func (*MockProvider) CanThink ¶
func (m *MockProvider) CanThink() bool
CanThink returns whether the mock provider can think.
func (*MockProvider) GetBackendIDs ¶
func (m *MockProvider) GetBackendIDs() []string
GetBackendIDs returns the backend IDs for the mock provider.
func (*MockProvider) GetChatConnection ¶
func (m *MockProvider) GetChatConnection(ctx context.Context, backendID string) (LLMChatClient, error)
GetChatConnection returns a mock chat client.
func (*MockProvider) GetContextLength ¶
func (m *MockProvider) GetContextLength() int
GetContextLength returns the context length for the mock provider.
func (*MockProvider) GetEmbedConnection ¶
func (m *MockProvider) GetEmbedConnection(ctx context.Context, backendID string) (LLMEmbedClient, error)
GetEmbedConnection returns a mock embed client.
func (*MockProvider) GetID ¶
func (m *MockProvider) GetID() string
GetID returns the ID for the mock provider.
func (*MockProvider) GetMaxOutputTokens ¶ added in v0.29.0
func (m *MockProvider) GetMaxOutputTokens() int
GetMaxOutputTokens returns the max output tokens ceiling for the mock provider.
func (*MockProvider) GetPromptConnection ¶
func (m *MockProvider) GetPromptConnection(ctx context.Context, backendID string) (LLMPromptExecClient, error)
GetPromptConnection returns a mock prompt client.
func (*MockProvider) GetStreamConnection ¶
func (m *MockProvider) GetStreamConnection(ctx context.Context, backendID string) (LLMStreamClient, error)
GetStreamConnection returns a mock stream client.
func (*MockProvider) GetType ¶
func (m *MockProvider) GetType() string
GetType returns the provider type for the mock provider.
func (*MockProvider) ModelName ¶
func (m *MockProvider) ModelName() string
ModelName returns the model name for the mock provider.
type MockStreamClient ¶
type MockStreamClient struct{}
MockStreamClient is a mock implementation of LLMStreamClient for testing.
func (*MockStreamClient) Close ¶
func (m *MockStreamClient) Close() error
Close is a no-op for the mock client.
func (*MockStreamClient) Stream ¶
func (m *MockStreamClient) Stream(ctx context.Context, messages []Message, args ...ChatArgument) (<-chan *StreamParcel, error)
Stream returns a channel with mock stream parcels.
type ObservedModel ¶
type ObservedModel struct {
Name string
ContextLength int
ModifiedAt time.Time
Size int64
Digest string
CapabilityConfig
Meta map[string]string
}
ObservedModel is the normalized result of listing models from a backend. Name is the provider-facing model identifier used for selection and execution.
type Provider ¶
type Provider interface {
GetBackendIDs() []string
ModelName() string
GetID() string
GetType() string
GetContextLength() int
// GetMaxOutputTokens returns the provider's hard ceiling on output tokens
// (maxOutputTokens / max_tokens / max_completion_tokens in the wire format).
// Returns 0 when the ceiling is unknown or effectively unlimited.
GetMaxOutputTokens() int
CanChat() bool
CanEmbed() bool
CanStream() bool
CanPrompt() bool
CanThink() bool
GetChatConnection(ctx context.Context, backendID string) (LLMChatClient, error)
GetPromptConnection(ctx context.Context, backendID string) (LLMPromptExecClient, error)
GetEmbedConnection(ctx context.Context, backendID string) (LLMEmbedClient, error)
GetStreamConnection(ctx context.Context, backendID string) (LLMStreamClient, error)
}
type SnapshotStore ¶ added in v0.33.0
type SnapshotStore interface {
// Save persists blob under key, replacing any previous blob for that key.
Save(key string, blob []byte)
// Load returns the blob previously saved under key, or ok=false on a miss.
Load(key string) (blob []byte, ok bool)
// Delete removes any blob stored under key. It is a no-op on a miss.
Delete(key string)
}
SnapshotStore persists opaque session-snapshot blobs keyed by a warm-cache key. It is a best-effort durability layer for warm KV: a Save that never lands, or a Load that misses, only costs a cold prefill on the next open — it never corrupts a session. Implementations must be safe for concurrent use.
type StreamParcel ¶
type StreamParcel struct {
Data string
// Thinking carries a streamed reasoning/thinking delta separate from the
// visible output text. Like Message.Thinking, it is provider-facing output
// and must never be sent back as conversation history.
Thinking string
// ToolCalls carries final structured tool-call output for providers that can
// assemble tool calls from a stream. It is normally emitted on a terminal
// parcel, not token-by-token.
ToolCalls []ToolCall
Error error
}
type Tool ¶
type Tool struct {
Type string `json:"type"`
Function *FunctionTool `json:"function,omitempty"`
}
type ToolCall ¶
type ToolCall struct {
ID string `json:"id,omitempty"`
Type string `json:"type"` // only "function" for now
Function struct {
Name string `json:"name"`
Arguments string `json:"arguments"`
} `json:"function"`
// ProviderMeta carries opaque provider-specific data that must be
// round-tripped back on the next turn (e.g. Gemini thought_signature).
ProviderMeta map[string]string `json:"provider_meta,omitempty"`
}
type WarmCache ¶ added in v0.32.2
type WarmCache[S WarmSession] struct { // contains filtered or unexported fields }
WarmCache is a bounded, idle-reaped cache of warm backend sessions keyed by a model+config identity. It evicts by idle TTL and a max-resident cap (LRU), never evicting a session that is mid-turn, and closes evicted handles so the modeld slot can be switched or unloaded. Construct with NewWarmCache, or NewWarmCacheWithSnapshots to make evicted warm KV survive the swap.
func NewWarmCache ¶ added in v0.32.2
func NewWarmCache[S WarmSession]() *WarmCache[S]
NewWarmCache returns an empty cache with no snapshot survival.
func NewWarmCacheWithSnapshots ¶ added in v0.33.0
func NewWarmCacheWithSnapshots[S WarmSession]( store SnapshotStore, capture func(context.Context, S) ([]byte, error), restore func(context.Context, S, []byte) error, ) *WarmCache[S]
NewWarmCacheWithSnapshots returns a cache that captures an evicted session's snapshot to store and restores it into the reopened session on the next acquire. capture and restore bridge the backend session's Snapshot/Restore to opaque blobs; store persists them by cache key. All three must be non-nil.
func (*WarmCache[S]) Acquire ¶ added in v0.32.2
Acquire returns the warm entry for key, opening one via open on a miss. The caller must Turn.Lock() the returned entry for the duration of a turn.
On a miss it first evicts (and closes) enough idle/over-cap sessions to leave room for the one about to open — BEFORE calling open — so a single-slot backend (modeld holds exactly one active model) frees the slot before the new session claims it. Opening first and trimming after would make the new open race a still-resident handle and fail with "slot busy". A post-admit reap stays as a backstop for entries that were mid-turn during the pre-open pass.
func (*WarmCache[S]) CaptureResident ¶ added in v0.33.0
func (c *WarmCache[S]) CaptureResident()
CaptureResident snapshots every currently-resident session to the store without closing it. It is the graceful-shutdown/exit hook: a one-shot CLI process (and a long-running server on restart) never evicts a still-in-use model, so eviction-time capture alone would never persist the hot session — this flushes it so the next process restores warm. Mid-turn sessions are skipped (their KV is being mutated); their state is captured on a later exit or eviction. It is a no-op when snapshot survival is not configured.
func (*WarmCache[S]) Clear ¶ added in v0.32.2
func (c *WarmCache[S]) Clear()
Clear evicts and closes every session (test cleanup / shutdown).
type WarmEntry ¶ added in v0.32.2
type WarmEntry[S WarmSession] struct { Sess S Turn sync.Mutex // contains filtered or unexported fields }
WarmEntry is one resident session kept warm across turns. Turn serializes a whole EnsurePrefix -> PrefillSuffix -> Decode sequence so concurrent requests on the same session do not corrupt its resident KV. Hold Turn for the duration of a turn; the cache will not evict an entry whose Turn is held.
type WarmSession ¶ added in v0.32.2
type WarmSession interface{ Close() error }
WarmSession is the minimal contract the cache needs: closing a session releases the cached handle and lets modeld switch or unload the active slot.
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
Package anthropic is a direct (non-Vertex) provider for the Anthropic API (api.anthropic.com), which speaks the Messages API.
|
Package anthropic is a direct (non-Vertex) provider for the Anthropic API (api.anthropic.com), which speaks the Messages API. |
|
Package bedrock is a provider for AWS Bedrock via the unified Converse API.
|
Package bedrock is a provider for AWS Bedrock via the unified Converse API. |
|
codec
|
|
|
chatcompletions
Package chatcompletions is a transport-agnostic codec for the OpenAI Chat Completions wire format (`/chat/completions`-style request/response and SSE streaming).
|
Package chatcompletions is a transport-agnostic codec for the OpenAI Chat Completions wire format (`/chat/completions`-style request/response and SSE streaming). |
|
messages
Package messages is a transport-agnostic codec for Anthropic's Messages API wire format (request, content-block response, and named-SSE-event streaming).
|
Package messages is a transport-agnostic codec for Anthropic's Messages API wire format (request, content-block response, and named-SSE-event streaming). |
|
Package gemini implements the modelrepo.Provider contract against Google's Gemini Generative Language API.
|
Package gemini implements the modelrepo.Provider contract against Google's Gemini Generative Language API. |
|
Package llama is the graduated local coding-node runtime: a persistent, workspace-scoped inference session that keeps a stable prefix's KV hot and re-prefills only the changed suffix (the live warm-reuse hot path), distinct from the toy fixed-constant `local` provider.
|
Package llama is the graduated local coding-node runtime: a persistent, workspace-scoped inference session that keeps a stable prefix's KV hot and re-prefills only the changed suffix (the live warm-reuse hot path), distinct from the toy fixed-constant `local` provider. |
|
Package mistral is a direct (non-Vertex) provider for the Mistral API (api.mistral.ai), which speaks the OpenAI-compatible chat/completions format.
|
Package mistral is a direct (non-Vertex) provider for the Mistral API (api.mistral.ai), which speaks the OpenAI-compatible chat/completions format. |
|
Package modeldconn is the runtime's client seam to the modeld daemon: it resolves the current lease leader (via modeldprobe), dials it over the gRPC transport, and opens sessions.
|
Package modeldconn is the runtime's client seam to the modeld daemon: it resolves the current lease leader (via modeldprobe), dials it over the gRPC transport, and opens sessions. |
|
Package ollama implements the modelrepo.Provider contract against Ollama HTTP endpoints.
|
Package ollama implements the modelrepo.Provider contract against Ollama HTTP endpoints. |
|
Package openai implements the modelrepo.Provider contract against the OpenAI HTTP API and OpenAI-compatible endpoints.
|
Package openai implements the modelrepo.Provider contract against the OpenAI HTTP API and OpenAI-compatible endpoints. |
|
Package openrouter is a catalog provider for OpenRouter (openrouter.ai), which exposes 300+ models from many providers through a single OpenAI-compatible endpoint.
|
Package openrouter is a catalog provider for OpenRouter (openrouter.ai), which exposes 300+ models from many providers through a single OpenAI-compatible endpoint. |
|
Package openvino is the runtime-side modelprovider for OpenVINO (Intel) local inference.
|
Package openvino is the runtime-side modelprovider for OpenVINO (Intel) local inference. |
|
Package vertex implements the modelrepo.Provider contract against Google Vertex AI publisher endpoints, using OAuth bearer tokens minted from service-account credentials.
|
Package vertex implements the modelrepo.Provider contract against Google Vertex AI publisher endpoints, using OAuth bearer tokens minted from service-account credentials. |
|
Package vllm implements the modelrepo.Provider contract against vLLM OpenAI-compatible HTTP endpoints.
|
Package vllm implements the modelrepo.Provider contract against vLLM OpenAI-compatible HTTP endpoints. |