دليل أسطرلاب English GitHub

اسأل الخزانة

ابحث بما تعنيه الملاحظة لا بالكلمات التي تستعملها، واعرف أي الملاحظات تتناول الشيء نفسه، واطرح سؤالًا تجيب عنه ملاحظاتك، مع المقاطع التي أجابت منها. على جهازك أنت افتراضيًا.


يجد مربع البحث الكلمات التي تكتبها. وهو الأداة الصحيحة حين تتذكر الكلمات، والخاطئة حين تتذكر الفكرة: فالملاحظة التي تقول «ما زال ربع الجرعة في الدم عند منتصف الليل» لا يجدها السؤال لماذا تبقيني القهوة مستيقظًا، والملاحظة الإنجليزية لا يجدها سؤال عربي أصلًا. أما «اسأل الخزانة» فيقرأ كل ملاحظة بحثًا عن معناها، مرة واحدة، ويحفظ ما قرأه. ثم تستعمل ذلك أربعة أبواب:

  • البحث بالمعنى، الوضع الثاني لمربع البحث
  • ذات صلة، قائمة في جزء «بالجوار» من لوحة المحتويات
  • روابط مقترحة، مقاطع في ملاحظات أخرى يحسن أن تُربط بالملاحظة التي تكتبها
  • اسأل الخزانة…، سؤال تجيب عنه ملاحظاتك، وكل ادعاء فيه يشير إلى المقطع الذي جاء منه

والأربعة لك وحدك. لا يراها زائر موقعك أبدًا، ويرفض الخادم كل طلب منها يأتي من غير المالك المسجَّل دخوله.

قبل أن تبدأ: Ollama

يقوم بالقراءة برنامج Ollama، وهو يشغّل نماذج اللغة على حاسوبك أنت. ثبّته، ثم نزّل النموذجين اللذين يستعملهما Astrolabe افتراضيًا:

ollama pull embeddinggemma   # يقرأ الملاحظات بحثًا عن المعنى (621 MB)
ollama pull qwen3.5:9b       # يجيب عن الأسئلة (6.6 GB)

وهذا كل شيء. يجد Astrolabe برنامج Ollama في عنوانه المعتاد (http://127.0.0.1:11434)؛ وإن كنت نقلته فالمتغير OLLAMA_HOST الذي يقرؤه Ollama نفسه هو ما يقرؤه Astrolabe أيضًا. وفي أول مرة يبدأ فيها الخادم وOllama يعمل، يقرأ الخزانة كلها في الخلفية. تستغرق خزانة من 60 ملاحظة ثانيتين إلى أربع؛ واستغرقت خزانة من 2400 ملاحظة (4565 مقطعًا) 55 ثانية على بطاقة RTX 4070 SUPER. ولا ينتظرها شيء: التطبيق صالح للاستعمال فورًا، وتقول الأبواب «ما زالت القراءة جارية» حتى تنتهي.

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

البحث بالمعنى

تحت مربع البحث، بجانب بطاقة العوامل وزر الاستبدال، زرّ عليه دائرتان متداخلتان. اضغطه فيبحث المربع بالمعنى: اكتب لماذا أشعر بثقل بعد نوم طويل في النهار فتأتي ملاحظة القيلولة أولًا، ثم المقطع من ملاحظة الكافيين عن هبوط ما بعد الظهر. وكل نتيجة هي أفضل مقطع من ملاحظة واحدة: عنوانها، والعنوان الفرعي الذي يقع تحته المقطع، والمقطع نفسه، ومقدار قربه نسبةً مئوية. والنقر على النتيجة يفتح الملاحظة عند ذلك العنوان الفرعي.

ولا يلزم أن يشترك السؤال والملاحظات في لغة. فالسؤال العربي يجد ملاحظات إنجليزية والسؤال الإنجليزي يجد ملاحظات عربية، لأن النموذج يقرأ اللغتين في فضاء واحد: السؤال «كيف أحول بقايا الطعام إلى سماد» يجد ملاحظتك العربية عن السماد وملاحظتك الإنجليزية معًا.

اضغط الزر مرة أخرى لتعود إلى البحث بالكلمات. وتبقى الكلمات في المربع، فتستطيع أن تسأل الشيء نفسه بالطريقتين. وفي لوحة الأوامر البحث بالمعنى… أيضًا، ويفتح الشريط الجانبي في هذا الوضع والمؤشر في المربع. ويُحفظ الوضع على هذا الجهاز.

ذات صلة

تعرض قائمة بالجوار في لوحة المحتويات الملاحظات التي تشترك مع الملاحظة المفتوحة في كلماتها غير الشائعة (انظر بالجوار). وتحتها تعرض ذات صلة الملاحظات الأقرب إلى المفتوحة في المعنى: ما تتناوله، لا الكلمات التي تصادف أنها تستعملها. فالملاحظة العربية ونظيرتها الإنجليزية تجد إحداهما الأخرى هنا بلا كلمة مشتركة. وتُسقط «ذات صلة» كل ملاحظة ذكرتها «بالجوار» من قبل، فتتكامل القائمتان ولا تتكرران.

روابط مقترحة

تحت «ذات صلة» تعدّد روابط مقترحة مقاطع في ملاحظات أخرى تشبه الملاحظة المفتوحة ولا يربطها بها رابط في أي اتجاه. ويذكر كل صف الملاحظة والعنوان الفرعي للمقطع، ويقتبسه، وفيه زر اربط. اضغطه فيُكتب [[Note#Heading]] عند المؤشر في الملاحظة التي تحرّرها: تعديل واحد يُتراجع عنه بـCtrl/Cmd Z كأي تعديل آخر، ويحفظه الحفظ التلقائي المعتاد. وحين تكون الملاحظة مفتوحة للقراءة لا للتحرير، يُضاف الرابط في آخرها.

وهذا سؤال غير سؤال إشارات غير مرتبطة، الأدنى في اللوحة نفسها، التي تجد اسم ملاحظتك مكتوبًا في نصوص ملاحظات أخرى. وتبقى القائمتان منفصلتين.

طرح سؤال

اضغط Ctrl/Cmd P واختر اسأل الخزانة… واكتب السؤال واضغط Enter. (وعلى الهاتف تجده في قائمة ⋯.) فتنفتح لوحة وتظهر الإجابة وهي تُكتب.

والإجابة مستندة إلى ملاحظاتك وحدها. قبل أن يرى النموذج سؤالك، يجد Astrolabe المقاطع الستة الأقرب إليه في المعنى ويسلّم النموذج إياها ولا شيء غيرها، مع التعليمة ألا يستعمل سواها وأن يستشهد بكل مقطع يستعمله. وتظهر الاستشهادات علاماتٍ مرقّمة صغيرة، تفتح كل منها ملاحظتها عند العنوان الفرعي للمقطع. وتحت الإجابة تعدّد المقاطع التي قرأها كل مقطع أُعطيه النموذج، مع إبراز ما استشهد به، فترى ما أغفله أيضًا.

وحين لا تجيب ملاحظاتك عن السؤال تُخبَر بذلك: اسأل ماذا كتب ابن رشد عن العجين المخمر؟ خزانةً فيها ملاحظات عن ابن رشد وأخرى عن العجين المخمر، فتكون الإجابة «لا تقول الخزانة شيئًا عما كتبه ابن رشد عن العجين المخمر»، لا اختلاقًا. وحين يفترض السؤال شيئًا لا تدعمه ملاحظاتك، تقول الإجابة ذلك أيضًا. واسأل بالعربية تأتِك الإجابة بالعربية.

وتقول اللوحة دائمًا من أجاب وهل غادر السؤال الجهاز: قبل أن تسأل، تحت مربع السؤال («يجيب qwen3.5:9b على هذا الجهاز، ولا يغادره شيء.»)، وبعده، تحت الإجابة، مع المدة التي استغرقتها أول كلمة.

وانسخ في ملاحظة يحفظ الإجابة. يسألك أين تضعها (في مجلد اسمه Ask افتراضيًا، وتُسمّى بالسؤال) ويعرض المسار الذي سينشئه قبل أن ينشئ شيئًا. وتحمل الملاحظة source: ask في خصائصها، والنموذج والتاريخ، والسؤال عنوانًا لها، والإجابة وقد صار كل استشهاد فيها [[رابطًا]] إلى المقطع الذي جاء منه، وقائمة Sources في آخرها:

---
source: ask
asked: 2026-09-23
model: qwen3.5:9b
local: true
---
# لماذا يُقلَّم الزيتون في آخر الشتاء؟

يُقلَّم الزيتون في آخر الشتاء لفتح وسط الشجرة للضوء والهواء [[شجرة الزيتون#التقليم|1]] …

## Sources

1. [[شجرة الزيتون#التقليم]]

إجابات من Anthropic (اختياري)

تأتي الإجابات من النموذج الذي على جهازك ما لم تختر غير ذلك. ففي الإعدادات ← اسأل ← مصدر الإجابات تستطيع أن تختار Anthropic بدلًا منه، وتضيف مفتاح Anthropic. ويُحفظ المفتاح على الخادم وحده، في مجلد بياناته، ولا يقرؤه إلا مستخدم الخادم نفسه؛ ولا يُرسل إلى متصفح أبدًا، ولا يُعرض مرة أخرى بعد حفظه (يقول الصف فقط هل يوجد مفتاح محفوظ)، ولا يُنسخ إلى الخزانة أبدًا، فلا ينتقل معها إلى أجهزة أخرى ولا إلى نسخة git الاحتياطية.

وحين تختار Anthropic يُرسَل كل سؤال والمقاطع المسترجعة له إلى واجهة Anthropic البرمجية لتُجيب عنه، وتقول اللوحة ذلك قبل أن تسأل («… يُرسَل السؤال والمقاطع إلى Anthropic»). أما قراءة الملاحظات بحثًا عن المعنى فلا تُرسَل إلى أي مكان: نموذج التضمين دائمًا هو الذي على جهازك.

الإعدادات ← اسأل

الصفما يفعله
مصدر الإجاباتهذا الجهاز (Ollama)، أو Anthropic
النموذج المحلينموذج Ollama الذي يجيب (الافتراضي qwen3.5:9b)
نموذج Anthropicالنموذج المستعمل حين تجيب Anthropic (الافتراضي claude-sonnet-5)
مفتاح Anthropicيُحفظ على الخادم وحده؛ واحذف المفتاح يحذفه فورًا
الحالةهل يعمل Ollama، وهل نُزّل كل نموذج، وكم ملاحظة قُرئت؛ وأعد القراءة الآن يبدأ جولة فورًا
نموذج التضمين (متقدّم)نموذج Ollama الذي يقرأ الملاحظات بحثًا عن المعنى (الافتراضي embeddinggemma). تغييره يعيد قراءة كل ملاحظة مرة واحدة، والعودة إليه تجد القراءة القديمة ما زالت محفوظة
المقاطع لكل إجابة (متقدّم)عدد المقاطع التي يُعطاها نموذج الإجابة، من 2 إلى 12 (الافتراضي 6)

والصفّان الموسومان متقدّم ينتظران خلف سطر متقدّم في القسم، وهو يسمّيهما. وتنتقل هذه الإعدادات مع الخزانة كسائر الإعدادات (انظر الإعداد)؛ أما المفتاح فلا.

حين لا يعمل Ollama

لا ينكسر شيء. يقول كل باب ذلك في سطر واحد: لا يعمل Ollama على هذا الجهاز، فالبحث بالمعنى متوقف. البحث الحرفي ما زال يعمل.، ولا يفعل غير ذلك: يعرض وضع المعنى هذه الجملة بدل النتائج، وتعرضها «ذات صلة» بدل الملاحظات، ولا تُرسم «روابط مقترحة» أصلًا، وتعرضها لوحة الإجابة فوق مربع السؤال. والبحث العادي لم يعتمد على شيء من هذا قط. وحين يغيب نموذج لا Ollama نفسه، يسمّي السطر النموذج والأمر الذي ينزّله. شغّل Ollama فتلحق الجولة التالية (خلال دقيقة، أو فورًا بـأعد القراءة الآن).

أما خزانة الجيب — مستودع GitHub مفتوح في تطبيق أندرويد — فلا «اسأل» فيها أصلًا: ليس بجانبها حاسوب يشغّل Ollama، فلا قسم اسأل في إعداداتها، وكل باب يقول إنه يحتاج إلى خادم أسطرلاب. والبحث العادي يعمل هناك كما في كل مكان.

اختيار نموذج التضمين

نموذج التضمين هو الذي يقرر ما معنى «قريب في المعنى»، والنموذج الذي تبدأ به أكثر الدروس، all-minilm، دُرّب كله تقريبًا على الإنجليزية. وقد قيس مع أربعة نماذج أخرى يقدمها Ollama على عيّنة ثنائية اللغة: الخزانة المؤلفة من 61 ملاحظة التي بُنيت الميزة عليها (النوم، والخبز، والأندلس، والبرمجيات، والحديقة؛ نحو ثلثها بالعربية، ولعدد من ملاحظاتها نظيرة باللغة الأخرى)، و24 سؤالًا صيغت إعادةَ صياغة، 12 بكل لغة، ولكل منها الملاحظة التي تجيب عنه. و«الأولى» هي عدد المرات التي جاءت فيها تلك الملاحظة أولًا؛ و«اللغة الأخرى في الثلاث الأولى» هي عدد المرات التي كانت فيها نظيرتها باللغة الأخرى بين الثلاث الأولى.

النموذجالإنجليزية: الأولىالإنجليزية: في الثلاث الأولىالعربية: الأولىالعربية: في الثلاث الأولىاللغة الأخرى في الثلاث الأولىقراءة الخزانة
all-minilm9/1212/120/124/120/230.3 ث
nomic-embed-text10/1211/122/126/120/235.7 ث
paraphrase-multilingual3/1212/128/1212/1215/230.9 ث
bge-m39/1211/125/1210/1215/231.1 ث
embeddinggemma9/1212/129/1211/1220/230.9 ث

لم يجد all-minilm الملاحظة العربية الصحيحة أولًا في أي من الأسئلة العربية الاثني عشر، ولم يصل مرة واحدة بين ملاحظة ونظيرتها باللغة الأخرى. أما embeddinggemma فيؤدي اللغتين كما تؤدي النماذج الإنجليزية وحدها الإنجليزيةَ، ويجد نسخة الملاحظة باللغة الأخرى بين الثلاث الأولى في 20 من 23 سؤالًا، ولذلك هو الافتراضي. وbge-m3 خيار ثانٍ معقول. وأي نموذج تضمين في Ollama يعمل: اكتب اسمه في الصف ونزّله.

كيف يعمل

تُقطّع الملاحظة مقاطعَ عند عناوينها الفرعية، وعند الفقرات داخل القسم الطويل، ليكون كل مقطع بين 200 و400 رمز تقريبًا وينتمي إلى عنوان واحد بعينه؛ وذلك العنوان هو ما يفتحه الاستشهاد أو النتيجة. ويُعرض كل مقطع على النموذج وفوقه عنوان الملاحظة وعنوانه الفرعي، ويُحفظ المتجه الذي يعيده النموذج في مجلد بيانات الخادم (embeddings.db)، مفتاحه بصمة ذلك النص بعينه واسم النموذج. فالمقطع الذي لم يتغير نصه ولا عنوانه الفرعي ولا عنوان ملاحظته لا يُقرأ مرتين أبدًا، مهما عُدّلت الملاحظة من حوله. والملف ذاكرة مؤقتة: حذفه يكلّف جولة قراءة واحدة ولا يُضيّع شيئًا، ولا ينتقل مع الخزانة أبدًا.

ويقارن البحث متجه السؤال بمتجه كل مقطع في ذاكرة الخادم. ولخزانة من آلاف الملاحظات يستغرق ذلك أجزاء قليلة من الثانية، ولذلك لا قاعدة بيانات منفصلة تثبّتها. وعلى خزانة الاختبار ذات الـ2400 ملاحظة استغرق البحث بالمعنى نحو 50 جزءًا من الألف من الثانية من الطلب إلى الجواب، وأكثرها قراءة النموذج للسؤال. ووصلت أول كلمة من إجابة qwen3.5:9b على بطاقة RTX 4070 SUPER بعد نحو 0.3 ثانية حين كان النموذج محمّلًا، وبعد نحو 8 ثوانٍ حين اضطر Ollama إلى تحميله أولًا.

حرّر هذه الصفحة على GitHub

أسطرلاب برنامج حر. هذه الصفحات مبنية من ملفات Markdown في مجلد docs بالمستودع.