Le MCP de Daznode : Architecture et fonctionnement

Temps de lecture estimé : 10 minutes

Introduction

MCP est un système avancé de question-réponse conçu pour fournir des réponses précises et contextuelles. Il s'appuie sur la technique RAG (Retrieval-Augmented Generation), qui combine la recherche d'informations pertinentes dans un corpus de documents avec la capacité de génération de texte de modèles de langage avancés.

L'objectif principal du MCP est de permettre aux utilisateurs d'interroger une base de connaissances documentaire et d'obtenir des réponses synthétisées, fiables et sourcées, tout en offrant une architecture robuste, performante et extensible.

Fonctionnalités Clés

Architecture

Vue d'ensemble

MCP adopte une architecture modulaire conçue pour la performance et l'extensibilité, articulée autour de plusieurs composants clés interagissant de manière asynchrone.

Architecture du MCP

Composants Principaux

Flux de Données

  1. Ingestion : Document (texte) → [API/Script] → Embedding (OpenAI) → Stockage (MongoDB)
  2. Interrogation : Requête (texte) → [API] → Embedding (OpenAI) → Recherche Sémantique (MongoDB) → Vérification Cache (Redis)
    • Cache Hit : Récupération (Redis) → Réponse
    • Cache Miss : Récupération Documents (MongoDB) → Construction Prompt → Génération (OpenAI) → Réponse → Mise en Cache (Redis)

Technologies Utilisées

Sources de Données

APIs

API RESTful interne

Le système expose une API RESTful pour permettre les interactions programmatiques.

API Externe Utilisée

Intelligence IA & RAG

RAG (Retrieval-Augmented Generation)

C'est le cœur de l'intelligence du système. Le processus combine :

  1. Retrieval (Récupération) : Recherche dans la base de documents pour identifier les extraits les plus pertinents.
  2. Augmentation : Ajout des documents pertinents au contexte de la question initiale.
  3. Generation (Génération) : Production d'une réponse complète et cohérente par un grand modèle de langage.

Composants IA

Installation et Configuration

Prérequis

Installation

  1. Dépendances Système : Installation de MongoDB et Redis
  2. Clonage du Projet : git clone ...
  3. Environnement Python : Création et activation d'un environnement virtuel
  4. Dépendances Python : Installation via pip install -r requirements.txt

Configuration

  1. Fichier d'environnement : Copier .env.example vers .env
  2. Édition de .env : Renseigner les variables essentielles comme les connexions MongoDB, Redis et la clé OpenAI

Utilisation

Via le Code (Script/Intégration)

from src.rag import RAGWorkflow
import asyncio

async def main():
    # Initialisation
    rag = RAGWorkflow()

    # Interrogation
    question = "Quelle est l'architecture du système MCP ?"
    response_data = await rag.query(question)

    print(f"Question: {question}")
    print(f"Réponse: {response_data['response']}")
    print(f"Sources: {response_data['sources']}")
    print(f"Cache Hit: {response_data['cache_hit']}")

# Exécution
if __name__ == "__main__":
    asyncio.run(main())

Via l'API RESTful

Exemple d'interrogation avec curl :

curl -X POST http://localhost:8000/v1/query \
     -H "Content-Type: application/json" \
     -d '{
           "query": "Comment fonctionne la mise en cache ?"
         }'

Monitoring et Performance

Potentiel et Extensibilité

L'architecture modulaire du MCP facilite son extension avec de nouvelles fonctionnalités :

Contribution et Licence


Pour plus d'informations sur l'utilisation du MCP ou pour signaler un problème, consultez notre documentation technique complète ou contactez notre équipe de support.