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 id de document et 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
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 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. Les propositions sont une fonction d’organisation.

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 Studio → MCP dans l’application — voir Intégrations et MCP. Elle s’authentifie avec la même clé API.