Documentation
¶
Index ¶
Constants ¶
View Source
const ( ProviderAnthropic spec.ProviderName = "anthropic" ProviderGoogleGemini spec.ProviderName = "googlegemini" ProviderHuggingFace spec.ProviderName = "huggingface" ProviderLlamaCPP spec.ProviderName = "llamacpp" ProviderMistral spec.ProviderName = "mistral" ProviderOpenAIChat spec.ProviderName = "openai" ProviderOpenAIResponses spec.ProviderName = "openairesponses" ProviderOpenRouter spec.ProviderName = "openrouter" ProviderXAI spec.ProviderName = "xai" )
View Source
const ( ModelNameAnthropicOpus47 spec.ModelName = "claude-opus-4-7" ModelNameAnthropicOpus46 spec.ModelName = "claude-opus-4-6" ModelNameAnthropicOpus45 spec.ModelName = "claude-opus-4-5-20251101" ModelNameAnthropicOpus41 spec.ModelName = "claude-opus-4-1-20250805" ModelNameAnthropicSonnet46 spec.ModelName = "claude-sonnet-4-6" ModelNameAnthropicSonnet45 spec.ModelName = "claude-sonnet-4-5-20250929" ModelNameAnthropicSonnet4 spec.ModelName = "claude-sonnet-4-20250514" ModelNameAnthropicHaiku45 spec.ModelName = "claude-haiku-4-5-20251001" )
View Source
const ( ModelNameGoogleGemini31Pro spec.ModelName = "gemini-3.1-pro-preview" ModelNameGoogleGemini3Flash spec.ModelName = "gemini-3-flash-preview" ModelNameGoogleGemini31FlashLite spec.ModelName = "gemini-3.1-flash-lite-preview" ModelNameGoogleGemini25Flash spec.ModelName = "gemini-2.5-flash" ModelNameGoogleGemini25FlashLite spec.ModelName = "gemini-2.5-flash-lite-preview-06-17" )
View Source
const ( ModelNameHuggingFaceGPTOSS120 spec.ModelName = "openai/gpt-oss-120b:fireworks-ai" ModelNameHuggingFaceGPTOSS20 spec.ModelName = "openai/gpt-oss-20b:fireworks-ai" ModelNameHuggingFaceQwen3Coder30 spec.ModelName = "Qwen/Qwen3-Coder-30B-A3B-Instruct:fireworks-ai" )
View Source
const ( ModelNameLlamaCPPBehemoth spec.ModelName = "llama4-behemoth" ModelNameLlamaCPPMaverick spec.ModelName = "llama4-maverick" ModelNameLlamaCPPScout spec.ModelName = "llama4-scout" )
View Source
const ( ModelNameMistralSmall4 spec.ModelName = "mistral-small-2603" ModelNameMistralLarge3 spec.ModelName = "mistral-large-2512" ModelNameMistralDevstral2 spec.ModelName = "devstral-2512" )
View Source
const ( ModelNameOpenAIChatGPT41 spec.ModelName = "gpt-4.1" ModelNameOpenAIChatGPT41Mini spec.ModelName = "gpt-4.1-mini" ModelNameOpenAIChatGPT4o spec.ModelName = "gpt-4o" ModelNameOpenAIChatGPT4oMini spec.ModelName = "gpt-4o-mini" )
View Source
const ( ModelNameOpenAIResponsesGPT55 spec.ModelName = "gpt-5.5" ModelNameOpenAIResponsesGPT54 spec.ModelName = "gpt-5.4" ModelNameOpenAIResponsesGPT54Mini spec.ModelName = "gpt-5.4-mini" ModelNameOpenAIResponsesGPT54Nano spec.ModelName = "gpt-5.4-nano" ModelNameOpenAIResponsesGPT53Codex spec.ModelName = "gpt-5.3-codex" ModelNameOpenAIResponsesGPT52 spec.ModelName = "gpt-5.2" ModelNameOpenAIResponsesGPT52Codex spec.ModelName = "gpt-5.2-codex" ModelNameOpenAIResponsesGPT51 spec.ModelName = "gpt-5.1" ModelNameOpenAIResponsesGPT51Codex spec.ModelName = "gpt-5.1-codex" ModelNameOpenAIResponsesGPT51CodexMax spec.ModelName = "gpt-5.1-codex-max" ModelNameOpenAIResponsesGPT5Mini spec.ModelName = "gpt-5-mini" )
View Source
const ( ModelNameOpenRouterNVIDIANemotron3SuperFree spec.ModelName = "nvidia/nemotron-3-super-120b-a12b:free" ModelNameOpenRouterMiniMaxM27 spec.ModelName = "minimax/minimax-m2.7" ModelNameOpenRouterMiniMaxM25Free spec.ModelName = "minimax/minimax-m2.5:free" ModelNameOpenRouterZAIGLM51 spec.ModelName = "z-ai/glm-5.1" )
Variables ¶
View Source
var ( ErrProviderNotFound = errors.New("provider preset not found") ErrModelNotFound = errors.New("model preset not found") )
Functions ¶
func ProviderNames ¶
func ProviderNames() []spec.ProviderName
Types ¶
type Catalog ¶
type Catalog struct {
Providers map[spec.ProviderName]ProviderPreset `json:"providers"`
}
func CloneCatalog ¶
func DefaultCatalog ¶
func DefaultCatalog() Catalog
type ModelPreset ¶
type ModelPreset struct {
ID ModelPresetID `json:"id"`
Name spec.ModelName `json:"name"`
DisplayName string `json:"displayName"`
// ModelParam is the default runtime request model configuration.
// Callers should treat values returned by this package as immutable.
ModelParam spec.ModelParam `json:"modelParam"`
// CapabilitiesOverride is a runtime capability patch applied over provider/base SDK capabilities.
// It is not the derived/effective capability profile.
CapabilitiesOverride *capabilityoverride.ModelCapabilitiesOverride `json:"capabilitiesOverride,omitempty"`
}
func CloneModelPreset ¶
func CloneModelPreset(in ModelPreset) ModelPreset
func Model ¶
func Model(provider spec.ProviderName, modelPresetID ModelPresetID) (ModelPreset, error)
type ModelPresetID ¶
type ModelPresetID string
const ( PresetAnthropicOpus47 ModelPresetID = "opus47" PresetAnthropicOpus46 ModelPresetID = "opus46" PresetAnthropicOpus45 ModelPresetID = "opus45" PresetAnthropicOpus41 ModelPresetID = "opus41" PresetAnthropicSonnet46 ModelPresetID = "sonnet46" PresetAnthropicSonnet45 ModelPresetID = "sonnet45" PresetAnthropicSonnet4 ModelPresetID = "sonnet4" PresetAnthropicHaiku45 ModelPresetID = "haiku45" )
const ( PresetGoogleGemini31Pro ModelPresetID = "gemini31Pro" PresetGoogleGemini3Flash ModelPresetID = "gemini3Flash" PresetGoogleGemini31FlashLite ModelPresetID = "gemini31FlashLite" PresetGoogleGemini25Flash ModelPresetID = "gemini25Flash" PresetGoogleGemini25FlashLite ModelPresetID = "gemini25FlashLite" )
const ( PresetHuggingFaceGPTOSS120 ModelPresetID = "hfGptOss120" PresetHuggingFaceGPTOSS20 ModelPresetID = "hfGptOss20" PresetHuggingFaceQwen3Coder30 ModelPresetID = "hfQwen3Coder30" )
const ( PresetLlamaCPPBehemoth ModelPresetID = "llama4Behemoth" PresetLlamaCPPMaverick ModelPresetID = "llama4Maverick" PresetLlamaCPPScout ModelPresetID = "llama4Scout" )
const ( PresetMistralSmall4 ModelPresetID = "mistralSmall4" PresetMistralLarge3 ModelPresetID = "mistralLarge3" PresetMistralDevstral2 ModelPresetID = "devstral2" )
const ( PresetOpenAIChatGPT41 ModelPresetID = "gpt41" PresetOpenAIChatGPT41Mini ModelPresetID = "gpt41Mini" PresetOpenAIChatGPT4o ModelPresetID = "gpt4o" PresetOpenAIChatGPT4oMini ModelPresetID = "gpt4oMini" )
const ( PresetOpenAIResponsesGPT55 ModelPresetID = "gpt55" PresetOpenAIResponsesGPT54 ModelPresetID = "gpt54" PresetOpenAIResponsesGPT54Mini ModelPresetID = "gpt54mini" PresetOpenAIResponsesGPT54Nano ModelPresetID = "gpt54nano" PresetOpenAIResponsesGPT53Codex ModelPresetID = "gpt53Codex" PresetOpenAIResponsesGPT52 ModelPresetID = "gpt52" PresetOpenAIResponsesGPT52Codex ModelPresetID = "gpt52Codex" PresetOpenAIResponsesGPT51 ModelPresetID = "gpt51" PresetOpenAIResponsesGPT51Codex ModelPresetID = "gpt51Codex" PresetOpenAIResponsesGPT51CodexMax ModelPresetID = "gpt51CodexMax" PresetOpenAIResponsesGPT5Mini ModelPresetID = "gpt5Mini" )
const ( PresetOpenRouterNVIDIANemotron3SuperFree ModelPresetID = "nvidiaNemotron3SuperFree" PresetOpenRouterMiniMaxM27 ModelPresetID = "minimaxm27" PresetOpenRouterMiniMaxM25Free ModelPresetID = "minimaxm25free" PresetOpenRouterZAIGLM51 ModelPresetID = "zaiglm51" )
const ( PresetXAIGrok43 ModelPresetID = "grok43" PresetXAIGrok42Reasoning ModelPresetID = "grok42Reasoning" PresetXAIGrok42NonReasoning ModelPresetID = "grok42NonReasoning" )
func ModelPresetIDs ¶
func ModelPresetIDs(provider spec.ProviderName) ([]ModelPresetID, error)
type ProviderPreset ¶
type ProviderPreset struct {
Name spec.ProviderName `json:"name"`
DisplayName string `json:"displayName"`
SDKType spec.ProviderSDKType `json:"sdkType"`
Origin string `json:"origin"`
ChatCompletionPathPrefix string `json:"chatCompletionPathPrefix"`
APIKeyHeaderKey string `json:"apiKeyHeaderKey"`
DefaultHeaders map[string]string `json:"defaultHeaders,omitempty"`
// CapabilitiesOverride is a provider-wide runtime capability patch.
// Model preset overrides are applied after this.
CapabilitiesOverride *capabilityoverride.ModelCapabilitiesOverride `json:"capabilitiesOverride,omitempty"`
ModelPresets map[ModelPresetID]ModelPreset `json:"modelPresets"`
}
func CloneProviderPreset ¶
func CloneProviderPreset(in ProviderPreset) ProviderPreset
func Provider ¶
func Provider(name spec.ProviderName) (ProviderPreset, error)
Click to show internal directories.
Click to hide internal directories.