Aller au contenu

API — Recettes

Ces exemples supposent que vous avez défini BQP_BASE et BQP_KEY depuis le Démarrage rapide. Chaque appel envoie Authorization: Bearer $BQP_KEY.

Importer un document et discuter dessus

Fenêtre de terminal
# 1. créer une source de données → renvoie son id
curl -s "$BQP_BASE/v1/datasources" \
-H "Authorization: Bearer $BQP_KEY" -H "Content-Type: application/json" \
-d '{"name":"Politiques"}'
# → { "id": "DS_ID", ... }
# 2. importer un PDF (multipart) → 202 Accepted avec un document + un id de tâche
curl -s "$BQP_BASE/v1/datasources/DS_ID/documents" \
-H "Authorization: Bearer $BQP_KEY" \
-F "file=@manuel.pdf"
# → { "document_id": "DOC_ID", "job_id": "JOB_ID" }
# 3. interroger jusqu'à la fin du traitement (statut : parsing → embedding → tagging → "ready")
curl -s "$BQP_BASE/v1/documents/DOC_ID" -H "Authorization: Bearer $BQP_KEY"
# → { ..., "status": "ready" } # "failed" = échec du traitement (voir le champ "error")
# 4. poser une question fondée, limitée à la source de données
curl -s "$BQP_BASE/v1/chat" \
-H "Authorization: Bearer $BQP_KEY" -H "Content-Type: application/json" \
-d '{"message":"Quelle est notre politique de remboursement ?","datasource_ids":["DS_ID"]}'
# → { "session_id": "...", "answer": "...", "trace": [ ...preuves... ], "model": "..." }

trace contient les appels d’outils et les passages derrière la réponse — les preuves. Passez la session_id renvoyée à l’appel suivant pour poursuivre la même conversation.

Exécuter une proposition encadrée

Fenêtre de terminal
# choisir un conseiller auquel des sources de données sont rattachées
curl -s "$BQP_BASE/v1/personas" -H "Authorization: Bearer $BQP_KEY"
# 1. demander une recommandation (le conseiller la rédige)
curl -s "$BQP_BASE/v1/proposals" \
-H "Authorization: Bearer $BQP_KEY" -H "Content-Type: application/json" \
-d '{"persona_id":"PERSONA_ID","situation":"Devrions-nous augmenter les prix de 10 % le trimestre prochain ?"}'
# → { "id": "PROP_ID", "status": "proposed", "recommendation": "...", "evidence": [...] }
# 2a. un validateur l'approuve…
curl -s "$BQP_BASE/v1/proposals/PROP_ID/verdict" \
-H "Authorization: Bearer $BQP_KEY" -H "Content-Type: application/json" \
-d '{"verdict":"approved","reason":"Conforme à la stratégie"}'
# 2b. … ou demande au conseiller de l'affiner (régénère, reste "proposed")
curl -s "$BQP_BASE/v1/proposals/PROP_ID/regenerate" \
-H "Authorization: Bearer $BQP_KEY" -H "Content-Type: application/json" \
-d '{"suggestions":"Sois plus prudent sur l attrition ; commence par une recommandation go/no-go claire."}'

verdict vaut approved ou rejected, et une décision est définitive. Décider exige un validateur ou un admin ; demander, non. C’est une fonction d’organisation (l’application présente ce flux comme faisant partie de Décisions).

Connecter un client IA externe (MCP)

Pour que Claude Desktop, Cursor ou un autre client MCP interroge vos connaissances directement, utilisez la configuration client prête à l’emploi sous Connexions dans l’application — voir Connexions. Elle s’authentifie avec la même API key.