AI Vision: multi-provider config, model testing, per-client AI preferences
CI / Lint & Format (push) Failing after 11s
CI / Tests (push) Has been skipped
CI / Security Scan (push) Failing after 8s
CI / Docker Build (push) Has been skipped

Backend:
- Add ai_provider + ai_model columns to APIClient model
- New admin_ai router: GET /admin/api/ai/status + POST /admin/api/ai/test
- Update ai_vision.py: provider_override + model_override support
- Update pipeline: load client AI prefs for image processing
- ClientUpdate/ClientResponse schemas include ai_provider/ai_model

Frontend:
- New AIConfigSection component: provider list, model dropdowns,
  test button with live results (no page refresh needed)
- AI types (ai.types.ts) + API (api/ai.ts)
- APIClient types extended with ai_provider/ai_model
This commit is contained in:
2026-06-25 10:30:50 -04:00
parent 1260a46c7c
commit 9bb440707c
12 changed files with 691 additions and 14 deletions
+4
View File
@@ -47,6 +47,8 @@ class ClientUpdate(BaseModel):
scopes: Optional[List[str]] = None
plan: Optional[ClientPlan] = None
is_active: Optional[bool] = None
ai_provider: Optional[str] = Field(None, description="Fournisseur AI préféré (openrouter, gemini)")
ai_model: Optional[str] = Field(None, description="Modèle AI préféré")
# ─────────────────────────────────────────────────────────────
@@ -62,6 +64,8 @@ class ClientResponse(BaseModel):
scopes: List[str]
plan: ClientPlan
is_active: bool
ai_provider: Optional[str] = None
ai_model: Optional[str] = None
created_at: Optional[datetime] = None
updated_at: Optional[datetime] = None