← Retour à la marketplaceVoir les projets →
🤖
Assistant IA
⭐ RecommandéChatbot IA intégré avec historique des conversations et contexte métier.
IAMoyen~5 joursv1.1.0
Module d'assistant IA avec interface de chat, historique des conversations par utilisateur, injection de contexte métier (données du projet), streaming de la réponse et citations des sources.
aichatbotclaudeopenaichatllm
Dépendances requises :
📋 Schéma Prisma
// === Module Assistant IA ===
model Conversation {
id String @id @default(cuid())
userId String
title String?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
messages Message[]
@@map("conversations")
}
model Message {
id String @id @default(cuid())
conversationId String
conversation Conversation @relation(fields: [conversationId], references: [id], onDelete: Cascade)
role String // "user" | "assistant" | "system"
content String
tokens Int?
createdAt DateTime @default(now())
@@map("messages")
}🔌 Endpoints API
## API Assistant IA GET /api/conversations # Liste des conversations POST /api/conversations # Créer une conversation GET /api/conversations/:id/messages # Historique messages POST /api/conversations/:id/messages # Envoyer un message (streaming SSE) DELETE /api/conversations/:id # Supprimer
🛠️ Guide d'implémentation
## Implémentation Assistant IA ### Dépendances ```bash npm install @anthropic-ai/sdk # Pour Claude # ou npm install openai # Pour GPT ``` ### Étape 1 — Service IA Créer src/lib/ai/service.ts : - Initialiser le client Claude/OpenAI - Construire le contexte système avec les données métier du projet - Streamer la réponse via SSE ### Étape 2 — Streaming Route POST /api/conversations/:id/messages : - Accept: text/event-stream - Streamer les tokens au fur et à mesure - Sauvegarder la réponse complète en DB à la fin ### Étape 3 — Contexte métier Injecter dans le system prompt des données pertinentes du projet (optionnel, paramétrable). ### Variables d'environnement ``` ANTHROPIC_API_KEY=sk-ant-xxx AI_MODEL=claude-sonnet-4-6 ```
Prêt à installer ce module ?
Ajoutez-le à un projet existant depuis la page modules du projet.