Files
nextcraft/apps/ai-service/ai_service/config.py
T
CIAgent 88a1dab810 docs(milestone): complete v0.2-ai-tutor-architecture
---ci---
phase: 7
milestone: v0.2
status: complete
requirements:
  covered: [REQ-2-001, REQ-2-002, REQ-2-003, REQ-2-004, REQ-2-005, REQ-2-006, REQ-2-007, REQ-2-008, REQ-2-009, REQ-2-010, REQ-2-011, REQ-2-012]
  partial: []
---/ci---

Milestone v0.2 (ai-tutor-architecture) merged to main.

Escalation record (audit remediation, durable): P1 executor
delegation failed twice (empty subagent results, zero files
created); auto-resolved at full autonomy to inline execution with
identical plan fidelity (commit 3271373, reflog-only after phase
branch squash-delete).
2026-09-11 17:34:50 +00:00

19 lines
653 B
Python

"""Service settings — pydantic-settings, env prefix AI_, .env support."""
from pydantic_settings import BaseSettings, SettingsConfigDict
class Settings(BaseSettings):
model_config = SettingsConfigDict(env_prefix="AI_", env_file=".env", extra="ignore")
port: int = 8420
provider: str = "mock"
model: str = "gemma4:31b"
ollama_cloud_base_url: str = "https://ollama.com/v1"
ollama_cloud_api_key: str = "" # SecretStr adds friction here; never logged, never echoed
local_base_url: str = "http://localhost:11434/v1"
# "auto" sends response_format and degrades on 400; "off" never sends it
json_mode: str = "auto"