Un dictionnaire à faire tourner à côté de votre application
Vocab Bloom Hub est un dictionnaire d'anglais auto-hébergé — 300 000 entrées avec sens, exemples, formes fléchies et traductions en russe, espagnol, français, allemand, portugais, chinois et arabe — derrière une API publique en lecture seule, avec des SDK, une interface d'administration et un jeu de données publié. Une commande pour l'installer, MIT pour le code, CC BY 4.0 pour les données.
Installation en une commande
Le fichier compose et le modèle d'environnement suffisent : les images sont tirées de GitHub Container Registry, Postgres démarre à côté et le dictionnaire se charge tout seul au premier démarrage.
mkdir vocab-bloom-hub && cd vocab-bloom-hub
curl -fsSLO https://raw.githubusercontent.com/Fristail27/vocab-bloom-hub/main/docker-compose.yml
curl -fsSL https://raw.githubusercontent.com/Fristail27/vocab-bloom-hub/main/.env.example -o .env
# edit .env: ADMIN_PASSWORD, POSTGRES_PASSWORD
docker compose up -d
curl -s localhost:3010/api/ready # {"status":"ok"} once the dictionary is in
Ce que vous obtenez
API publique
Versionnée, en lecture seule, sans connexion : recherche tolérante aux fautes, mots-vedettes avec sens, formes, traductions, synonymes et antonymes, consultation par lot, listes paginées par curseur, une entrée aléatoire — chaque réponse dans une même enveloppe, mise en cache avec ETag.
SDK
Des clients typés pour Node.js / TypeScript et Python générés à partir du même document OpenAPI : une méthode par point de terminaison, itération par curseur, erreurs typées, cache ETag, nouvelles tentatives optionnelles, un DataFrame pour les notebooks.
Interface d'administration
Modifiez mots, sens, traductions, synonymes et antonymes dans le navigateur, suivez les statistiques, importez et exportez tout le dictionnaire comme jeu de données.
Jeu de données
Le dictionnaire est publié sur HuggingFace sous CC BY 4.0 et se charge tout seul dans une instance vide ; les exports le déplacent d'un environnement à l'autre, y compris hors ligne.
Conçu pour les opérateurs
Sondes de santé et de disponibilité, arrêt propre, migrations au démarrage, métriques Prometheus, journaux JSON structurés avec un identifiant de requête — ce qu'il faut à un service pour être exploité par quelqu'un d'autre.
Recherche
Niveaux exact, préfixe, flou et par traduction sur des index Postgres : les lectures fréquentes répondent en millisecondes sur le dictionnaire complet.
Deux SDK, un contrat
Les deux clients sont générés à partir du document OpenAPI versionné de l'API publique, ils ne dérivent donc jamais du serveur.
Node.js / TypeScript
import { VocabBloomClient } from '@vocab-bloom-hub/client';
const client = new VocabBloomClient({ baseUrl: 'https://your-instance.example/api' });
const { data } = await client.search({ search: 'runing', limit: 5 }); // typo tolerant
const run = await client.word('run'); // every part of speech, forms, meanings, translations
for await (const word of client.iterateWords({ part_of_speech: ['verb'], word_level: ['b1'] })) {
console.log(word.word);
}
Python
from vocab_bloom_hub import VocabBloomClient
client = VocabBloomClient("https://your-instance.example/api")
hits = client.search("runing", limit=5) # typo tolerant
run = client.word("run") # forms, meanings, translations
for word in client.iter_words(part_of_speech=["verb"], word_level=["b1"]):
print(word.word)
df = client.words_dataframe(part_of_speech=["noun"]) # pip install "vocab-bloom-hub[pandas]"
Données et licence
Le code est sous MIT. Les données du dictionnaire — servies par l'API, exportées en jeux de données, publiées sur HuggingFace — sont sous CC BY 4.0 : libres d'utilisation et d'adaptation, y compris commerciales, avec attribution. Elles sont en grande partie générées par des LLM et non vérifiées par des humains ; lisez ce que cela implique avant de vous y fier.