Skip to content

Model Selection

Git-Iris uses a dual-model strategy: primary models for complex analysis and fast models for simple tasks.

Model Strategy

Model TypeUsed ForExamples
PrimaryCommit messages, code reviews, PR descriptionsclaude-sonnet-4-5-20250929, gpt-5.1
FastStatus updates, parsing, simple queriesclaude-haiku-4-5-20251001, gpt-5.1-mini

This dual-model approach optimizes for both quality and speed.

Default Models by Provider

OpenAI

toml
[providers.openai]
model = "gpt-5.1"
fast_model = "gpt-5.1-mini"
ModelUse CaseContextNotes
gpt-5.1Primary128KBest for complex analysis
gpt-5.1-miniFast128KQuick status updates

Anthropic

toml
[providers.anthropic]
model = "claude-sonnet-4-5-20250929"
fast_model = "claude-haiku-4-5-20251001"
ModelUse CaseContextNotes
claude-sonnet-4-5-20250929Primary200KExcellent for code analysis
claude-haiku-4-5-20251001Fast200KFastest response times

Google

toml
[providers.google]
model = "gemini-3-pro-preview"
fast_model = "gemini-2.5-flash"
ModelUse CaseContextNotes
gemini-3-pro-previewPrimary1MLargest context window
gemini-2.5-flashFast1MGood for large diffs

Configuring Models

Via CLI

bash
# Set primary model
git-iris config --provider anthropic --model claude-sonnet-4-5-20250929

# Set fast model
git-iris config --provider anthropic --fast-model claude-haiku-4-5-20251001

Via Config File

toml
[providers.anthropic]
api_key = "sk-ant-..."
model = "claude-sonnet-4-5-20250929"
fast_model = "claude-haiku-4-5-20251001"

When to Use Which Model

Primary Model Tasks

  • Commit message generation — Needs context understanding
  • Code reviews — Requires deep analysis
  • PR descriptions — Synthesizes multiple changes
  • Changelogs — Categorizes and summarizes
  • Release notes — Produces polished documentation

Fast Model Tasks

  • Status updates — "Analyzing file 3 of 15..."
  • Progress parsing — Extracting structured data
  • Tool responses — Simple confirmations
  • Chat queries — Quick interactions

Model Selection Criteria

Choose Primary Model Based On

PriorityConsiderationRecommendation
QualityNeed best analysisClaude Sonnet 4.5
ContextLarge changesets (>50 files)Gemini 3 Pro (1M tokens)
SpeedFast turnaroundGPT-5.1
CostBudget constraintsUse fast models more

Optimize Fast Model For

  • Response time — Haiku, GPT-5.1-mini, Gemini Flash
  • Context window — All fast models support large context
  • Availability — Check provider rate limits

Custom Model Configuration

You can use any model supported by your provider:

bash
# OpenAI custom model
git-iris config --provider openai --model gpt-4o

# Anthropic custom model
git-iris config --provider anthropic --model claude-opus-4-5

# Google custom model
git-iris config --provider google --model gemini-2.0-flash-exp

Model Fallback Behavior

If a configured model is unavailable, Git-Iris will:

  1. Attempt to use the provider's default model
  2. Report an error with the model name
  3. Suggest checking provider documentation

Context Window Management

Git-Iris automatically manages context to fit within model limits:

ScenarioStrategy
Small changeset (<10 files)Full context
Medium changeset (10-20 files)Relevance scoring
Large changeset (20+ files)Parallel subagent analysis

Override token limits per provider:

bash
git-iris config --provider anthropic --token-limit 150000

Model Performance Tips

For Large Repositories

toml
[providers.google]
model = "gemini-3-pro-preview"  # 1M context window

For Speed-Critical Workflows

toml
[providers.anthropic]
model = "claude-haiku-4-5-20251001"  # Fast even for primary tasks
fast_model = "claude-haiku-4-5-20251001"

For Maximum Quality

toml
[providers.anthropic]
model = "claude-sonnet-4-5-20250929"  # Best code understanding

Monitoring Model Usage

Enable debug mode to see which model handles each task:

bash
git-iris gen --debug

Output shows:

  • Model name
  • Token usage
  • Tool calls
  • Response time

Cost Optimization

Minimize Costs

toml
# Use fast model for everything
[providers.openai]
model = "gpt-5.1-mini"
fast_model = "gpt-5.1-mini"
token_limit = 8000  # Lower limit

Balance Quality and Cost

toml
# Standard setup
[providers.anthropic]
model = "claude-sonnet-4-5-20250929"  # Quality for commits
fast_model = "claude-haiku-4-5-20251001"  # Speed for status

Troubleshooting

IssueSolution
"Model not found"Check provider documentation for available models
Slow responsesSwitch to a faster model
Context exceededReduce token_limit or use model with larger window
Poor qualityUse a more capable primary model

Model Comparison Table

ModelProviderContextSpeedQualityCost
claude-sonnet-4-5Anthropic200KMediumExcellentMedium
claude-haiku-4-5Anthropic200KFastGoodLow
gpt-5.1OpenAI128KMediumExcellentMedium
gpt-5.1-miniOpenAI128KFastGoodLow
gemini-3-proGoogle1MSlowExcellentHigh
gemini-2.5-flashGoogle1MFastGoodLow

Released under the Apache 2.0 License.