diff options
| author | Kujtim Hoxha <[email protected]> | 2025-05-01 14:17:33 +0200 |
|---|---|---|
| committer | adamdottv <[email protected]> | 2025-05-01 11:08:26 -0500 |
| commit | a61b2026eb97a1974a23aa3e5b154b1b0864edf3 (patch) | |
| tree | b767be32072e9cd3eca295d3f11d2fe0e33b9c39 /internal/llm/models | |
| parent | 69ade34c2ccdadb44fdaac4434f2ec8a36e430a5 (diff) | |
| download | opencode-a61b2026eb97a1974a23aa3e5b154b1b0864edf3.tar.gz opencode-a61b2026eb97a1974a23aa3e5b154b1b0864edf3.zip | |
add xai support (#135)
Diffstat (limited to 'internal/llm/models')
| -rw-r--r-- | internal/llm/models/models.go | 1 | ||||
| -rw-r--r-- | internal/llm/models/xai.go | 61 |
2 files changed, 62 insertions, 0 deletions
diff --git a/internal/llm/models/models.go b/internal/llm/models/models.go index fd0a2b41b..1e1cbde50 100644 --- a/internal/llm/models/models.go +++ b/internal/llm/models/models.go @@ -89,4 +89,5 @@ func init() { maps.Copy(SupportedModels, GroqModels) maps.Copy(SupportedModels, AzureModels) maps.Copy(SupportedModels, OpenRouterModels) + maps.Copy(SupportedModels, XAIModels) } diff --git a/internal/llm/models/xai.go b/internal/llm/models/xai.go new file mode 100644 index 000000000..00caf3b89 --- /dev/null +++ b/internal/llm/models/xai.go @@ -0,0 +1,61 @@ +package models + +const ( + ProviderXAI ModelProvider = "xai" + + XAIGrok3Beta ModelID = "grok-3-beta" + XAIGrok3MiniBeta ModelID = "grok-3-mini-beta" + XAIGrok3FastBeta ModelID = "grok-3-fast-beta" + XAiGrok3MiniFastBeta ModelID = "grok-3-mini-fast-beta" +) + +var XAIModels = map[ModelID]Model{ + XAIGrok3Beta: { + ID: XAIGrok3Beta, + Name: "Grok3 Beta", + Provider: ProviderXAI, + APIModel: "grok-3-beta", + CostPer1MIn: 3.0, + CostPer1MInCached: 0, + CostPer1MOut: 15, + CostPer1MOutCached: 0, + ContextWindow: 131_072, + DefaultMaxTokens: 20_000, + }, + XAIGrok3MiniBeta: { + ID: XAIGrok3MiniBeta, + Name: "Grok3 Mini Beta", + Provider: ProviderXAI, + APIModel: "grok-3-mini-beta", + CostPer1MIn: 0.3, + CostPer1MInCached: 0, + CostPer1MOut: 0.5, + CostPer1MOutCached: 0, + ContextWindow: 131_072, + DefaultMaxTokens: 20_000, + }, + XAIGrok3FastBeta: { + ID: XAIGrok3FastBeta, + Name: "Grok3 Fast Beta", + Provider: ProviderXAI, + APIModel: "grok-3-fast-beta", + CostPer1MIn: 5, + CostPer1MInCached: 0, + CostPer1MOut: 25, + CostPer1MOutCached: 0, + ContextWindow: 131_072, + DefaultMaxTokens: 20_000, + }, + XAiGrok3MiniFastBeta: { + ID: XAiGrok3MiniFastBeta, + Name: "Grok3 Mini Fast Beta", + Provider: ProviderXAI, + APIModel: "grok-3-mini-fast-beta", + CostPer1MIn: 0.6, + CostPer1MInCached: 0, + CostPer1MOut: 4.0, + CostPer1MOutCached: 0, + ContextWindow: 131_072, + DefaultMaxTokens: 20_000, + }, +} |
