Vocab Bloom Hub

Um dicionário para rodar ao lado do seu aplicativo

O Vocab Bloom Hub é um dicionário de inglês auto-hospedado — 300 000 verbetes com significados, exemplos, formas flexionadas e traduções para russo, espanhol, francês, alemão, português, chinês e árabe — atrás de uma API pública somente leitura, com SDKs, uma interface de administração e um dataset publicado. Um comando para instalar, MIT para o código, CC BY 4.0 para os dados.

Instalação em um comando

O arquivo compose e o modelo de ambiente bastam: as imagens vêm do GitHub Container Registry, o Postgres sobe junto e o dicionário se carrega sozinho na primeira inicialização.

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

O que você recebe

API pública

Versionada, somente leitura, sem login: busca tolerante a erros de digitação, verbetes com significados, formas, traduções, sinônimos e antônimos, consulta em lote, listas paginadas por cursor, um verbete aleatório — cada resposta em um mesmo envelope, em cache com ETag.

SDKs

Clientes tipados para Node.js / TypeScript e Python gerados a partir do mesmo documento OpenAPI: um método por endpoint, iteração por cursor, erros tipados, cache por ETag, novas tentativas opcionais, um DataFrame para notebooks.

Interface de administração

Edite palavras, significados, traduções, sinônimos e antônimos no navegador, acompanhe as estatísticas, importe e exporte o dicionário inteiro como dataset.

Dataset

O dicionário é publicado no HuggingFace sob CC BY 4.0 e se carrega sozinho em uma instância vazia; as exportações o movem entre ambientes, inclusive offline.

Feito para operadores

Sondas de saúde e prontidão, desligamento gracioso, migrações na inicialização, métricas Prometheus, logs JSON estruturados com id de requisição — o que um serviço precisa para ser operado por outra pessoa.

Busca

Níveis exato, de prefixo, difuso e por tradução sobre índices do Postgres: as leituras mais frequentes respondem em milissegundos no dicionário completo.

Dois SDKs, um contrato

Os dois clientes são gerados a partir do documento OpenAPI versionado da API pública, por isso nunca se afastam do servidor.

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]"

Dados e licença

O código é MIT. Os dados do dicionário — servidos pela API, exportados como datasets, publicados no HuggingFace — são CC BY 4.0: livres para usar e adaptar, inclusive comercialmente, com atribuição. Em grande parte são gerados por LLM e não verificados por humanos; leia o que isso significa antes de confiar neles.