Vocab Bloom Hub

قواميس تستضيفها وتطوّرها بنفسك

شغّل قواميس الإنجليزية بجانب تطبيقك: ابدأ بمدخلات مجموعة بيانات المشروع الخاصة البالغ عددها 300 000، وأضف Wiktionary أو WordNet أو OpenGloss، أو أنشئ قاموسك. أنشئ نسخًا متفرعة وعدّل البيانات مع حفظ مصادر الكلمات وتراخيصها وسجلها. اقرأها عبر واجهة API عامة أو حزم SDK لـ Node.js وPython أو صفحات الكلمات.

التثبيت بأمر واحد

يكفي ملف compose وقالب متغيرات البيئة: تُسحب الصور من GitHub Container Registry، ويبدأ Postgres معها، ويحمّل القاموس نفسه عند التشغيل الأول.

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

ما الذي تحصل عليه

واجهة API عامة

مُرقَّمة الإصدارات، للقراءة فقط، دون تسجيل دخول: بحث يتسامح مع الأخطاء الإملائية، وكلمات رئيسية بمعانيها وصيغها وترجماتها ومرادفاتها وأضدادها، واستعلام دفعي، وقوائم مقسّمة إلى صفحات بمؤشر، ومدخل عشوائي — كل إجابة في غلاف واحد، ومخزّنة مؤقتًا بواسطة ETag.

حزم SDK

عملاء بأنواع محدَّدة لـ Node.js / TypeScript وPython مولَّدون من مستند OpenAPI نفسه: دالة لكل نقطة نهاية، وتكرار بالمؤشر، وأخطاء بأنواع محدَّدة، وذاكرة تخزين مؤقت بـ ETag، وإعادة محاولة اختيارية، وDataFrame للدفاتر التفاعلية.

واجهة الإدارة

حرّر الكلمات والمعاني والترجمات والمرادفات والأضداد في أي مجموعة بيانات من المتصفح — يُحفظ كل تغيير في سجل يراه القراء — وراجع التصحيحات التي يرسلونها، وتابع الإحصاءات، وثبّت مجموعات البيانات واستوردها وصدّرها من بطاقاتها.

مجموعات البيانات

يُنشر قاموس المشروع على HuggingFace برخصة CC BY 4.0. أضف Wiktionary أو WordNet أو OpenGloss بالتنزيل على الخادم أو بالرفع اليدوي. أنشئ مجموعة فارغة أو نسخة متفرعة من مجموعة مثبتة، وحدّد إصدارها وترخيص المساهمات، مع حفظ مصادر الكلمات وسجل تعديلاتها. تُقرأ المجموعات منفصلة.

مصمَّم للمشغّلين

مسابير الصحة والجاهزية، وإيقاف سلس، وترحيلات عند التشغيل، ومقاييس Prometheus، وسجلات JSON منظّمة بمعرّف للطلب — كل ما تحتاجه خدمة ليشغّلها شخص آخر.

البحث

مستويات للمطابقة التامة والبادئة والتقريبية والترجمة على فهارس Postgres: القراءات الأكثر تكرارًا تُجاب خلال ميلي ثوانٍ على القاموس الكامل.

حزمتا SDK، عقد واحد

كلا العميلين مولَّد من مستند OpenAPI المُودَع في المستودع لواجهة API العامة، فلا ينحرفان أبدًا عن الخادم.

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

البيانات والرخصة

الشيفرة برخصة MIT. أما بيانات قاموس المشروع — التي تقدّمها واجهة API، وتُصدَّر كمجموعات بيانات، وتُنشر على HuggingFace — فهي برخصة CC BY 4.0: حرة الاستخدام والتعديل، تجاريًا أيضًا، مع نسب العمل إلى مصدره. وهي في معظمها مولَّدة بنماذج لغوية كبيرة (LLM) ولم يراجعها بشر؛ اقرأ ما يعنيه ذلك قبل الاعتماد عليها. ومجموعة البيانات من مصدر آخر تحتفظ برخصة ذلك المصدر — Wiktionary يشترط المشاركة بالمثل، وقواميس WordNet تشترط إبقاء إشعارها على كل نسخة — وتعرض النسخة شروط مجموعة البيانات التي تقدّمها؛ اقرأها قبل أن تبني عليها. يحتوي OpenGloss أيضًا على نص مولّد: CC BY 4.0 مع شروط WordNet 3.0 الإضافية للكلمات المحددة. قد تحتفظ الكلمة بعدة تراخيص للمصادر والمساهمات؛ النسخ أو إنشاء نسخة متفرعة لا يستبدلها.