Research

v0.4.0

Agent de recherche multi-sources avec synthèse IA

Base URL : https://api.s33d.fr

POST /v1/research

Agent de recherche multi-sources. Décompose votre question en sous-requêtes, recherche dans l'index, puis synthétise un rapport structuré avec citations.

Paramètres (JSON body)

Paramètre Type Requis Description
question string oui Question de recherche en langage naturel
model string non mini (3 sous-requêtes, rapide) ou pro (5 sous-requêtes, complet). Défaut: mini
max_sources_per_query integer non Sources par sous-requête (1-10, défaut: 3)
include_domains array[string] non Limiter aux domaines spécifiés
exclude_domains array[string] non Exclure des domaines
lang string non Langue du rapport : fr, en, es (défaut: fr)
output_format string non Format : markdown ou text (défaut: markdown)

Exemple

curl -X POST https://api.s33d.fr/v1/research \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer VOTRE_CLÉ" \
  -d '{
    "question": "Quelles sont les avancées en IA générative en 2026 ?",
    "model": "mini",
    "lang": "fr"
  }'

Réponse

{
  "question": "Quelles sont les avancées en IA générative en 2026 ?",
  "report": "## Rapport de recherche\n\nL'année 2026 marque...",
  "sources": [
    {
      "title": "Project G-Assist | NVIDIA",
      "url": "https://www.nvidia.com/...",
      "content": "Project G-Assist est un assistant...",
      "relevance_score": 488.0,
      "query": "avancées 2026 IA générative..."
    }
  ],
  "total_sources": 6,
  "response_time_ms": 44889
}

Comment ça fonctionne

1

Décomposition

L'IA décompose votre question en 3 (mini) ou 5 (pro) sous-requêtes de recherche optimisées.

2

Recherche

Chaque sous-requête interroge l'index. Les résultats sont dédupliqués et classés par pertinence.

3

Synthèse

L'IA génère un rapport structuré en Markdown avec des citations [1], [2]... vers les sources.

Notes importantes

  • Le mode pro génère un rapport plus complet mais prend ~2x plus de temps (~30-60s).
  • Le rapport est généré par un LLM local — aucune donnée n'est envoyée vers des API externes.
  • Les citations [1], [2]... dans le rapport correspondent à l'ordre du tableau sources.
  • Utilisez include_domains pour restreindre la recherche à des sources de confiance.

Exemples d'intégration

🐍 Python

import requests
resp = requests.post(
  "https://api.s33d.fr/v1/research",
  headers={"Authorization": "Bearer VOTRE_CLÉ"},
  json={
    "question": "Impact de l'IA sur l'emploi",
    "model": "pro",
    "lang": "fr"
  },
  timeout=120
)
data = resp.json()
print(data["report"])

📦 JavaScript

const res = await fetch(
  "https://api.s33d.fr/v1/research",
  {
    method: "POST",
    headers: {
      "Authorization": `Bearer ${KEY}`,
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      question: "Impact de l'IA sur l'emploi",
      model: "pro"
    })
  }
);
const { report, sources } = await res.json();