Skip to Content
Mélodium 0.10.3 is now available!
DocsExemplesAperçu

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.

ExempleCe qu’il illustreNécessite en plus de Mélodium
Routeur LLM intelligentUne fonction JavaScript de routage envoie chaque requête vers le niveau de LLM le moins coûteux capable de la traiterune clé d’API d’un fournisseur de LLM
Assistant vocal IATranscription 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 CIUn pipeline CI en trois étapes (build, test, package) s’exécutant entièrement sur des conteneurs cloud provisionnésun jeton d’API Mélodium Services, ou une installation locale podman/docker compose
Triage des échecs CILa sortie de chaque étape CI classée par une petite fonction JS, seuls les échecs réels étant envoyés à un LLM pour diagnosticun 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 localun 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/tutorial

Chaque é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...]
ÉtapeIntroduitNécessite en plus de Mélodium
01 : Bonjour, MélodiumTraitements & connexions, Block<T> vs Stream<T>, fonctions, startup()rien
02 : Flux & généricitéTraitements génériques, combinateurs std/flow, arithmétique & comparaisonrien
03 : Texte & fichiersE/S de fichiers, expressions régulières, composition de texterien
04 : Boîte à outils JSONAnalyse & validation JSON, déballage d’Optionrien
05 : Client HTTPAppeler une API HTTP distante, distinguer une panne réseau d’une erreur applicativeaccès internet
06 : API serveur HTTPLe modèle HttpServer, le routage, le contexte @HttpRequestun port TCP libre et curl
07 : API CRUD SQLUn modèle SqlPool partagé entre requêtes, combiné à un serveur HTTPune base PostgreSQL accessible
08 : Transformation JavaScriptLe modèle JavaScriptEngine, transformer des données structurées en JSrien
09 : Chaîne de traitements externesExécuter une commande externe comme un traitement, transmettre des données via son entrée/sortie standardla commande sort dans le PATH
10 : Calcul distribuéLe module distrib : exécuter un traitement sur un autre moteurun 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é.