fix(agent): purge les api_base LLM obsoletes (Mistral/Cohere /v2)
Un api_base stocke (ex. https://api.mistral.ai/v2) ecrasait l'URL par defaut corrigee et faisait echouer le test de connexion. Desormais: normalisation a l'ecriture (une base egale au defaut n'est pas stockee), possibilite de vider le champ (api_base='' vs None), et migration 14 qui efface les bases obsoletes/redondantes dans user_llm_keys et llm_config. Tests de non-regression ajoutes.
This commit is contained in:
@@ -810,11 +810,13 @@ async def save_llm_key(request: Request, llm_provider: str):
|
||||
if provider not in PROVIDERS:
|
||||
raise HTTPException(status_code=400, detail=f"Provider inconnu: {provider}")
|
||||
body = await request.json() if request.headers.get("content-type") else {}
|
||||
api_base_raw = body.get("api_base")
|
||||
raw = upsert_user_llm_key(
|
||||
user_id,
|
||||
provider,
|
||||
api_key=(body.get("api_key") or "").strip(),
|
||||
api_base=(body.get("api_base") or "").strip(),
|
||||
# None = keep the stored base, "" = reset to the provider default.
|
||||
api_base=api_base_raw.strip() if isinstance(api_base_raw, str) else None,
|
||||
default_model=(body.get("default_model") or "").strip(),
|
||||
models=body.get("models"),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user