المفسر هو ميزة في [[مقدمة عن قاصّ أوبسيديان للويب|قاصّ أوبسيديان للويب]] تتيح لك التفاعل مع صفحات الويب باستخدام اللغة الطبيعية. يساعدك المفسر في التقاط البيانات وتعديلها التي تريد حفظها في Obsidian. على سبيل المثال: - استخراج أجزاء نصية محددة. - تلخيص المعلومات أو شرحها. - تحويل النص من تنسيق إلى آخر. - ترجمة النص إلى لغة مختلفة. يستفيد المفسر من نماذج اللغة لمعالجة المعلومات على صفحة الويب، وإرجاع النتائج باستخدام [[المتغيرات|المتغيرات]] التي يمكنك إضافتها إلى [[Obsidian Web Clipper/القوالب|قوالب قاصّ الويب]]. ![[web-clipper-interpreter-demo.mp4#interface]] ## أمثلة على الأوامر النصية تستخدم الأوامر النصية صيغة [[المتغيرات|المتغيرات]] `{{"الأمر النصي الخاص بك"}}`. يمكنك استخدام هذه الصيغة مع أي استعلام بلغة طبيعية، مثل: - `{{"a summary of the page"}}` لاستخراج ملخص للصفحة. - `{{"a three bullet point summary, translated to French"}}` لاستخراج نقاط رئيسية حول الصفحة وترجمتها إلى الفرنسية. - `{{"un resumé de la page en trois points"}}` لاستخراج ثلاث نقاط رئيسية باستخدام أمر نصي بالفرنسية. يمكن معالجة مخرجات الأوامر النصية بشكل إضافي باستخدام [[تصفية|عوامل التصفية]]. تتم معالجة عوامل التصفية بعد استلام استجابة الأمر النصي من النموذج. على سبيل المثال: `{{"a summary of the page"|blockquote}}` ستحوّل الاستجابة إلى اقتباس كتلي. ## البدء يعمل المفسر مع أي مزود نماذج لغة تقريبًا، بما في ذلك الخيارات التي تعمل بشكل خاص على جهازك. لإعداد المفسر: 1. انتقل إلى قسم **المفسر** في إعدادات قاصّ الويب. 2. فعّل **تمكين المفسر**. 3. هيّئ المزود والنموذج، انظر قسم [[تفسير صفحات الويب#النماذج|النماذج]] أدناه. 4. أضف [[المتغيرات|متغيرات الأوامر النصية]] إلى [[Obsidian Web Clipper/القوالب|القوالب]] الخاصة بك. 5. إذا كان القالب يتضمن متغيرات أوامر نصية، سيكون قسم المفسر مرئيًا عند [[قص صفحات الويب|قص صفحة]]. انقر على **تفسير** لمعالجة متغيرات الأوامر النصية. ## كيف يعمل عند تمكين المفسر *و* احتواء القالب على [[المتغيرات#متغيرات الطلب|متغيرات أوامر نصية]]، يُعرض قسم جديد للمفسر في نافذة الإضافة، فوق زر **إضافة إلى أوبسيديان**. يتيح لك هذا القسم تحديد نموذج وتشغيل المفسر للصفحة الحالية. عند النقر على **تفسير**، يرسل المفسر سياق الصفحة إلى النموذج المحدد، مع *جميع* الأوامر النصية في القالب في طلب واحد. حسب مزود النموذج الذي تختاره، يمكن أن يكون هذا استدعاءً خارجيًا أو محليًا على جهازك. يقيّم النموذج الأوامر النصية مقابل سياق الصفحة، ويعيد استجاباته. ثم يستبدل المفسر متغيرات الأوامر النصية ببيانات الاستجابة. يمكن أن تستغرق العملية بأكملها أجزاء من الثانية أو أكثر من 30 ثانية حسب النموذج الذي تستخدمه وحجم البيانات التي تعالجها. ## السياق يشير مصطلح *السياق* إلى بيانات الصفحة التي يستخدمها المفسر لمعالجة الأوامر النصية. كلما كان السياق أصغر، كان المفسر أسرع. بشكل افتراضي، يستخدم المفسر HTML الكامل للصفحة كسياق له، إلا أن هذا قد يجعل الأوامر النصية أبطأ وأكثر تكلفة من اللازم. يمكنك تجاوز السياق الافتراضي في **الإعدادات المتقدمة** للمفسر وتحديد السياق لكل [[Obsidian Web Clipper/القوالب|قالب]]. لتحديد سياق أكثر استهدافًا، استخدم [[المتغيرات#متغيرات المحدد|متغيرات المحدد]] (أو أنواع متغيرات أخرى) لتفسير جزء من الصفحة. على سبيل المثال، يمكنك استخدام متغير المحدد التالي في سياق المفسر الخاص بالقالب: ``` {{selectorHtml:#main}} ``` سيؤدي هذا إلى تشغيل المفسر فقط على عنصر `#main` في صفحة الويب، إن وُجد. يمكن أن تكون [[تصفية#معالجة HTML|عوامل تصفية معالجة HTML]] مثل `remove_html` و`strip_tags` و`strip_attr` مفيدة لتقليل طول السياق بشكل أكبر وتسريع المعالجة. ## النماذج > [!warning] الخصوصية > باستخدام مزود نماذج تابع لجهة خارجية فإنك توافق على شروطهم وسياسة الخصوصية الخاصة بهم. تُرسل طلبات المفسر مباشرة إلى المزود الذي تختاره. لا تقوم Obsidian بجمع أو تخزين أي بيانات حول طلباتك. ### المزودون المعدّون مسبقًا يتضمن المفسر عدة مزودين معدّين مسبقًا. لاستخدام هؤلاء المزودين تحتاج إلى مفتاح API يمكنك الحصول عليه عن طريق تسجيل الدخول إلى حسابك لدى المزود. ستحتاج أيضًا إلى تحديد النموذج (النماذج) التي تريد استخدامها. | المزود | مفتاح API | النماذج | | ------------------ | ----------------------------------------------------------- | ------------------------------------------------------------------------------------ | | Anthropic | [مفتاح API](https://console.anthropic.com/settings/keys) | [النماذج](https://docs.anthropic.com/en/docs/about-claude/models) | | Azure OpenAI | [مفتاح API](https://oai.azure.com/portal/) | [النماذج](https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/models) | | DeepSeek | [مفتاح API](https://platform.deepseek.com/api_keys) | [النماذج](https://api-docs.deepseek.com/quick_start/pricing) | | Google Gemini | [مفتاح API](https://aistudio.google.com/apikey) | [النماذج](https://ai.google.dev/gemini-api/docs/models/gemini) | | Hugging Face | [مفتاح API](https://huggingface.co/settings/tokens) | [النماذج](https://huggingface.co/models?pipeline_tag=text-generation&sort=trending) | | Meta | [مفتاح API](https://llama.developer.meta.com) | [النماذج](https://llama.developer.meta.com/docs/models) | | Ollama | غير مطلوب | [النماذج](https://ollama.com/search) | | OpenAI | [مفتاح API](https://platform.openai.com/api-keys) | [النماذج](https://platform.openai.com/docs/models) | | OpenRouter | [مفتاح API](https://openrouter.ai/settings/keys) | [النماذج](https://openrouter.ai/models) | | Perplexity | [مفتاح API](https://www.perplexity.ai/settings/api) | [النماذج](https://docs.perplexity.ai/guides/model-cards) | | xAI Grok | [مفتاح API](https://console.x.ai/team/default/api-keys) | [النماذج](https://docs.x.ai/docs/models) | ### اختيار نموذج بشكل عام نوصي باستخدام نماذج صغيرة مع قاصّ الويب لأنها أسرع وتعمل بدقة معقولة لهذه المهمة. تشمل أمثلة النماذج الأصغر **Claude Haiku من Anthropic** و**Google Gemini Flash** و**Llama** بمعاملات 3B أو 8B أو سلسلة نماذج **Mini من OpenAI**. ### المزودون والنماذج المخصصة لإضافة مزود و/أو نموذج مخصص، انتقل إلى **[[الإعدادات|الإعدادات]]** في قاصّ الويب ← **المفسر**: - **أضف مزود** لتهيئة المزودين المعدّين مسبقًا والمخصصين. - **إضافة نموذج** لتهيئة النماذج المعدّة مسبقًا والمخصصة. عند إضافة مزود مخصص، نوصي باستخدام نقطة نهاية إكمال المحادثة الخاصة بهم لـ **URL الأساسي** — وعادة ما تنتهي بـ `/chat/completions`. ### النماذج المحلية يمكن للمفسر استخدام نماذج محلية توفر خصوصية أكبر وتوافقية مع وضع عدم الاتصال. توجد عدة خيارات لتشغيل النماذج المحلية. أحد أسهل الخيارات للتهيئة هو Ollama. #### Ollama يتيح لك [Ollama](https://ollama.com/) تشغيل نماذج اللغة محليًا وبشكل خاص على جهازك. بمجرد تنزيل وتثبيت Ollama، أضف Ollama باستخدام **أضف مزود** في إعدادات المفسر. لا يتطلب Ollama مفتاح API. ثم اختر نموذجًا من [قائمة النماذج](https://ollama.com/search). على سبيل المثال إذا كنت تريد استخدام [Llama 3.2](https://ollama.com/library/llama3.2)، انقر على **إضافة نموذج**، ثم: - **المزود:** Ollama - **اسم العرض:** Llama 3.2، هذه القيمة قابلة للتخصيص. - **معرف النموذج:** `llama3.2`، يجب أن يتطابق هذا تمامًا مع معرف النموذج من Ollama. **تشغيل خادم Ollama** للسماح لإضافة المتصفح بالتفاعل مع Ollama يجب أن [تعطيه تعليمات صريحة](https://github.com/ollama/ollama/issues/2308) عند تشغيل الخادم، وإلا ستظهر لك رسالة خطأ `403`. أغلق تطبيق Ollama، وشغّل الأمر التالي في الطرفية. يجب تغيير البروتوكول إلى بروتوكول إضافة المتصفح الخاص بك إذا كنت لا تستخدم Chrome أو Firefox. ``` OLLAMA_ORIGINS=moz-extension://*,chrome-extension://*,safari-web-extension://* ollama serve ``` ثم شغّل نموذجك مع Ollama بالطريقة المعتادة، مثل: ``` ollama run llama3.2 ``` **طول السياق** يتم تعيين نافذة سياق Ollama افتراضيًا على 2048 رمزًا. هذا هو الحد الأقصى لعدد الرموز للرسالة والاستجابة. عند قص صفحة ويب طويلة يمكنك بسهولة تجاوز هذا الحد. سيفشل Ollama بصمت ويعيد نتائج غير ذات صلة. بعض الخيارات: - زيادة معامل `num_ctx` في Ollama. انتبه إلى أن السياق الأطول يتطلب ذاكرة أكبر. - استخدم حقل [[تفسير صفحات الويب#السياق|السياق]] في القالب لتوفير جزء أكثر استهدافًا من الصفحة، أو قص السياق باستخدام [[تصفية|عامل تصفية]] مثل `{{content|slice:0,1000}}`.