Skip to content

Add config-based LLM provider selection #20

@bug-ops

Description

@bug-ops

Description

Allow selecting between Ollama and Claude via configuration.

Parent: #4

Branch

feat/m3/provider-selection

Files

  • crates/zeph-core/src/config.rs — add cloud LLM config, provider enum
  • crates/zeph-core/src/agent.rs — construct provider from config
  • src/main.rs — provider factory
  • config/default.toml — add cloud section

Config

[llm]
provider = "ollama"  # or "claude"
base_url = "http://localhost:11434"
model = "mistral:7b"

[llm.cloud]
model = "claude-sonnet-4-5-20250929"
max_tokens = 4096
# API key via ZEPH_CLAUDE_API_KEY env var

Acceptance Criteria

  • llm.provider = "ollama" uses OllamaProvider (default)
  • llm.provider = "claude" uses ClaudeProvider
  • ZEPH_LLM_PROVIDER env var overrides config
  • Missing API key for Claude: clear error message

Depends On

#19 (Claude backend), #18 (Memory integration)

Metadata

Metadata

Assignees

No one assigned

    Labels

    M3Milestone 3: Memory + ClaudefeatureNew functionalityllmLLM provider related

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions