AI Assistant
AI Assistant fournit une infrastructure RAG (Retrieval-Augmented Generation) complète et multi-tenant. Chaque tenant dispose de ses propres knowledge bases isolées, alimentées par des documents PDF, DOCX, Markdown ou texte. La recherche hybride combine pgvector (similarité sémantique) et tsvector (recherche full-text PostgreSQL) pour une pertinence optimale. Les réponses sont streamées en SSE (Server-Sent Events) avec des citations précises renvoyant aux passages source. L'architecture multi-tenant garantit l'isolation totale des données entre clients.
Comment ça marche
Création d'une knowledge base
Créez un espace de connaissances isolé pour votre tenant et configurez les paramètres de chunking et d'embedding.
Ingestion de documents
Uploadez vos documents (PDF, DOCX, MD, TXT). Ils sont automatiquement découpés, vectorisés et indexés.
Requête en langage naturel
Posez votre question. La recherche hybride identifie les passages les plus pertinents dans votre base.
Réponse streamée avec citations
L'assistant génère une réponse en streaming SSE, chaque affirmation étant liée à un passage source cité.
Exemple d'appel API
import httpx
KB_ID = class="text-teal">"kb_01HQ3V..."
class=class="text-teal">"text-text-faint italic"># Query with streaming
with httpx.stream(
class="text-teal">"POST",
fclass="text-teal">"https:class="text-text-faint italicclass="text-teal">">//api.djinn.dev/v1/knowledge-bases/{KB_ID}/query",
headers={class="text-teal">"X-API-Key": class="text-teal">"djinn_live_..."},
json={
class="text-teal">"question": class="text-teal">"Quel est le délai de préavis pour un CDI ?",
class="text-teal">"max_sources": 5,
class="text-teal">"stream": True,
},
) as response:
for line in response.iter_lines():
if line.startswith(class="text-teal">"data: "):
chunk = json.loads(line[6:])
if chunk[class="text-teal">"type"] == class="text-teal">"text":
print(chunk[class="text-teal">"content"], end=class="text-teal">"")
elif chunk[class="text-teal">"type"] == class="text-teal">"citation":
print(fclass="text-teal">" [{chunk['source']}]", end=class="text-teal">"")Spécifications techniques
Prêt à intégrer ce service ?
Testez l'API gratuitement avec 1 000 appels offerts. Intégration en quelques minutes.