modelpreset

package
v0.20.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 18, 2026 License: MIT Imports: 6 Imported by: 0

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 (
	ModelNameAnthropicFable5   spec.ModelName = "claude-fable-5"
	ModelNameAnthropicOpus48   spec.ModelName = "claude-opus-4-8"
	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"
	ModelNameGoogleGemini35Flash     spec.ModelName = "gemini-3.5-flash"
	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"
)
View Source
const (
	ModelNameXAIGrok43             spec.ModelName = "grok-4.3"
	ModelNameXAIGrok42Reasoning    spec.ModelName = "grok-4.20-0309-reasoning"
	ModelNameXAIGrok42NonReasoning spec.ModelName = "grok-4.20-0309-non-reasoning"
)

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 CloneCatalog(in Catalog) Catalog

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 (
	PresetAnthropicFable5   ModelPresetID = "fable5"
	PresetAnthropicOpus48   ModelPresetID = "opus48"
	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 (
	PresetGoogleGemini35Flash     ModelPresetID = "gemini35Flash"
	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)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL