AI Assistant
AI Assistant fournit une infrastructure RAG (Retrieval-Augmented Generation) complete et multi-tenant. Chaque tenant dispose de ses propres knowledge bases isolees, alimentees par des documents PDF, DOCX, Markdown ou texte. La recherche hybride combine pgvector (similarite semantique) et tsvector (recherche full-text PostgreSQL) pour une pertinence optimale. Les reponses sont streamees en SSE (Server-Sent Events) avec des citations precises renvoyant aux passages source. L'architecture multi-tenant garantit l'isolation totale des donnees entre clients.
Cas d'usage
Support client intelligent
Deployez un chatbot qui repond aux questions de vos clients en s'appuyant sur votre documentation, FAQ et base de connaissances interne.
Assistant RH interne
Permettez a vos collaborateurs d'interroger les conventions collectives, le reglement interieur et les procedures RH en langage naturel.
Base de connaissances technique
Centralisez votre documentation technique et rendez-la interrogeable par vos equipes avec des reponses sourcees et verifiables.
Comment ca marche
Creation d'une knowledge base
Creez un espace de connaissances isole pour votre tenant et configurez les parametres de chunking et d'embedding.
Ingestion de documents
Uploadez vos documents (PDF, DOCX, MD, TXT). Ils sont automatiquement decoupes, vectorises et indexes.
Requete en langage naturel
Posez votre question. La recherche hybride identifie les passages les plus pertinents dans votre base.
Reponse streamee avec citations
L'assistant genere une reponse en streaming SSE, chaque affirmation etant liee a un passage source cite.
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 delai de preavis 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">"")Specifications techniques
Pret a integrer ce service ?
Testez l'API gratuitement avec 1 000 appels offerts. Integration en quelques minutes.