Exemples
Vitrine : démonstrations plus complètes
Le fil showcase/ combine plusieurs capacités à la fois (LLM distants, parole, calcul distribué, CI/CD) en démonstrations plus complètes, sans s’arrêter pour expliquer chaque concept en détail.
| Exemple | Ce qu’il illustre | Nécessite en plus de Mélodium |
|---|---|---|
| Routeur LLM intelligent | Une fonction JavaScript de routage envoie chaque requête vers le niveau de LLM le moins coûteux capable de la traiter | une clé d’API d’un fournisseur de LLM |
| Assistant vocal IA | Transcription vocale locale, LLM distant et synthèse vocale enchaînés sur deux points d’entrée (chat et voice) | une clé d’API d’un fournisseur de LLM ; voice nécessite aussi une clé ElevenLabs et un micro |
| Pipeline CI | Un pipeline CI en trois étapes (build, test, package) s’exécutant entièrement sur des conteneurs cloud provisionnés | un jeton d’API Mélodium Services, ou une installation locale podman/docker compose |
| Triage des échecs CI | La sortie de chaque étape CI classée par une petite fonction JS, seuls les échecs réels étant envoyés à un LLM pour diagnostic | un jeton d’API Mélodium Services et une clé d’API d’un fournisseur de LLM |
| Cluster LLM distribué | Un serveur HTTP local qui provisionne un worker distant à la demande pour exécuter le LLM, sans jamais installer ml en local | un jeton d’API Mélodium Services et une clé d’API d’un fournisseur de LLM |
Parcours d’apprentissage : le fil tutoriel
Créez un fichier hello-world.mel, et mettez-y le code :
#!/usr/bin/env melodium
#! name = hello_world
#! version = 0.1.0
#! require = std:0.10.*
use std/engine/util::startup
use std/engine/log::logInfoMessage
treatment main() {
startup()
logInfoMessage(message = "Hello World!")
startup.trigger -> logInfoMessage.trigger
}
Exécutez-le avec melodium run hello-world.mel.
$ melodium run hello-world.mel
[2012-12-21T01:32:45.678Z] info: info: Hello World!Ce fichier unique est la limite de ce qu’on peut montrer en ligne. Un vrai projet Mélodium vit dans un répertoire avec un Compo.toml, et la meilleure façon d’apprendre le langage à partir de là est le fil tutorial/ du dépôt Mélodium : dix étapes courtes et autonomes, chacune introduisant un ou deux nouveaux concepts, par ordre de difficulté croissante. Clonez le dépôt pour les exécuter :
git clone https://github.com/melodium-tech/melodium.git
cd melodium/examples/tutorialChaque étape a son propre répertoire. Exécutez une étape depuis son propre répertoire, car plusieurs d’entre elles lisent ou écrivent des fichiers relatifs au répertoire de travail courant :
cd 01_hello_melodium
melodium run Compo.toml [arguments...]| Étape | Introduit | Nécessite en plus de Mélodium |
|---|---|---|
| 01 : Bonjour, Mélodium | Traitements & connexions, Block<T> vs Stream<T>, fonctions, startup() | rien |
| 02 : Flux & généricité | Traitements génériques, combinateurs std/flow, arithmétique & comparaison | rien |
| 03 : Texte & fichiers | E/S de fichiers, expressions régulières, composition de texte | rien |
| 04 : Boîte à outils JSON | Analyse & validation JSON, déballage d’Option | rien |
| 05 : Client HTTP | Appeler une API HTTP distante, distinguer une panne réseau d’une erreur applicative | accès internet |
| 06 : API serveur HTTP | Le modèle HttpServer, le routage, le contexte @HttpRequest | un port TCP libre et curl |
| 07 : API CRUD SQL | Un modèle SqlPool partagé entre requêtes, combiné à un serveur HTTP | une base PostgreSQL accessible |
| 08 : Transformation JavaScript | Le modèle JavaScriptEngine, transformer des données structurées en JS | rien |
| 09 : Chaîne de traitements externes | Exécuter une commande externe comme un traitement, transmettre des données via son entrée/sortie standard | la commande sort dans le PATH |
| 10 : Calcul distribué | Le module distrib : exécuter un traitement sur un autre moteur | un second moteur Mélodium (melodium dist) |
Chaque exemple, tutoriel ou vitrine, est un projet Mélodium autonome (Compo.toml + un ou plusieurs fichiers .mel) avec son propre README expliquant ce qu’il fait et pourquoi il est construit ainsi. Tous s’exécutent de la même façon :
melodium run <répertoire-exemple>/Compo.toml [point-entrée] [-- --arg valeur …]Voir le README des exemples pour la carte complète des capacités (quel module démontre quoi) et une note sur la façon dont chaque exemple a été vérifié.