Skip to content

Services

LLMxRay compte 36 modules de services dans src/services/. Les services encapsulent la logique métier, la communication API et le traitement des données.

Couche API

ServiceFichierResponsabilité
OllamaClientollama-client.tsClient HTTP pour tous les endpoints Ollama : /api/tags, /api/show, /api/chat, /api/generate, /api/embed, /v1/chat/completions
Chat Servicechat-service.tsChat multi-tour avec boucle d'appels d'outils (max 5 tours), enregistrement du graphe de l'agent
Generate Servicegenerate-service.tsGénération à partir d'un prompt unique avec streaming, analyse du prompt, métriques
Model Servicemodel-service.tsListe des modèles, analyse de l'architecture, détection des capacités

Streaming

ServiceFichierResponsabilité
Stream Handlerstream-handler.tsAnalyse NDJSON et SSE, extraction de tokens, détection du raisonnement, traitement des appels d'outils
Reasoning Parserreasoning-parser.tsAnalyse les blocs <think> de DeepSeek-R1, détection de raisonnement par patterns en fallback
Metrics Calculatormetrics-calculator.tsCalcule le TTFT, les tokens par seconde et le débit à partir des fragments en streaming

Stockage (IndexedDB)

ServiceFichierResponsabilité
Conversation DBconversation-db.tsCRUD pour les conversations, messages, sessions, tokens avec chargement paresseux
Benchmark DBbenchmark-db.tsPersistance des résultats de benchmarks et des suites personnalisées
Vector DBvector-db.tsStockage de chunks RAG et recherche par similarité
Canvas AI DBcanvas-ai-db.tsStockage des paires d'entraînement
Message Memory DBmessage-memory-db.tsRésumés de conversations et mémoire
Storage Estimatorstorage-estimator.tsEstime l'utilisation du stockage IndexedDB et de l'origine

Traitement de documents

ServiceFichierResponsabilité
Document Parserdocument-parser.tsDétection de format et extraction de texte (PDF via pdfjs, DOCX via mammoth)
Document Chunkerdocument-chunker.tsDécoupage sémantique avec taille/chevauchement configurables et métadonnées
RAG Pipelinerag-pipeline.tsIngestion de bout en bout (analyse → découpage → embedding → stockage) et recherche

Système d'outils

ServiceFichierResponsabilité
Tool Executortool-executor.tsExécute les appels d'outils, valide les paramètres
Tool Canvas Adaptertool-canvas-adapter.tsConvertit les définitions d'outils du canvas au format Ollama
AST Parserast-parser.tsAnalyse de code basée sur Recast pour la synchronisation bidirectionnelle
OpenAPI Parseropenapi-parser.tsAnalyse les spécifications OpenAPI/Swagger en définitions d'outils
Code to Blockscode-to-blocks.tsConvertit le code TypeScript en blocs exécutables
Path to Codepath-to-code.tsExtrait le code à partir de chemins JSON
Optimize Tool Codeoptimize-tool-code.tsOptimisation de code assistée par l'IA
Probeprobe.tsSondage d'endpoints API et inspection des réponses
Slash Command Registryslash-command-registry.tsEnregistrement et dispatch des commandes slash

IA et analyse

ServiceFichierResponsabilité
Canvas AIcanvas-ai.tsRédaction d'outils et suggestions d'amélioration assistées par l'IA
Introspection Serviceintrospection-service.tsGénère des données illustratives de couches/attention à partir de l'architecture du modèle
Prompt Analyzerprompt-analyzer.tsIdentifie les sections du prompt (système, utilisateur, contexte, outils, exemples)
Context Managercontext-manager.tsConstruit le contexte à partir des documents RAG, de la mémoire et de l'historique de conversation
Benchmark Runnerbenchmark-runner.tsOrchestre l'exécution des benchmarks avec suivi de progression

Externe

ServiceFichierResponsabilité
Google Authgoogle-auth.tsFlux OAuth2 avec rafraîchissement de token pour l'accès à l'API Google
Feedback Servicefeedback-service.tsCollecte et soumet les retours utilisateur via GitHub Issues
System Info Clientsystem-info-client.tsLit les informations matérielles depuis le module virtuel du plugin Vite

Released under the Apache 2.0 License.