Outil CLI
ardanlabs/kronk avatar
ardanlabs/kronk

Kronk : un moteur Go pour l'inférence locale de modèles

Votre moteur personnel pour exécuter des modèles open source localement. Utilisez Go pour l'inférence locale accélérée par le matériel avec llama.cpp et murmure.cpp directement intégrés à vos applications Go. Kronk fournit une API de haut niveau et un serveur de modèles.

809 étoiles61 forksGoApache-2.0
GitHub

En bref

De quoi s’agit-il ?
Une boîte à outils Go pour l'inférence accélérée par matériel avec llama.cpp et whisper.cpp, plus un serveur de modèles.
À qui s’adresse-t-il ?
Kronk s'adresse aux personnes qui acceptent d'examiner `go get github.com/ardanlabs/kronk` et les artefacts produits avant une intégration. Il convient moins à un usage qui exige une garantie non documentée ou une dépendance entièrement invisible.
Puis-je l’utiliser commercialement ?
Oui. Apache-2.0 est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
Est-il encore maintenu ?
Oui. Les derniers commits datent d’il y a 1 jour.
En quel langage est-il écrit ?
Principalement Go, d’après les statistiques de langage de GitHub.

Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 14 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.

ANALYSE OPEN SOURCE APPROFONDIE

Un moteur Go pour les modèles open source locaux

Kronk est un projet Go qui vous permet d'exécuter des modèles open source localement avec accélération matérielle. Il intègre llama.cpp et whisper.cpp via les modules yzma et bucky, fournissant une API de haut niveau similaire à une API compatible OpenAI. Le dépôt se décrit comme votre moteur personnel pour exécuter des modèles open source localement, et il comprend à la fois un SDK pour écrire des applications et un serveur de modèles pour fournir des points de terminaison d'inférence.

Dans Kronk, le contrôle 1 prend une forme concrète : `go get github.com/ardanlabs/kronk`. Le fichier de référence et la sortie attendue doivent rester visibles pendant l'essai, car llama.cpp, yzma, whisper.cpp et API compatibles ne constitue pas une promesse indépendante du contexte. Une lecture attentive des erreurs, des journaux et des artefacts produits permet de distinguer une fonction réellement disponible d'une simple mention dans le README.

Pour une équipe, la question pratique du contrôle 1 est la reproductibilité du chemin Kronk : quelles dépendances sont locales, quels droits sont requis et quel résultat peut être inspecté sans service tiers ? Cette séparation est utile pour décider si l'outil convient à un poste isolé, à un pipeline automatisé ou à une expérimentation courte. Le dépôt ne documente pas toutes les combinaisons possibles ; les cas non décrits doivent donc rester des hypothèses.

Architecture : SDK et serveur

Le projet a deux parties principales. Le SDK vous permet d'écrire des applications Go qui interagissent directement avec les modèles GGUF locaux pris en charge par llama.cpp, couvrant l'inférence texte, vision et audio. La génération utilise un moteur de traitement par lots, tandis que l'embedding et le re-ranking utilisent un moteur de séquence par lots distinct qui combine les entrées complètes de requêtes concurrentes sur un seul contexte de modèle, avec un repli de pool de contexte pour les architectures non vérifiées. Le serveur de modèles fournit des points de terminaison pour les complétions de chat, les réponses, les messages, les embeddings, le re-ranking et la transcription audio, et le README indique qu'il est compatible avec OpenWebUI, OpenCode et Claude Code.

Dans Kronk, le contrôle 2 prend une forme concrète : `go get github.com/ardanlabs/kronk`. Le fichier de référence et la sortie attendue doivent rester visibles pendant l'essai, car llama.cpp, yzma, whisper.cpp et API compatibles ne constitue pas une promesse indépendante du contexte. Une lecture attentive des erreurs, des journaux et des artefacts produits permet de distinguer une fonction réellement disponible d'une simple mention dans le README.

Pour une équipe, la question pratique du contrôle 2 est la reproductibilité du chemin Kronk : quelles dépendances sont locales, quels droits sont requis et quel résultat peut être inspecté sans service tiers ? Cette séparation est utile pour décider si l'outil convient à un poste isolé, à un pipeline automatisé ou à une expérimentation courte. Le dépôt ne documente pas toutes les combinaisons possibles ; les cas non décrits doivent donc rester des hypothèses.

Installation et première exécution

Le README recommande d'installer Kronk sur macOS ou Linux avec Homebrew : tap ardanlabs/kronk, trust, puis install. Alternativement, vous pouvez installer via go install sur toute plateforme prise en charge. Les deux méthodes vous donnent une commande kronk qui démarre le serveur. Pour exécuter sans tête avec Docker, le manuel couvre l'installation, la sécurité utilisateur, le redémarrage automatique, la pré-installation de modèles, la mise à jour et la désinstallation. Le README suggère également d'exécuter make kronk-server et make website pour voir la documentation localement.

Dans Kronk, le contrôle 3 prend une forme concrète : `go get github.com/ardanlabs/kronk`. Le fichier de référence et la sortie attendue doivent rester visibles pendant l'essai, car llama.cpp, yzma, whisper.cpp et API compatibles ne constitue pas une promesse indépendante du contexte. Une lecture attentive des erreurs, des journaux et des artefacts produits permet de distinguer une fonction réellement disponible d'une simple mention dans le README.

Pour une équipe, la question pratique du contrôle 3 est la reproductibilité du chemin Kronk : quelles dépendances sont locales, quels droits sont requis et quel résultat peut être inspecté sans service tiers ? Cette séparation est utile pour décider si l'outil convient à un poste isolé, à un pipeline automatisé ou à une expérimentation courte. Le dépôt ne documente pas toutes les combinaisons possibles ; les cas non décrits doivent donc rester des hypothèses.

Points de terminaison du serveur de modèles

Le serveur expose les complétions de chat, les réponses, les messages, les embeddings, le re-ranking et la transcription audio. Le README ne liste pas les formats exacts de requête/réponse, mais indique une compatibilité avec OpenWebUI, OpenCode et Claude Code. Le serveur écoute sur localhost:11435 lorsqu'il est démarré via la commande kronk server start. Le manuel contient plus de détails sur l'exécution du serveur, et le README pointe vers le chapitre 2.4 pour les spécificités Docker.

Dans Kronk, le contrôle 4 prend une forme concrète : `go get github.com/ardanlabs/kronk`. Le fichier de référence et la sortie attendue doivent rester visibles pendant l'essai, car llama.cpp, yzma, whisper.cpp et API compatibles ne constitue pas une promesse indépendante du contexte. Une lecture attentive des erreurs, des journaux et des artefacts produits permet de distinguer une fonction réellement disponible d'une simple mention dans le README.

Pour une équipe, la question pratique du contrôle 4 est la reproductibilité du chemin Kronk : quelles dépendances sont locales, quels droits sont requis et quel résultat peut être inspecté sans service tiers ? Cette séparation est utile pour décider si l'outil convient à un poste isolé, à un pipeline automatisé ou à une expérimentation courte. Le dépôt ne documente pas toutes les combinaisons possibles ; les cas non décrits doivent donc rester des hypothèses.

Exemples et programme de question

Le dépôt contient un répertoire d'exemples avec des programmes pour agent, audio, transcription bucky, chat, concurrence, embedding, grammaire, pool, question, RAG, re-ranking, réponse, session-store, vision et yzma. Chaque exemple a une cible make correspondante telle que make example-question. Le README comprend un programme Go complet qui pose une question à un modèle, montrant l'installation du modèle, le chargement, la sortie de configuration et un appel de chat en streaming. La première exécution télécharge et installe le modèle et les bibliothèques.

Dans Kronk, le contrôle 5 prend une forme concrète : `go get github.com/ardanlabs/kronk`. Le fichier de référence et la sortie attendue doivent rester visibles pendant l'essai, car llama.cpp, yzma, whisper.cpp et API compatibles ne constitue pas une promesse indépendante du contexte. Une lecture attentive des erreurs, des journaux et des artefacts produits permet de distinguer une fonction réellement disponible d'une simple mention dans le README.

Pour une équipe, la question pratique du contrôle 5 est la reproductibilité du chemin Kronk : quelles dépendances sont locales, quels droits sont requis et quel résultat peut être inspecté sans service tiers ? Cette séparation est utile pour décider si l'outil convient à un poste isolé, à un pipeline automatisé ou à une expérimentation courte. Le dépôt ne documente pas toutes les combinaisons possibles ; les cas non décrits doivent donc rester des hypothèses.

Support matériel et modèles

Kronk prend en charge Linux, macOS et Windows. Pour Linux, le CPU est amd64 ou arm64, et le GPU inclut CUDA, Vulkan, HIP, ROCm et SYCL. macOS utilise un CPU arm64 et un GPU Metal. Windows utilise un CPU amd64 et CUDA, Vulkan, HIP, SYCL ou OpenCL GPU. Le README prétend prendre en charge plus de 94 % des fonctionnalités de llama.cpp grâce à yzma. Il liste également des versions compatibles de llama.cpp, yzma et kronk dans un tableau, et note qu'à partir du 15 mai 2026, vous devez utiliser la version b9163 de llama.cpp en raison de problèmes avec b9165+, avec une variable d'environnement KRONK_LIB_VERSION pour la fixer.

Dans Kronk, le contrôle 6 prend une forme concrète : `go get github.com/ardanlabs/kronk`. Le fichier de référence et la sortie attendue doivent rester visibles pendant l'essai, car llama.cpp, yzma, whisper.cpp et API compatibles ne constitue pas une promesse indépendante du contexte. Une lecture attentive des erreurs, des journaux et des artefacts produits permet de distinguer une fonction réellement disponible d'une simple mention dans le README.

Pour une équipe, la question pratique du contrôle 6 est la reproductibilité du chemin Kronk : quelles dépendances sont locales, quels droits sont requis et quel résultat peut être inspecté sans service tiers ? Cette séparation est utile pour décider si l'outil convient à un poste isolé, à un pipeline automatisé ou à une expérimentation courte. Le dépôt ne documente pas toutes les combinaisons possibles ; les cas non décrits doivent donc rester des hypothèses.

Licence et état du projet

Le projet est sous licence Apache-2.0, comme indiqué dans les métadonnées du dépôt. L'extrait de licence accorde une licence de droit d'auteur perpétuelle, mondiale, non exclusive, sans redevance, et une licence de brevet pour les contributions. Il ne mentionne pas le support, la garantie ou la posture de sécurité ; le README ne prétend rien de tout cela non plus. Le README liste Bill Kennedy comme propriétaire et associé gérant d'Ardan Labs, et pointe vers une page de problèmes/fonctionnalités. Les métadonnées du dépôt montrent 703 étoiles, 52 forks et 5 problèmes ouverts, bien que le README lui-même ne mentionne pas ces chiffres.

Dans Kronk, le contrôle 7 prend une forme concrète : `go get github.com/ardanlabs/kronk`. Le fichier de référence et la sortie attendue doivent rester visibles pendant l'essai, car llama.cpp, yzma, whisper.cpp et API compatibles ne constitue pas une promesse indépendante du contexte. Une lecture attentive des erreurs, des journaux et des artefacts produits permet de distinguer une fonction réellement disponible d'une simple mention dans le README.

Pour une équipe, la question pratique du contrôle 7 est la reproductibilité du chemin Kronk : quelles dépendances sont locales, quels droits sont requis et quel résultat peut être inspecté sans service tiers ? Cette séparation est utile pour décider si l'outil convient à un poste isolé, à un pipeline automatisé ou à une expérimentation courte. Le dépôt ne documente pas toutes les combinaisons possibles ; les cas non décrits doivent donc rester des hypothèses.

Conclusion éditoriale

Kronk s'adresse aux personnes qui acceptent d'examiner `go get github.com/ardanlabs/kronk` et les artefacts produits avant une intégration. Il convient moins à un usage qui exige une garantie non documentée ou une dépendance entièrement invisible. Commencez par reproduire ce chemin et observez llama.cpp, yzma, whisper.cpp et API compatibles dans votre environnement.

Sources officielles

  1. Official README
  2. Project repository
  3. Release notes
Notes de la communauté

Notes de la communauté