Main Page: Difference between revisions

From Essential
Jump to navigation Jump to search
(Ajout: api-mcp-openai (serveur MCP OpenAI, PR #1 #2))
(134 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[File:Infocepo-picture.png|thumb|right|Discover cloud and AI on infocepo.com]]
[[File:Infocepo-picture.png|thumb|right|Découvrir le cloud et l’IA sur infocepo.com]]


= infocepo.com – Cloud, AI & Labs =
= infocepo.com – Cloud, AI & Labs =
Line 5: Line 5:
Bienvenue sur le portail '''infocepo.com'''.
Bienvenue sur le portail '''infocepo.com'''.


Ce wiki documente l’écosystème '''Cloud, IA, automatisation et lab''' d’Infocepo.   
Ce wiki documente l’écosystème '''cloud, IA, automatisation et laboratoires''' d’Infocepo.   
Il s’adresse aux :
Il s’adresse aux :


Line 32: Line 32:


== Vue d’ensemble ==
== Vue d’ensemble ==
[[File:Ailab-architecture.png|thumb|'''Infra architecture overview''']]
[[File:Ailab-architecture.png|thumb|'''Vue d’ensemble de l’architecture''']]


= Démarrer rapidement =
= Démarrer rapidement =
Line 39: Line 39:


; 1. Construire un assistant IA privé
; 1. Construire un assistant IA privé
* Déployer une stack type '''Open WebUI + Ollama + GPU'''
* Déployer une stack type '''Hermes WebUI + Ollama + GPU'''
* Ajouter un modèle de chat et un modèle de résumé
* Ajouter un modèle de chat et un modèle de résumé
* Brancher des données internes via '''RAG + embeddings'''
* Brancher des données internes via '''RAG + embeddings'''
Line 71: Line 71:
* les déploiements sont industrialisés,
* les déploiements sont industrialisés,
* l’infrastructure reste '''compréhensible, portable et réutilisable'''.
* l’infrastructure reste '''compréhensible, portable et réutilisable'''.
Chaque sortie IA est mesurée en temps réel ; les modèles insuffisants sont remplacés automatiquement et les tâches sans valeur sont supprimées. L’autonomie repose sur des mécanismes techniques qui restent opérationnels sans intervention continue, plutôt que sur de simples règles documentées.


[[File:SUMMARY-DIAGRAM-7311e6b1-aede-4989-ade2-a42d1a6e0ff2.png|thumb|right|Main page summary]]
[[File:SUMMARY-DIAGRAM-7311e6b1-aede-4989-ade2-a42d1a6e0ff2.png|thumb|right|Main page summary]]
Line 82: Line 84:
! Catégorie !! Service !! Rôle
! Catégorie !! Service !! Rôle
|-
|-
| API || [https://api.ailab.infocepo.com:wait-2026-06 LLM] || Modèles de chat, code, RAG, OCR
| API || [https://api-nothink.ailab.infocepo.com/docs LLM] || Modèles de chat, code, RAG, OCR
|-
|-
| API || [https://api-audio2txt.ailab.infocepo.com/docs STT] || Transcription audio
| API || [https://api-audio2txt.ailab.infocepo.com/docs STT] || Transcription audio
|-
|-
| API || [https://api-txt2audio.ailab.infocepo.com/docs TTS] || Synthèse vocale
| API || [https://api-tts-omnivoice.ailab.infocepo.com/docs TTS] || Synthèse vocale
|-
|-
| API || [https://github.com/ynotopec/api-realtime-ai realtime-ai] || Temps réel WebSocket / WebRTC
| API || [https://github.com/ynotopec/api-realtime-ai realtime-ai] || Temps réel WebSocket / WebRTC
|-
|-
| API || [https://api.ailab.infocepo.com:wait-2026-06 IMAGE2TXT] || OCR / VLM via endpoint dédié
| API || [https://api-nothink.ailab.infocepo.com/docs IMAGE2TXT] || OCR / VLM via endpoint dédié
|-
|-
| API || [https://api-summary.ailab.infocepo.com:wait-2026-06/docs summary] || Résumé de textes longs
| API || [https://api-summary.ailab.infocepo.com:wait-2026-12/docs summary] || Résumé de textes longs
|-
|-
| API || [https://text-embeddings.ailab.infocepo.com:wait-2026-06/docs text2mbeddings] || Embeddings pour RAG
| API || [https://api-embedding.ailab.infocepo.com/docs EMBEDDINGS] || Embeddings pour RAG
|-
|-
| API || [https://chromadb.ailab.infocepo.com:wait-2026-06 ChromaDB] || Base vecteur
| API || [https://chromadb.ailab.infocepo.com:wait-2026-12 ChromaDB] || Base vecteur
|-
|-
| API || [https://api-txt2image.ailab.infocepo.com/docs TXT2IMAGE] || Génération d’images
| API || [https://api-txt2image.ailab.infocepo.com/docs TXT2IMAGE] || Génération d’images
Line 102: Line 104:
| API || [https://api-diarization.ailab.infocepo.com/docs diarization] || Segmentation locuteurs
| API || [https://api-diarization.ailab.infocepo.com/docs diarization] || Segmentation locuteurs
|-
|-
| Observabilité || [https://grafana.ailab.infocepo.com:wait-2026-06 monitoring] || Dashboards techniques
| Observabilité || [https://grafana.ailab.infocepo.com:wait-2026-12 monitoring] || Dashboards techniques
|-
|-
| Observabilité || [https://uptime-kuma.ailab.infocepo.com:wait-2026-06/status/ai status] || Disponibilité des services
| Observabilité || [https://uptime-kuma.ailab.infocepo.com:wait-2026-12/status/ai status] || Disponibilité des services
|-
|-
| Observabilité || [https://web-stat.c1.ailab.infocepo.com:wait-2026-06 web-stat] || Statistiques web
| Observabilité || [https://web-stat.c1.ailab.infocepo.com:wait-2026-12 web-stat] || Statistiques web
|-
|-
| Observabilité || [https://api.ailab.infocepo.com:wait-2026-06/ui LLM-stat] || Vue API / usage
| Observabilité || [https://api.ailab.infocepo.com:wait-2026-09/ui LLM-stat] || Vue API / usage
|-
|-
| Outils || [https://datalab.ailab.infocepo.com:wait-2026-06 dataLab] || Environnement de travail hors-production
| Outils || [https://datalab.ailab.infocepo.com:wait-2026-12 dataLab] || Environnement de travail hors-production
|-
|-
| Outils || [https://translate-rt.ailab.infocepo.com realtime translation] || Traduction
| Outils || [https://translate-rt.ailab.infocepo.com realtime translation] || Traduction
Line 121: Line 123:
= Nouveautés =
= Nouveautés =


== Nouveautés 10/04/2026 ==
== Nouveautés 01/08/2026 ==
* Ajout de [https://github.com/ynotopec/api-audio2txt-gemma4 '''gemma4 STT'''] : API de transcription compatible OpenAI. La qualité est très bonne. Il faut comparer avec Whisper3-turbo. Il est plus gourmant en mémoire.
* [https://translate-rt.ailab.infocepo.com '''Traduction temps réel'''] : réduction significative des hallucinations lors des silences, diminution de la latence et ajout de la plupart des langues en TTS.
* Ajout de [https://github.com/ynotopec/api-audio2txt-qwen3 '''qwen3 STT'''] : API de transcription compatible OpenAI. La qualité est moins bonne en français que Whisper3-turbo. Mais il faudrait tester avec d'autres langues. Il peut théoriquement prendre beaucoup de charge avec le backend actuel vLLM.
* [https://api-tts-omnivoice.ailab.infocepo.com '''TTS Omnivoice'''] : Qualité TTS augmenté et ajout plus global des langues (600).
* '''cohere STT''' : premiers tests non convainquants. Certainement pertinent dans la transcription monolangue, mais non adapté au multilangue. Il faut définir la langue avant transcription. Il ne retourne pas de "timestamp" "sentence".
* [https://api-lightrag.ailab.infocepo.com '''LightRAG'''] : LightRAG est un framework RAG avancé et léger qui combine graphes de connaissances et recherche vectorielle pour une analyse contextuelle profonde et efficace.
* Ajout de '''gemma4''' : Gemma 4 models are designed to deliver frontier-level performance at each size. They are well-suited for reasoning, agentic workflows, coding, and multimodal understanding.
* [https://api-reranker.ailab.infocepo.com/docs '''API reranker'''] : [https://github.com/ynotopec/api-reranker git].
* Ajout de '''nemotron-cascade-2''' : modèle open 30B MoE NVIDIA orienté raisonnement et tâches agentiques.
* [https://api-embedding.ailab.infocepo.com '''API embedding'''] : Mise à jour des paramètres RAG optimisation : bge-m3 (chunk 1000, 100 overlap). [https://github.com/ynotopec/api-embedding git]
* Ajout de '''nemotron-3-super''' : NVIDIA Nemotron 3 Super is a 120B open MoE model activating just 12B parameters to deliver maximum compute efficiency and accuracy for complex multi-agent applications.
* [https://github.com/ynotopec/api-llm-privacy-proxy '''privacy-filter'''] : filtrage données personnelles.
* Ajout de [https://github.com/sst/opencode '''opencode'''] : CLI coder à comparer avec Aider / OpenHands.
* [https://github.com/multica-ai/andrej-karpathy-skills '''Un seul fichier CLAUDE.md'''] inspiré d'Andrej Karpathy pour transformer Claude en un vrai ingénieur logiciel.
* DGX Spark : architecture CPU ARM.
* [https://github.com/ynotopec/qwen36-sglang '''Qwen3.6'''] : Qwen3.6 delivers substantial upgrades in agentic coding and thinking preservation than previous Qwen models. Déployé avec [https://huggingface.co/nvidia/Qwen3.6-35B-A3B-NVFP4 '''NVIDIA/Qwen3.6-35B-A3B-NVFP4'''] — quantisation NVFP4 optimisée pour l'inférence GPU NVIDIA.
* Ajout de '''qwen3.5''' : famille de modèles open source multimodaux.
* [https://github.com/NousResearch/hermes-agent '''Hermes Agent'''] : l'agent qui s'améliore et grandit avec toi.
* Ajout de [https://github.com/ynotopec/api-convert2md '''api-convert2md'''] : extraction de tableaux pour RAG compatible Open WebUI.
* [https://github.com/anomalyco/opencode '''opencode'''] : CLI coder à comparer avec Aider / OpenHands. (⚠️ migration : ancienne URL `github.com/sst/opencode` → redirige vers `anomalyco/opencode`)
* Mise à jour des paramètres '''RAG optimisation'''.
* [https://github.com/ynotopec/api-convert2md '''api-convert2md'''] : extraction de tableaux pour RAG compatible Open WebUI.
* Ajout de [https://github.com/ynotopec/coder-brain/blob/main/first-architecture.md '''experimental brains'''].
* Ajout de [https://github.com/ynotopec/coder-brain/blob/main/first-architecture.md '''brains expérimentaux'''].
* Ajout de [https://github.com/ynotopec/legal-agent '''legal-agent'''].
* Ajout de [https://github.com/ynotopec/legal-agent '''legal-agent'''].
* Ajout de [https://github.com/ynotopec/ai-security '''ai-security'''].
* Ajout de [https://github.com/ynotopec/ai-security '''ai-security'''].
* Ajout de [https://langextract.ailab.infocepo.com '''langextract'''] : démo extraction d’entités.
* [https://sam-audio.ailab.infocepo.com '''sam-audio'''] : séparation audio sémantique.
* Ajout de [https://sam-audio.c1.ailab.infocepo.com:wait-2026-06 '''sam-audio'''] : séparation audio sémantique.
* Ajout de l'[https://github.com/ynotopec/api-realtime-ai '''API Realtime'''] : WebRTC / WebSocket bidirectionnel basse latence.
* Ajout de '''glm-4.7-flash''' : modèle 30B léger orienté performance / efficacité.
 
* Ajout de '''API Realtime''' : WebRTC / WebSocket bidirectionnel basse latence.
----
 
== Nouveautés du 02/06 au 31/07/2026 ==
* [https://github.com/ynotopec/translate-rt '''translate-rt'''] : API de traduction multilingue temps réel — PR #3 fix timeout (gestion réponses lentes), PR #2 URLs configurables via .env.
* [https://github.com/ynotopec/GLM-4.7-Flash-vLLM '''GLM-4.7-Flash-vLLM'''] : Déploiement vLLM GLM-4.7 Flash.
* [https://github.com/ynotopec/qwen3.5-fp8-vllm '''qwen3.5-fp8-vllm'''] : Déploiement Qwen 3.5 FP8 via vLLM.
* [https://github.com/ynotopec/api-rag '''api-rag'''] : API RAG (recherche sémantique) — fix support FAISS SVE, suppression logs verbeux, wait-for-APIS avant build index vectoriel.
* [https://github.com/ynotopec/api-diarization '''api-diarization'''] : API de diarisation audio — installation améliorée, ergonomie de l’authentification et documentation de configuration du projet.
* [https://github.com/ynotopec/api-audio2txt '''api-audio2txt'''] : API FastAPI ASR (Whisper) — refonte complète, installation avec uv et documentation d’exécution.
* [https://github.com/ynotopec/api-llm-privacy-proxy-openmed '''privacy-proxy-openmed'''] : Privacy proxy OpenMed-based — LLM upstream optionnel (mode privacy-only).
* [https://github.com/ynotopec/api-llm-privacy-proxy-gliner2 '''privacy-proxy-gliner2'''] : Privacy proxy GLiNER2-based — détection entités nommées, upstream LLM optionnel, PR #1 en cours.
* [https://github.com/ynotopec/api-llm-custom '''api-llm-custom'''] : Proxy LLM personnalisé — paramètres de modèle configurables, alias <code>ai-default</code> et gestion des erreurs amont.
 
 
== Nouveautés 03/08/2026 ==
* [https://github.com/ynotopec/infocepo-infra-mcp '''infocepo-infra-mcp'''] : MCP server universel — zéro clé en dur, lecture API key depuis ~/.infocepo-credentials, déploiement K8s, refacto stdio (plus de shell wrapper).
* [https://github.com/ynotopec/nemotron-embed '''nemotron-embed'''] : Service Nemotron-3 Embedding vLLM — systemd service, script de lancement, documentation d'installation.
* [https://github.com/ynotopec/agent-saas '''agent-saas'''] : Plateforme SaaS d'agents IA autonomes — manifests K8s complets, dashboard FastAPI, hardening déploiement.
* [https://github.com/ynotopec/api-mcp-openai '''api-mcp-openai'''] : Serveur MCP OpenAI — setup complet, fix token bearer inactif, sélection port libre pour démarrage interactif (PR #1, #2).


----
----


= Priorités =
= Priorités =


== Top tasks ==
== Top tasks ==
* Ajouter [https://github.com/microsoft/presidio '''Presidio'''] : anonymisation / masquage PII, socle RGPD.
* [https://github.com/microsoft/presidio '''Presidio'''] : anonymisation / masquage PII, socle RGPD.
* Ajouter [https://github.com/sgl-project/sglang '''SGLang'''] : serving LLM haute performance.
* [https://github.com/llm-d/llm-d '''llm-d'''] : blueprints + charts Kubernetes pour industrialiser les déploiements.
* Ajouter [https://github.com/llm-d/llm-d '''llm-d'''] : blueprints + charts Kubernetes pour industrialiser les déploiements.
* [https://github.com/ai-dynamo/dynamo '''Dynamo'''] : orchestration inférence multi-nœuds.
* Ajouter [https://github.com/ai-dynamo/dynamo '''Dynamo'''] : orchestration inférence multi-nœuds.
* [https://github.com/vllm-project/guidellm '''GuideLLM'''] : capacity planning / benchmark réaliste.
* Ajouter [https://github.com/vllm-project/guidellm '''GuideLLM'''] : capacity planning / benchmark réaliste.
* [https://github.com/NVIDIA-NeMo/Guardrails '''NeMo Guardrails'''] : garde-fous et politiques.
* Ajouter [https://github.com/NVIDIA-NeMo/Guardrails '''NeMo Guardrails'''] : garde-fous et politiques.
* '''Coût unitaire par tâche''' : chaque API doit exposer son prix/ml/token en temps réel — pas une facture mensuelle.
* '''Qualité auto''' : précision/hallucination rate branchés sur les sorties IA, avec rollback automatique si qualité < seuil.
 
== Priorités & Veille ==


== Backlog / veille ==
Les priorités ci-dessous sont les seules entrées de veille conservées. Chaque item doit avoir un '''statut''' : ''en cours'', ''testé'', ''retenu'' ou ''abandonné''. Les projets sans action réelle sont retirés à chaque révision.
* OPENRAG > implement / evaluate / add OIDC
* short audio transcription
* translation latency > [https://github.com/ynotopec/api-realtime-ai api-realtime-ai]
* RAG sur PDF avec images
* compatibilité Open WebUI avec Agentic RAG
* scalability
* security > [https://github.com/ynotopec/ai-security ai-security] / [https://github.com/NVIDIA-NeMo/Guardrails NeMo Guardrails]
* [https://github.com/openclaw/openclaw openclaw]
* faster-whisper mutualisé
* API classificateur IA
* API résumé mutualisée
* API KV (LDAP user / group)
* API NER
* parsing structuré docs : granite-docling + meilisearch
* Temporal pour workflows critiques
* [https://github.com/appwrite/appwrite appwrite]
* [https://github.com/vllm-project/semantic-router semantic-router]
* [https://github.com/KeygraphHQ/shannon Shannon]
* [https://huggingface.co/Qwen/Qwen3-ASR-1.7B Qwen3-ASR-1.7B]
* [https://huggingface.co/tencent/Youtu-VL-4B-Instruct Youtu-VL-4B-Instruct]
* [https://huggingface.co/stepfun-ai/Step3-VL-10B Step3-VL-10B]
* [https://huggingface.co/Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice Qwen3-TTS-12Hz-1.7B-CustomVoice]
* [https://github.com/resemble-ai/chatterbox chatterbox]
* deepset-ai/haystack
* meilisearch
* [https://huggingface.co/ibm-granite/granite-docling-258M granite-docling-258M]
* Airbyte
* [https://github.com/Aider-AI/aider aider]
* [https://github.com/continuedev/continue continue]
* OpenHands
* N8N
* API Compressor
* LightRAG
* [https://huggingface.co/Qwen/Qwen3-Omni-30B-A3B-Instruct Qwen3-Omni-30B-A3B-Instruct]
* Metabase
* browser-use
* MCP LLM
* Dify
* Rasa
* supabase
* mem0
* DeepResearch
* AppFlowy
* dx8152/Qwen-Edit-2509-Multiple-angles


----
* [https://github.com/vllm-project/semantic-router '''Semantic Router'''] : routage sémantique de requêtes vers les bons modèles.
* [https://github.com/LMCache/LMCache '''LMCache'''] : couche KV cache pour réduire la latence d'inférence.
* [https://github.com/temporalio/temporal '''Temporal'''] : orchestration de workflows critiques avec persistence.
* [https://github.com/lyogavin/airllm '''airLLM'''] : inférence LLM sur GPU de 4 Go — pour réduire les coûts d’inférence locale.
* [https://github.com/diegosouzapw/OmniRoute '''OmniRoute'''] : passerelle multi-providers (50+ gratuits), compression 15-95% de tokens — à évaluer comme fallback.


= Assistants IA & outils cloud =
= Assistants IA & outils cloud =
Line 205: Line 189:
== Assistants IA ==
== Assistants IA ==


; '''ChatGPT'''
; '''Assistant IA auto-hébergé'''
* [https://chatgpt.com ChatGPT] – Assistant conversationnel public, utile pour exploration, rédaction, expérimentation rapide.
* [https://github.com/nesquena/hermes-webui '''Hermes WebUI'''] + [https://ollama.com '''Ollama'''] + GPU   
 
; '''Assistants IA auto-hébergés'''
* [https://github.com/open-webui/open-webui Open WebUI] + [https://ollama.com Ollama] + GPU   
: Stack typique pour assistant privé, API OpenAI-compatible et expérimentation locale.
: Stack typique pour assistant privé, API OpenAI-compatible et expérimentation locale.
* [https://github.com/ynotopec/summarize Private summary] 
: Outil de résumé local, rapide et hors ligne.


== Développement, modèles & veille ==
== Développement, modèles & veille ==


; '''Découverte de modèles'''
; '''Découverte de modèles'''
* [https://ollama.com/library LLM Trending]
* [https://huggingface.co/models '''Models Trending''']
* [https://huggingface.co/models Models Trending]
* [https://huggingface.co/models?pipeline_tag=image-text-to-text&sort=trending Img2txt Trending]
* [https://arena.ai/leaderboard/text-to-image Txt2img Evaluation]


; '''Évaluation & benchmarks'''
; '''Évaluation & benchmarks'''
* [https://lmarena.ai/leaderboard ChatBot Evaluation]
* [https://arena.ai/leaderboard/code '''Agentic Evaluation''']
* [https://huggingface.co/spaces/mteb/leaderboard Embedding Leaderboard]
* [https://ann-benchmarks.com Vectors DB Ranking]
* [https://top500.org/lists/green500 HPC Efficiency]


; '''Outils de développement & fine-tuning'''
; '''Outils de développement & fine-tuning'''
* [https://github.com/search?q=stars%3A%3E22222+forks%3A%3E222+AI+OR+LLM&type=repositories&s=updated&o=desc Project Trending]
* [https://github.com/trending?since=weekly '''Project Trending''']
* [https://grok.com News search]
* [https://grok.com '''News search''']
 
 
=== Assistants IA & Agents ===
* [https://github.com/TencentCloud/TencentDB-Agent-Memory '''TencentDB-Agent-Memory'''] : hub de mémoire d’équipe pour agents IA — transforme conversations, documents et code en ressources réutilisables.
* [https://github.com/unclebob/swarm-forge '''Swarm Forge'''] : Outil simple de coordination de plusieurs agents IA.
* [https://github.com/embabel/embabel-agent '''Embabel Agent'''] : Framework agent pour JVM (Kotlin/Java).
* [https://github.com/zhaoxuya520/reverse-skill '''reverse-skill'''] : ensemble de skills de routage pour rétro-ingénierie et pentest — routage IA et initialisation automatique de la chaîne d’outils.
* [https://github.com/esengine/DeepSeek-Reasonix '''DeepSeek-Reasonix'''] : Agent de codage terminal natif DeepSeek, optimisé pour la stabilité du prefix-cache.
* [https://github.com/ayghri/i-have-adhd '''i-have-adhd'''] : skill qui incite l’agent de code à fournir une réponse claire et orientée action.
* [https://github.com/block/buzz '''Buzz (Block)'''] : Plateforme de communication type hive mind pour collaboration multi-agents.
 
* [https://github.com/livekit/agents '''LiveKit Agents'''] : Framework Python/Node.js pour agents IA vocaux en temps réel — build, deployer et scaler des agents multimodaux en production. (1 100+ ★)
* [https://github.com/huangruiteng/loopx '''loopx'''] : noyau d’ingénierie de boucle légère pour les équipes d’agents IA à long terme, agnostique aux agents de code, avec objectifs durables et transferts vérifiables.
 
* [https://github.com/cloudflare/computer '''cloudflare/computer'''] : environnement d’exécution pour agents IA — terminal complet et système d’exploitation pour exécuter des agents autonomes.
* [https://github.com/google/skills '''google/skills'''] : ensemble de skills IA pour les produits Google — intégration d’outils et de services Google pour les agents de code.
* [https://github.com/uber/adr '''adr'''] - ADR secures enterprise AI agents through observability, security benchmarking, and threat detection. Deployed at Uber..
=== RAG & Traitement de Documents ===
* [https://github.com/virgiliojr94/book-to-skill '''book-to-skill'''] : transforme tout PDF technique en skill Claude Code, prêt à être étudié et référencé.
* [https://github.com/firecrawl/pdf-inspector '''pdf-inspector'''] : bibliothèque Rust rapide pour l’inspection, la classification et l’extraction de texte PDF — détection intelligente des scans et du texte pour le routage RAG. (8 600+ ★)
* [https://github.com/vitali87/code-graph-rag '''Code-Graph-RAG'''] : RAG pour monorepo via graphe de connaissances — interroge, comprend et édite une base de code multilangage avec l’IA et Tree-sitter ; compatible MCP.
 
=== Infrastructure & Backend ===
* [https://github.com/antirez/ds4 '''ds4'''] : moteur d’inférence local DeepSeek 4 Flash/PRO pour Metal, CUDA et ROCm, par Antirez.
 
=== Outils complémentaires ===
* [https://github.com/alibaba/open-code-review '''open-code-review'''] : outil open source de revue de code testé à l’échelle d’Alibaba : pipeline déterministe et agent LLM avec commentaires précis par ligne. (16 590 ★)
* [https://github.com/agavra/tuicr '''tuicr'''] : outil de revue de code en TUI avec raccourcis Vim.
* [https://github.com/goauthentik/authentik '''authentik'''] : fournisseur d’identité open source auto-hébergé — SSO, MFA, SCIM et fédération d’identité ; alternative à Okta/Auth0. (54 000+ ★)
* [https://github.com/semantica-agi/semantica '''semantica'''] : infrastructure orientée graphe pour le contexte et des systèmes IA responsables.
* [https://github.com/drawdb-io/drawdb '''drawdb'''] : éditeur en ligne gratuit et intuitif de diagrammes de bases de données.


== Matériel IA & GPU ==
== Matériel IA & GPU ==
* [https://www.nvidia.com/en-us/data-center/h100/ NVIDIA H100]
* NVIDIA GH200
* DGX Spark
* DGX Spark
* NVIDIA 5080
* [https://www.mouser.fr/ProductDetail/BittWare/RS-GQ-GC1-0109?qs=ST9lo4GX8V2eGrFMeVQmFw%3D%3D '''GROQ LLM accelerator''']
* [https://www.mouser.fr/ProductDetail/BittWare/RS-GQ-GC1-0109?qs=ST9lo4GX8V2eGrFMeVQmFw%3D%3D GROQ LLM accelerator]


----
----
Line 248: Line 251:
! Variable !! Valeur
! Variable !! Valeur
|-
|-
| OPENAI_API_BASE || <code>wss://api-realtime-ai.ailab.infocepo.com:wait-2026-06/v1</code>
| OPENAI_API_BASE || <code>wss://api-realtime-ai.ailab.infocepo.com:wait-2026-12/v1</code>
|-
|-
| OPENAI_API_KEY || <code>sk-XXXXX</code>
| OPENAI_API_KEY || <code>sk-XXXXX</code>
Line 266: Line 269:
= API LLM (OpenAI compatible) =
= API LLM (OpenAI compatible) =


* URL de base : <code>https://api.ailab.infocepo.com:wait-2026-06/v1</code>
* URL de base : <code>https://api-nothink.ailab.infocepo.com/v1</code>
* Création du token : [https://llm-token.ailab.infocepo.com:wait-2026-06 OPENAI_API_KEY]
* Création du token : [https://llm-token.ailab.infocepo.com:wait-2026-12 OPENAI_API_KEY]
* Documentation : [https://api.ailab.infocepo.com:wait-2026-06 Documentation API]
* Documentation : [https://api-nothink.ailab.infocepo.com/docs Documentation API]


== Liste des modèles ==
== Liste des modèles ==
<pre>
<pre>
curl -X GET \
curl -X GET \
   'https://api.ailab.infocepo.com:wait-2026-06/v1/models' \
   'https://api-nothink.ailab.infocepo.com/v1/models' \
   -H 'Authorization: Bearer sk-XXXXX' \
   -H 'Authorization: Bearer sk-XXXXX' \
   -H 'accept: application/json' \
   -H 'accept: application/json' \
Line 281: Line 284:
== Modèles ouverts & endpoints internes ==
== Modèles ouverts & endpoints internes ==


''Dernière mise à jour : 2026-04-17''
''Dernière mise à jour : 2026-06-30''


Les modèles ci-dessous correspondent à des '''endpoints logiques''' exposés derrière une passerelle.
Les modèles ci-dessous correspondent à des '''endpoints logiques''' exposés derrière une passerelle.
Line 288: Line 291:
! Endpoint !! Description / usage principal
! Endpoint !! Description / usage principal
|-
|-
| '''ai-chat''' || '''qwen3.6:35b fp8''' en mode '''nothink''' – chat multilingue
| '''ai-thinking''' || '''qwen3.6''' – thinking
|-
|-
| '''ai-tools''' || '''qwen3.6:35b fp8''' – tâches agentiques et outils
| '''ai-fast''' || '''qwen3.6''' en mode '''fast''' – vision/OCR/ai-default
|-
| '''ai-ocr''' || '''qwen3.6:35b fp8''' en mode '''nothink''' – OCR
|-
| '''ai-summary''' || '''qwen3.6:35b fp8''' en mode '''nothink''' – résumé
|-
| '''ai-rag''' || '''qwen3.6:35b fp8''' en mode '''nothink''' – RAG multilingue
|-
| '''ai-translate''' || '''qwen3.6:35b fp8''' en mode '''nothink''' – traduction multilingue
|-
|-
| '''ai-embedding''' || '''bge-m3''' – recherche sémantique
| '''ai-embedding''' || '''bge-m3''' – recherche sémantique
|-
|-
| '''ai-stt''' || '''whisper3-turbo''' – transcription vocale multilingue
| '''ai-stt''' || '''whisper3-turbo''' – transcription vocale multilingual
|-
|-
| '''ai-tts''' || '''Kokoro-82M''' – TTS multilingue limité ''(actuel, internal dev)''
| '''ai-tts''' || '''OmniVoice''' – TTS multilingual
|-
|-
| '''ai-tts-next''' || '''OmniVoice''' – TTS multilingue en évaluation
| '''ai-image''' || '''OpenDalle''' – image génération
|}
|}


== Exemple bash ==
== Exemple bash ==
<pre>
<pre>
export OPENAI_API_MODEL="ai-chat"
export OPENAI_API_MODEL="ai-default"
export OPENAI_API_BASE="https://api.ailab.infocepo.com:wait-2026-06/v1"
export OPENAI_API_BASE="https://api-nothink.ailab.infocepo.com/v1"
export OPENAI_API_KEY="sk-XXXXX"
export OPENAI_API_KEY="sk-XXXXX"


Line 322: Line 317:
}'
}'


curl -k ${OPENAI_API_BASE}/chat/completions \
curl ${OPENAI_API_BASE}/chat/completions \
   -H "Content-Type: application/json" \
   -H "Content-Type: application/json" \
   -H "Authorization: Bearer $OPENAI_API_KEY" \
   -H "Authorization: Bearer $OPENAI_API_KEY" \
Line 332: Line 327:


'''DEV (au choix)'''
'''DEV (au choix)'''
* '''A.''' <code>LiteLLM → vLLM</code> : tests perf / compatibilité
* '''A.''' <code>LiteLLM → vLLM/SgLang</code> : tests perf / compatibilité
* '''B.''' <code>LiteLLM → Ollama</code> : simple, rapide à itérer
* '''B.''' <code>LiteLLM → Ollama</code> : simple, rapide à itérer
* '''C.''' <code>Ollama</code> direct : POC ultra-léger
* '''C.''' <code>Ollama</code> direct : POC ultra-léger
Line 340: Line 335:


'''PROD'''
'''PROD'''
* '''Standard :''' <code>LiteLLM → vLLM</code>
* '''Standard :''' <code>LiteLLM → vLLM/SgLang</code>
* '''Pont DEV→PROD :''' <code>LiteLLM (DEV) → LiteLLM (PROD) → vLLM</code>
* '''Pont DEV→PROD :''' <code>LiteLLM (DEV) → LiteLLM (PROD) → vLLM/SgLang</code>


'''Notes :'''
'''Notes :'''
* '''LiteLLM''' = passerelle unique (clés, quotas, logs)
* '''LiteLLM''' = passerelle unique (clés, quotas, logs)
* '''vLLM''' = performance / stabilité en charge
* '''vLLM/SgLang''' = performance / stabilité en charge
* '''Ollama''' = simplicité de prototypage
* '''Ollama''' = simplicité de prototypage


Line 353: Line 348:


* Utilise l’API LLM avec un endpoint adapté à l’OCR / VLM.
* Utilise l’API LLM avec un endpoint adapté à l’OCR / VLM.
* Modèle recommandé : <code>ai-ocr</code>
* Modèle recommandé : <code>ai-vision</code>


== Exemple bash ==
== Exemple bash ==
Line 363: Line 358:
jq -n --rawfile img img.b64 \
jq -n --rawfile img img.b64 \
'{
'{
   model: "ai-ocr",
   model: "ai-vision",
   messages: [
   messages: [
     {
     {
Line 378: Line 373:
}' > payload.json
}' > payload.json


curl https://api.ailab.infocepo.com:wait-2026-06/v1/chat/completions \
curl https://api-nothink.ailab.infocepo.com/v1/chat/completions \
   -H "Authorization: Bearer $OPENAI_API_KEY" \
   -H "Authorization: Bearer $OPENAI_API_KEY" \
   -H "Content-Type: application/json" \
   -H "Content-Type: application/json" \
Line 392: Line 387:


API_KEY = os.getenv("OPENAI_API_KEY")
API_KEY = os.getenv("OPENAI_API_KEY")
MODEL = "ai-ocr"
MODEL = "ai-vision"
IMG_PATH = "/path/to/image.png"
IMG_PATH = "/path/to/image.png"
API_URL = "https://api.ailab.infocepo.com:wait-2026-06/v1/chat/completions"
API_URL = "https://api-nothink.ailab.infocepo.com/v1/chat/completions"


with open(IMG_PATH, "rb") as f:
with open(IMG_PATH, "rb") as f:
Line 480: Line 475:
= API TTS =
= API TTS =


* URL : <code>https://api-txt2audio.ailab.infocepo.com/v1</code>
* URL : <code>https://api-tts-omnivoice.ailab.infocepo.com/v1</code>
* Clé : <code>OPENAI_API_KEY=sk-XXXXX</code>
* Clé : <code>OPENAI_API_KEY=sk-XXXXX</code>
* Documentation : [https://tts.ailab.infocepo.com:wait-2026-06/docs API TTS docs]
* Documentation : [https://api-tts-omnivoice.ailab.infocepo.com/docs API TTS docs]


== Exemple ==
== Exemple ==
Line 488: Line 483:
export OPENAI_API_KEY=sk-XXXXX
export OPENAI_API_KEY=sk-XXXXX


curl https://api-txt2audio.ailab.infocepo.com/v1/audio/speech \
curl https://api-tts-omnivoice.ailab.infocepo.com/v1/audio/speech \
   -H "Authorization: Bearer $OPENAI_API_KEY" \
   -H "Authorization: Bearer $OPENAI_API_KEY" \
   -H "Content-Type: application/json" \
   -H "Content-Type: application/json" \
Line 541: Line 536:
= API Summary =
= API Summary =


* Documentation : [https://api-summary.ailab.infocepo.com:wait-2026-06/docs API Summary docs]
* Documentation : [https://api-summary.ailab.infocepo.com:wait-2026-12/docs API Summary docs]


== Exemple ==
== Exemple ==
Line 549: Line 544:
json_payload=$(jq -nc --arg text "$text" '{"text": $text}')
json_payload=$(jq -nc --arg text "$text" '{"text": $text}')


curl -X POST https://api-summary.ailab.infocepo.com:wait-2026-06/summary/ \
curl -X POST https://api-summary.ailab.infocepo.com:wait-2026-12/summary/ \
   -H "Content-Type: application/json" \
   -H "Content-Type: application/json" \
   -d "$json_payload"
   -d "$json_payload"
Line 558: Line 553:
= API Text Embeddings =
= API Text Embeddings =


* URL : <code>https://text-embeddings.ailab.infocepo.com:wait-2026-06</code>
* URL : <code>https://api-embedding.ailab.infocepo.com/v1</code>
* Documentation : [https://text-embeddings.ailab.infocepo.com:wait-2026-06/docs Documentation]
* Documentation : [https://api-embedding.ailab.infocepo.com/docs Documentation]


== Exemple ==
== Exemple ==
<pre>
<pre>
curl -k https://text-embeddings.ailab.infocepo.com:wait-2026-06/embed \
curl https://api-embedding.ailab.infocepo.com/v1/embeddings \
   -X POST \
   -X POST \
   -d '{"inputs":"What is Deep Learning?"}' \
  -H 'Authorization: Bearer sk-XXXXX' \
   -d '{"model":"bge-m3","input":"What is Deep Learning?"}' \
   -H 'Content-Type: application/json'
   -H 'Content-Type: application/json'
</pre>
</pre>
Line 574: Line 570:


== Production ==
== Production ==
* URL : <code>https://chromadb.ailab.infocepo.com:wait-2026-06</code>
* URL : <code>https://chromadb.ailab.infocepo.com:wait-2026-12</code>
* Token : <code>XXXXX</code>
* Token : <code>XXXXX</code>


== Lab ==
== Lab ==
<pre>
<pre>
export CHROMA_HOST=https://chromadb.c1.ailab.infocepo.com:wait-2026-06
export CHROMA_HOST=https://chromadb.c1.ailab.infocepo.com:wait-2026-12
export CHROMA_PORT=443
export CHROMA_PORT=443
export CHROMA_TOKEN=XXXX
export CHROMA_TOKEN=XXXX
Line 645: Line 641:
= Registry =
= Registry =


* URL : [https://registry.ailab.infocepo.com:wait-2026-06 registry.ailab.infocepo.com:wait-2026-06]
* URL : [https://registry.ailab.infocepo.com:wait-2026-09 registry.ailab.infocepo.com:wait-2026-09]
* Login : <code>user</code>
* Login : <code>user</code>
* Password : <code>XXXXX</code>
* Password : <code>XXXXX</code>
Line 651: Line 647:
== Exemple ==
== Exemple ==
<pre>
<pre>
curl -u "user:XXXXX" https://registry.ailab.infocepo.com:wait-2026-06/v2/_catalog
curl -u "user:XXXXX" https://registry.ailab.infocepo.com:wait-2026-09/v2/_catalog
</pre>
</pre>


Line 660: Line 656:


kubectl -n ${nameSpace} create secret docker-registry pull-secret \
kubectl -n ${nameSpace} create secret docker-registry pull-secret \
   --docker-server=registry.ailab.infocepo.com:wait-2026-06 \
   --docker-server=registry.ailab.infocepo.com:wait-2026-09 \
   --docker-username=user \
   --docker-username=user \
   --docker-password=XXXXX \
   --docker-password=XXXXX \
Line 673: Line 669:
= Stockage objet externe (S3) =
= Stockage objet externe (S3) =


* Endpoint : <code>https://s3.ailab.infocepo.com:wait-2026-06</code>
* Endpoint : <code>https://s3.ailab.infocepo.com:wait-2026-09</code>
* Access key : <code>XXXX</code>
* Access key : <code>XXXX</code>
* Secret key : <code>XXXX</code>
* Secret key : <code>XXXX</code>
Line 684: Line 680:


* Embeddings : <code>BAAI/bge-m3</code>
* Embeddings : <code>BAAI/bge-m3</code>
* <code>chunk_size=1200</code>
* <code>chunk_size=1000</code>
* <code>chunk_overlap=100</code>
* <code>chunk_overlap=100</code>
* LLM : <code>qwen3</code>
* LLM : <code>qwen3.6</code>
* Pour les PDF mixtes : '''PDF → image → OCR / VLM''' peut améliorer les résultats.
* Pour les PDF mixtes : '''PDF → image → OCR / VLM''' peut améliorer les résultats.


----
----


= Processus usine IA =
= Workflow =


{| class="wikitable" style="width:80%;"
Flux direct : code → CI/CD → déploiement → supervision. Chaque étape se déclenche automatiquement lorsque la précédente réussit. En cas d’échec, une alerte est émise directement ; une intervention humaine n’est requise qu’en cas de décision explicite de repli.
! Étape !! Description !! Outils utilisés !! Responsable(s)
|-
| 1 || Idée || - || Équipe projet
|-
| 2 || Développement || Environnement Onyxia / lab || Équipe projet
|-
| 3 || Déploiement || CI/CD, GitHub, Kubernetes || Équipe DevOps
|-
| 4 || Surveillance || Uptime-Kuma, dashboards || Équipe DevOps
|-
| 5 || Alertes || Mattermost || Équipe DevOps
|-
| 6 || Support infrastructure || - || Équipe SRE
|-
| 7 || Support applicatif || - || Équipe applicative
|}


----
----
Line 716: Line 696:


== Hors production ==
== Hors production ==
* Utiliser [https://datalab.ailab.infocepo.com:wait-2026-06 datalab]
* Utiliser [https://datalab.ailab.infocepo.com:wait-2026-12 DataLab]
* Support : canal Mattermost Offre IA
* Support : canal Mattermost Offre IA
* Le pseudo utilisateur doit respecter la convention interne
* Le pseudo utilisateur doit respecter la convention interne
Line 727: Line 707:


== Limites de l’infrastructure ==
== Limites de l’infrastructure ==
* Les charges GPU sont intentionnellement limitées en journée.
* Les charges GPU sont volontairement limitées en journée.
 
* Le coût unitaire est mesuré automatiquement dans des tableaux de bord en temps réel.
----
----


Line 743: Line 724:
* comparer plusieurs environnements,
* comparer plusieurs environnements,
* préparer un plan de migration ou de remédiation.
* préparer un plan de migration ou de remédiation.


== Exemple de migration cloud ==
== Exemple de migration cloud ==
Line 787: Line 769:
| Extinction / redémarrage simultané de tous les nœuds || Les services repartent correctement après reboot
| Extinction / redémarrage simultané de tous les nœuds || Les services repartent correctement après reboot
|}
|}
'''Autonomie testée''' : vérifier que la migration fonctionne seule en tirant le repo et lançant le script, sans personne qui connaît le système de tête.


----
----
Line 806: Line 791:
** '''Varnish''', '''Apache Traffic Server''',
** '''Varnish''', '''Apache Traffic Server''',
* favoriser les stacks open-source,
* favoriser les stacks open-source,
* utiliser files, buffers, queues et quotas pour lisser les pics.
* utiliser des fichiers, tampons, files d’attente et quotas pour lisser les pics.


== Références ==
== Références ==
Line 919: Line 904:


== SSO ==
== SSO ==
* [https://auth-lab.ailab.infocepo.com:wait-2026-06/auth Keycloak]
* [https://auth-lab.ailab.infocepo.com:wait-2026-12/auth Keycloak]


== MLflow ==
== MLflow ==

Revision as of 15:49, 12 August 2026

Découvrir le cloud et l’IA sur infocepo.com

infocepo.com – Cloud, AI & Labs

Bienvenue sur le portail infocepo.com.

Ce wiki documente l’écosystème cloud, IA, automatisation et laboratoires d’Infocepo. Il s’adresse aux :

  • administrateurs systèmes,
  • ingénieurs cloud,
  • développeurs,
  • étudiants,
  • curieux qui veulent apprendre en pratiquant.

L’objectif est simple : transformer la théorie en scripts réutilisables, schémas, architectures, APIs et laboratoires concrets.


Accès rapide

Portail principal

Assistant IA

Liste des pages du wiki

Vue d’ensemble

Vue d’ensemble de l’architecture

Démarrer rapidement

Parcours recommandés

1. Construire un assistant IA privé
  • Déployer une stack type Hermes WebUI + Ollama + GPU
  • Ajouter un modèle de chat et un modèle de résumé
  • Brancher des données internes via RAG + embeddings
2. Lancer un lab cloud
  • Créer un petit cluster Kubernetes, OpenStack ou bare-metal
  • Mettre en place un pipeline de déploiement (Helm, Ansible, Terraform…)
  • Ajouter un service IA : transcription, résumé, chatbot, OCR…
3. Préparer un audit ou une migration
  • Inventorier les serveurs avec ServerDiff.sh
  • Concevoir l’architecture cible
  • Automatiser la migration avec des scripts reproductibles

Vue d’ensemble du contenu

  • Guides IA & outils : assistants, modèles, évaluation, GPU, RAG
  • Cloud & infrastructure : Kubernetes, OpenStack, HA, HPC, DevSecOps
  • Labs & scripts : audit, migration, automatisation
  • Comparatifs : Kubernetes vs OpenStack vs AWS vs bare-metal, etc.

Vision

The world after automation

Le but à long terme est de construire un environnement où :

  • les assistants IA privés accélèrent la production,
  • les tâches répétitives sont automatisées,
  • les déploiements sont industrialisés,
  • l’infrastructure reste compréhensible, portable et réutilisable.

Chaque sortie IA est mesurée en temps réel ; les modèles insuffisants sont remplacés automatiquement et les tâches sans valeur sont supprimées. L’autonomie repose sur des mécanismes techniques qui restent opérationnels sans intervention continue, plutôt que sur de simples règles documentées.

Main page summary

Catalogue rapide des services

Services principaux
Catégorie Service Rôle
API LLM Modèles de chat, code, RAG, OCR
API STT Transcription audio
API TTS Synthèse vocale
API realtime-ai Temps réel WebSocket / WebRTC
API IMAGE2TXT OCR / VLM via endpoint dédié
API summary Résumé de textes longs
API EMBEDDINGS Embeddings pour RAG
API ChromaDB Base vecteur
API TXT2IMAGE Génération d’images
API diarization Segmentation locuteurs
Observabilité monitoring Dashboards techniques
Observabilité status Disponibilité des services
Observabilité web-stat Statistiques web
Observabilité LLM-stat Vue API / usage
Outils dataLab Environnement de travail hors-production
Outils realtime translation Traduction
Outils Demos Démonstrateurs

Nouveautés

Nouveautés 01/08/2026

  • Traduction temps réel : réduction significative des hallucinations lors des silences, diminution de la latence et ajout de la plupart des langues en TTS.
  • TTS Omnivoice : Qualité TTS augmenté et ajout plus global des langues (600).
  • LightRAG : LightRAG est un framework RAG avancé et léger qui combine graphes de connaissances et recherche vectorielle pour une analyse contextuelle profonde et efficace.
  • API reranker : git.
  • API embedding : Mise à jour des paramètres RAG optimisation : bge-m3 (chunk 1000, 100 overlap). git
  • privacy-filter : filtrage données personnelles.
  • Un seul fichier CLAUDE.md inspiré d'Andrej Karpathy pour transformer Claude en un vrai ingénieur logiciel.
  • Qwen3.6 : Qwen3.6 delivers substantial upgrades in agentic coding and thinking preservation than previous Qwen models. Déployé avec NVIDIA/Qwen3.6-35B-A3B-NVFP4 — quantisation NVFP4 optimisée pour l'inférence GPU NVIDIA.
  • Hermes Agent : l'agent qui s'améliore et grandit avec toi.
  • opencode : CLI coder à comparer avec Aider / OpenHands. (⚠️ migration : ancienne URL `github.com/sst/opencode` → redirige vers `anomalyco/opencode`)
  • api-convert2md : extraction de tableaux pour RAG compatible Open WebUI.
  • Ajout de brains expérimentaux.
  • Ajout de legal-agent.
  • Ajout de ai-security.
  • sam-audio : séparation audio sémantique.
  • Ajout de l'API Realtime : WebRTC / WebSocket bidirectionnel basse latence.

Nouveautés du 02/06 au 31/07/2026

  • translate-rt : API de traduction multilingue temps réel — PR #3 fix timeout (gestion réponses lentes), PR #2 URLs configurables via .env.
  • GLM-4.7-Flash-vLLM : Déploiement vLLM GLM-4.7 Flash.
  • qwen3.5-fp8-vllm : Déploiement Qwen 3.5 FP8 via vLLM.
  • api-rag : API RAG (recherche sémantique) — fix support FAISS SVE, suppression logs verbeux, wait-for-APIS avant build index vectoriel.
  • api-diarization : API de diarisation audio — installation améliorée, ergonomie de l’authentification et documentation de configuration du projet.
  • api-audio2txt : API FastAPI ASR (Whisper) — refonte complète, installation avec uv et documentation d’exécution.
  • privacy-proxy-openmed : Privacy proxy OpenMed-based — LLM upstream optionnel (mode privacy-only).
  • privacy-proxy-gliner2 : Privacy proxy GLiNER2-based — détection entités nommées, upstream LLM optionnel, PR #1 en cours.
  • api-llm-custom : Proxy LLM personnalisé — paramètres de modèle configurables, alias ai-default et gestion des erreurs amont.


Nouveautés 03/08/2026

  • infocepo-infra-mcp : MCP server universel — zéro clé en dur, lecture API key depuis ~/.infocepo-credentials, déploiement K8s, refacto stdio (plus de shell wrapper).
  • nemotron-embed : Service Nemotron-3 Embedding vLLM — systemd service, script de lancement, documentation d'installation.
  • agent-saas : Plateforme SaaS d'agents IA autonomes — manifests K8s complets, dashboard FastAPI, hardening déploiement.
  • api-mcp-openai : Serveur MCP OpenAI — setup complet, fix token bearer inactif, sélection port libre pour démarrage interactif (PR #1, #2).

Priorités

Top tasks

  • Presidio : anonymisation / masquage PII, socle RGPD.
  • llm-d : blueprints + charts Kubernetes pour industrialiser les déploiements.
  • Dynamo : orchestration inférence multi-nœuds.
  • GuideLLM : capacity planning / benchmark réaliste.
  • NeMo Guardrails : garde-fous et politiques.
  • Coût unitaire par tâche : chaque API doit exposer son prix/ml/token en temps réel — pas une facture mensuelle.
  • Qualité auto : précision/hallucination rate branchés sur les sorties IA, avec rollback automatique si qualité < seuil.

Priorités & Veille

Les priorités ci-dessous sont les seules entrées de veille conservées. Chaque item doit avoir un statut : en cours, testé, retenu ou abandonné. Les projets sans action réelle sont retirés à chaque révision.

  • Semantic Router : routage sémantique de requêtes vers les bons modèles.
  • LMCache : couche KV cache pour réduire la latence d'inférence.
  • Temporal : orchestration de workflows critiques avec persistence.
  • airLLM : inférence LLM sur GPU de 4 Go — pour réduire les coûts d’inférence locale.
  • OmniRoute : passerelle multi-providers (50+ gratuits), compression 15-95% de tokens — à évaluer comme fallback.

Assistants IA & outils cloud

Assistants IA

Assistant IA auto-hébergé
Stack typique pour assistant privé, API OpenAI-compatible et expérimentation locale.

Développement, modèles & veille

Découverte de modèles
Évaluation & benchmarks
Outils de développement & fine-tuning


Assistants IA & Agents

  • TencentDB-Agent-Memory : hub de mémoire d’équipe pour agents IA — transforme conversations, documents et code en ressources réutilisables.
  • Swarm Forge : Outil simple de coordination de plusieurs agents IA.
  • Embabel Agent : Framework agent pour JVM (Kotlin/Java).
  • reverse-skill : ensemble de skills de routage pour rétro-ingénierie et pentest — routage IA et initialisation automatique de la chaîne d’outils.
  • DeepSeek-Reasonix : Agent de codage terminal natif DeepSeek, optimisé pour la stabilité du prefix-cache.
  • i-have-adhd : skill qui incite l’agent de code à fournir une réponse claire et orientée action.
  • Buzz (Block) : Plateforme de communication type hive mind pour collaboration multi-agents.
  • LiveKit Agents : Framework Python/Node.js pour agents IA vocaux en temps réel — build, deployer et scaler des agents multimodaux en production. (1 100+ ★)
  • loopx : noyau d’ingénierie de boucle légère pour les équipes d’agents IA à long terme, agnostique aux agents de code, avec objectifs durables et transferts vérifiables.
  • cloudflare/computer : environnement d’exécution pour agents IA — terminal complet et système d’exploitation pour exécuter des agents autonomes.
  • google/skills : ensemble de skills IA pour les produits Google — intégration d’outils et de services Google pour les agents de code.
  • adr - ADR secures enterprise AI agents through observability, security benchmarking, and threat detection. Deployed at Uber..

RAG & Traitement de Documents

  • book-to-skill : transforme tout PDF technique en skill Claude Code, prêt à être étudié et référencé.
  • pdf-inspector : bibliothèque Rust rapide pour l’inspection, la classification et l’extraction de texte PDF — détection intelligente des scans et du texte pour le routage RAG. (8 600+ ★)
  • Code-Graph-RAG : RAG pour monorepo via graphe de connaissances — interroge, comprend et édite une base de code multilangage avec l’IA et Tree-sitter ; compatible MCP.

Infrastructure & Backend

  • ds4 : moteur d’inférence local DeepSeek 4 Flash/PRO pour Metal, CUDA et ROCm, par Antirez.

Outils complémentaires

  • open-code-review : outil open source de revue de code testé à l’échelle d’Alibaba : pipeline déterministe et agent LLM avec commentaires précis par ligne. (16 590 ★)
  • tuicr : outil de revue de code en TUI avec raccourcis Vim.
  • authentik : fournisseur d’identité open source auto-hébergé — SSO, MFA, SCIM et fédération d’identité ; alternative à Okta/Auth0. (54 000+ ★)
  • semantica : infrastructure orientée graphe pour le contexte et des systèmes IA responsables.
  • drawdb : éditeur en ligne gratuit et intuitif de diagrammes de bases de données.

Matériel IA & GPU


API Realtime AI (DEV)

Statut : environnement DEV, remplaçante prévue de l’API OpenAI pour les cas temps réel.

Configuration

Variable Valeur
OPENAI_API_BASE wss://api-realtime-ai.ailab.infocepo.com:wait-2026-12/v1
OPENAI_API_KEY sk-XXXXX

Dépôt GitHub

Page de test

  • external-test/half-duplex.html — annulation d’écho + mode half-duplex.

Compatibilité

Remplacer l’URL OpenAI par $OPENAI_API_BASE pour tester compatibilité et performances.


API LLM (OpenAI compatible)

Liste des modèles

curl -X GET \
  'https://api-nothink.ailab.infocepo.com/v1/models' \
  -H 'Authorization: Bearer sk-XXXXX' \
  -H 'accept: application/json' \
  | jq | sed -rn 's#^.*id.*: "(.*)".*$#* \1#p' | sort -u

Modèles ouverts & endpoints internes

Dernière mise à jour : 2026-06-30

Les modèles ci-dessous correspondent à des endpoints logiques exposés derrière une passerelle.

Endpoint Description / usage principal
ai-thinking qwen3.6 – thinking
ai-fast qwen3.6 en mode fast – vision/OCR/ai-default
ai-embedding bge-m3 – recherche sémantique
ai-stt whisper3-turbo – transcription vocale multilingual
ai-tts OmniVoice – TTS multilingual
ai-image OpenDalle – image génération

Exemple bash

export OPENAI_API_MODEL="ai-default"
export OPENAI_API_BASE="https://api-nothink.ailab.infocepo.com/v1"
export OPENAI_API_KEY="sk-XXXXX"

promptValue="Quel est ton nom ?"
jsonValue='{
  "model": "'${OPENAI_API_MODEL}'",
  "messages": [{"role": "user", "content": "'${promptValue}'"}],
  "temperature": 0
}'

curl ${OPENAI_API_BASE}/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d "${jsonValue}" 2>/dev/null | jq '.choices[0].message.content'

Vue infra LLM

DEV (au choix)

  • A. LiteLLM → vLLM/SgLang : tests perf / compatibilité
  • B. LiteLLM → Ollama : simple, rapide à itérer
  • C. Ollama direct : POC ultra-léger

DEV – modèle FR / résumé

  • LiteLLM → Ollama /v1

PROD

  • Standard : LiteLLM → vLLM/SgLang
  • Pont DEV→PROD : LiteLLM (DEV) → LiteLLM (PROD) → vLLM/SgLang

Notes :

  • LiteLLM = passerelle unique (clés, quotas, logs)
  • vLLM/SgLang = performance / stabilité en charge
  • Ollama = simplicité de prototypage

API Image to Text

  • Utilise l’API LLM avec un endpoint adapté à l’OCR / VLM.
  • Modèle recommandé : ai-vision

Exemple bash

OPENAI_API_KEY=sk-XXXXX

base64 -w0 "/path/to/image.png" > img.b64

jq -n --rawfile img img.b64 \
'{
  model: "ai-vision",
  messages: [
    {
      role: "user",
      content: [
        { "type": "text", "text": "Décris cette image." },
        {
          "type": "image_url",
          "image_url": { "url": ("data:image/png;base64," + ($img | rtrimstr("\n"))) }
        }
      ]
    }
  ]
}' > payload.json

curl https://api-nothink.ailab.infocepo.com/v1/chat/completions \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  --data-binary @payload.json

Exemple Python

import base64
import json
import requests
import os

API_KEY = os.getenv("OPENAI_API_KEY")
MODEL = "ai-vision"
IMG_PATH = "/path/to/image.png"
API_URL = "https://api-nothink.ailab.infocepo.com/v1/chat/completions"

with open(IMG_PATH, "rb") as f:
    img_b64 = base64.b64encode(f.read()).decode("utf-8")

payload = {
    "model": MODEL,
    "messages": [
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "Décris cette image."},
                {
                    "type": "image_url",
                    "image_url": {"url": f"data:image/png;base64,{img_b64}"}
                }
            ]
        }
    ]
}

headers = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json"
}

response = requests.post(API_URL, headers=headers, data=json.dumps(payload))

if response.ok:
    print(json.dumps(response.json(), indent=2, ensure_ascii=False))
else:
    print(f"Erreur {response.status_code}: {response.text}")

API STT

Exemple Python

import requests

OPENAI_API_KEY = 'sk-XXXXX'

url = 'https://api-audio2txt.ailab.infocepo.com/v1/audio/transcriptions'
headers = {
    'Authorization': f'Bearer {OPENAI_API_KEY}',
}
files = {
    'file': ('file.opus', open('/path/to/file.opus', 'rb')),
    'model': (None, 'whisper-1')
}

response = requests.post(url, headers=headers, files=files)
print(response.json())

Exemple curl

[ ! -f /tmp/test.ogg ] && wget "https://upload.wikimedia.org/wikipedia/commons/1/17/Fables_de_La_Fontaine_Livre_1_01.ogg" -O /tmp/test.ogg

export OPENAI_API_KEY=sk-XXXXX

curl https://api-audio2txt.ailab.infocepo.com/v1/audio/transcriptions \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -F model="whisper-1" \
  -F file="@/tmp/test.ogg"

Notes

  • Plusieurs formats audio sont acceptés.
  • Le flux final est normalisé en 16 kHz mono.
  • Pour une qualité optimale : privilégier OPUS 16 kHz mono.

UI


API TTS

Exemple

export OPENAI_API_KEY=sk-XXXXX

curl https://api-tts-omnivoice.ailab.infocepo.com/v1/audio/speech \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o-mini-tts",
    "input": "Bonjour, ceci est un test de synthèse vocale.",
    "voice": "coral",
    "instructions": "Speak in a cheerful and positive tone.",
    "response_format": "opus"
  }' | ffplay -i -

API Text to Image

Exemple

export OPENAI_API_KEY=EMPTY

curl https://api-txt2image.ailab.infocepo.com/v1/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "prompt": "a photo of a happy corgi puppy sitting and facing forward, studio light, longshot",
    "n": 1,
    "size": "1024x1024"
  }'

API Diarization

Exemple

wget "https://upload.wikimedia.org/wikipedia/commons/6/60/Mike_Peters_on_Politics_and_Emotion_%28Interview_1984%29.mp3" -O /tmp/test.mp3

curl -X POST "https://api-diarization.ailab.infocepo.com/upload-audio/" \
  -H "Authorization: Bearer token1" \
  -F "file=@/tmp/test.mp3"

API Summary

Exemple

text="The tower is 324 metres tall and is one of the most recognizable monuments in the world."

json_payload=$(jq -nc --arg text "$text" '{"text": $text}')

curl -X POST https://api-summary.ailab.infocepo.com:wait-2026-12/summary/ \
  -H "Content-Type: application/json" \
  -d "$json_payload"

API Text Embeddings

Exemple

curl https://api-embedding.ailab.infocepo.com/v1/embeddings \
  -X POST \
  -H 'Authorization: Bearer sk-XXXXX' \
  -d '{"model":"bge-m3","input":"What is Deep Learning?"}' \
  -H 'Content-Type: application/json'

API DB Vectors (ChromaDB)

Production

Lab

export CHROMA_HOST=https://chromadb.c1.ailab.infocepo.com:wait-2026-12
export CHROMA_PORT=443
export CHROMA_TOKEN=XXXX

Exemple curl

curl -v "${CHROMA_HOST}"/api/v1/collections \
  -H "Authorization: Bearer ${CHROMA_TOKEN}"

Exemple Python

import chromadb
from chromadb.config import Settings

def chroma_http(host, port=80, token=None):
    return chromadb.HttpClient(
        host=host,
        port=port,
        ssl=host.startswith('https') or port == 443,
        settings=(
            Settings(
                chroma_client_auth_provider='chromadb.auth.token.TokenAuthClientProvider',
                chroma_client_auth_credentials=token,
            ) if token else Settings()
        )
    )

client = chroma_http(CHROMA_HOST, CHROMA_PORT, CHROMA_TOKEN)
collections = client.list_collections()
print(collections)

Déployer sa propre instance

export nameSpace=your_namespace
domainRoot=ailab.infocepo.com

helm repo add chroma https://amikos-tech.github.io/chromadb-chart/
helm repo update

helm upgrade --install chromadb chroma/chromadb -n ${nameSpace} \
  --set chromadb.apiVersion="0.4.24" \
  --set ingress.enabled=true \
  --set ingress.hosts[0].host="${nameSpace}-chromadb.${domainRoot}" \
  --set ingress.hosts[0].paths[0].path=/ \
  --set ingress.hosts[0].paths[0].pathType=ImplementationSpecific \
  --set ingress.annotations."cert-manager\.io/cluster-issuer"=letsencrypt-prod \
  --set ingress.tls[0].secretName=${nameSpace}-chromadb.${domainRoot}-tls \
  --set ingress.tls[0].hosts[0]="${nameSpace}-chromadb.${domainRoot}"

kubectl -n ${nameSpace} patch ingress/chromadb --type=json \
  -p '[{"op":"add","path":"/metadata/annotations/nginx.ingress.kubernetes.io~1proxy-body-size","value":"0"}]'

Récupérer le token

kubectl --namespace ${nameSpace} get secret chromadb-auth \
  -o jsonpath="{.data.token}" | base64 --decode && echo

Registry

Exemple

curl -u "user:XXXXX" https://registry.ailab.infocepo.com:wait-2026-09/v2/_catalog

Exemple K8S

deploymentName=
nameSpace=

kubectl -n ${nameSpace} create secret docker-registry pull-secret \
  --docker-server=registry.ailab.infocepo.com:wait-2026-09 \
  --docker-username=user \
  --docker-password=XXXXX \
  --docker-email=contact@example.com

kubectl -n ${nameSpace} patch deployment ${deploymentName} \
  -p '{"spec":{"template":{"spec":{"imagePullSecrets":[{"name":"pull-secret"}]}}}}'

Stockage objet externe (S3)

Un bucket nommé ORG a été créé pour stocker des documents de démonstration.


RAG optimisation

  • Embeddings : BAAI/bge-m3
  • chunk_size=1000
  • chunk_overlap=100
  • LLM : qwen3.6
  • Pour les PDF mixtes : PDF → image → OCR / VLM peut améliorer les résultats.

Workflow

Flux direct : code → CI/CD → déploiement → supervision. Chaque étape se déclenche automatiquement lorsque la précédente réussit. En cas d’échec, une alerte est émise directement ; une intervention humaine n’est requise qu’en cas de décision explicite de repli.


Environnements

Hors production

  • Utiliser DataLab
  • Support : canal Mattermost Offre IA
  • Le pseudo utilisateur doit respecter la convention interne
  • Demander si besoin un accès Linux + Kubernetes

Production (best-effort)

  • Publier le code applicatif, les secrets (format SOPS), le Dockerfile et le code infra (Helm ou manifests K8S) sur Git
  • Demander un namespace
  • Lire la documentation de surveillance associée

Limites de l’infrastructure

  • Les charges GPU sont volontairement limitées en journée.
  • Le coût unitaire est mesuré automatiquement dans des tableaux de bord en temps réel.

Cloud Lab & projets d’audit

Cloud Lab reference diagram

Le Cloud Lab fournit des scénarios reproductibles : audit d’infrastructure, migration cloud, automatisation, haute disponibilité.

Projet d’audit

ServerDiff.sh

Script Bash d’audit permettant de :

  • détecter les dérives de configuration,
  • comparer plusieurs environnements,
  • préparer un plan de migration ou de remédiation.


Exemple de migration cloud

Cloud migration diagram

Tâche Description Durée (jours)
Audit infrastructure 82 services, audit automatisé via ServerDiff.sh 1.5
Diagramme d’architecture Conception visuelle et documentation 1.5
Contrôles de conformité 2 clouds, 6 hyperviseurs, 6 To RAM 1.5
Installation plateforme cloud Déploiement des environnements cibles 1.0
Vérification de stabilité Premiers tests fonctionnels 0.5
Étude d’automatisation Identification des tâches répétitives 1.5
Développement des templates 6 templates, 8 environnements, 2 clouds / OS 1.5
Diagramme de migration Illustration du processus 1.0
Écriture du code de migration 138 lignes (voir MigrationApp.sh) 1.5
Stabilisation Validation de la reproductibilité 1.5
Benchmark cloud Comparaison vs legacy 1.5
Réglage des temps d’arrêt Calcul du downtime 0.5
Chargement VM 82 VMs : OS, code, 2 IP par VM 0.1
Total 15 jours.homme

Vérifications de stabilité (HA minimale)

Action Résultat attendu
Extinction d’un nœud Tous les services redémarrent automatiquement sur les autres nœuds
Extinction / redémarrage simultané de tous les nœuds Les services repartent correctement après reboot


Autonomie testée : vérifier que la migration fonctionne seule en tirant le repo et lançant le script, sans personne qui connaît le système de tête.


Architecture web & bonnes pratiques

Reference web architecture

Principes de conception :

  • privilégier une infrastructure simple, modulaire et flexible,
  • rapprocher le contenu du client (GDNS ou équivalent),
  • utiliser des load balancers réseau (LVS, IPVS),
  • comparer les coûts et éviter le vendor lock-in,
  • pour TLS :
    • HAProxy pour les frontends rapides,
    • Envoy pour les cas avancés (mTLS, HTTP/2/3),
  • pour le cache :
    • Varnish, Apache Traffic Server,
  • favoriser les stacks open-source,
  • utiliser des fichiers, tampons, files d’attente et quotas pour lisser les pics.

Références


Comparatif des grandes plateformes cloud

Fonctionnalité Kubernetes OpenStack AWS Bare-metal HPC CRM oVirt
Outils de déploiement Helm, YAML, ArgoCD, Juju Ansible, Terraform, Juju CloudFormation, Terraform, Juju Ansible, Shell xCAT, Clush Ansible, Shell Ansible, Python
Méthode de bootstrap API API, PXE API PXE, IPMI PXE, IPMI PXE, IPMI PXE, API
Contrôle routeur Kube-router Router/Subnet API Route Table / Subnet API Linux, OVS xCAT Linux API
Contrôle firewall Istio, NetworkPolicy Security Groups API Security Group API Linux firewall Linux firewall Linux firewall API
Virtualisation réseau VLAN, VxLAN VPC VPC OVS, Linux xCAT Linux API
DNS CoreDNS DNS-Nameserver Route 53 GDNS xCAT Linux API
Load balancer Kube-proxy, LVS LVS Network Load Balancer LVS SLURM Ldirectord N/A
Stockage Local, cloud, PVC Swift, Cinder, Nova S3, EFS, EBS, FSx Swift, XFS, EXT4, RAID10 GPFS SAN NFS, SAN

Cette table sert de point de départ pour choisir la bonne stack selon :

  • le niveau de contrôle souhaité,
  • le contexte (on-prem, cloud public, HPC…),
  • les outils d’automatisation existants.

Haute disponibilité, HPC & DevSecOps

Haute disponibilité avec Corosync & Pacemaker

HA cluster architecture

Principes :

  • clusters multi-nœuds ou multi-sites,
  • fencing via IPMI,
  • provisioning PXE / NTP / DNS / TFTP,
  • pour 2 nœuds : attention au split-brain,
  • 3 nœuds ou plus recommandés en production.

Ressources fréquentes

  • multipath, LUNs, LVM, NFS,
  • processus applicatifs,
  • IP virtuelles, DNS, listeners réseau.

HPC

Overview of an HPC cluster

  • orchestration de jobs (SLURM ou équivalent),
  • stockage partagé haute performance,
  • intégration possible avec des workloads IA.

DevSecOps

DevSecOps reference design

  • CI/CD avec contrôles de sécurité intégrés,
  • observabilité dès la conception,
  • scans de vulnérabilité,
  • gestion des secrets,
  • policy-as-code.

News & trends


Formation & apprentissage


Liens cloud & IT utiles


Outils collaboratifs

Dépôts de code

Base de connaissance

  • ce wiki

Messagerie

  • contact interne / support selon les projets

SSO

MLflow


À propos & contributions

Suggestions de corrections, améliorations de schémas, retours d’expérience ou nouveaux labs bienvenus.

Ce wiki a vocation à rester un laboratoire vivant pour l’IA, le cloud et l’automatisation.