“أي من عقودنا يحتوي على غرامة إنهاء؟” يبدو كوظيفة لوكيل ذكاء اصطناعي، وهو كذلك، لكن ليس بقراءة العقود. وكيل يفتح كل ملف للإجابة يستهلك سياقه على 297 مستند غير ذي صلة ولا يزال عليه أن يثق بأنه لاحظ البند في الثلاثة المتبقية. مع تشغيل GroupDocs.Search.Mcp محليًا في Docker، يقوم Claude Desktop أو Cursor أو Copilot بفهرسة المجلد مرة واحدة، ويسأل الفهرس أي العقود تتطابق، ويقرأ فقط البنود:
أي من عقودي يذكر غرامة إنهاء؟ اقتبس البند لكل منها.
الإصدار خطوة بخطوة مع التكوين واستكشاف الأخطاء موجود في الوثائق: كيفية طرح أسئلة عبر مجلد من العقود باستخدام وكيل ذكاء اصطناعي.
ما الخطأ الذي يحدث عندما يقرأ الوكيل كل شيء؟
ثلاثة أشياء، بترتيب تصاعدي من الخطر. إنها بطيئة ومكلفة: كل عقد يمر عبر نافذة السياق، في كل مرة تسأل فيها. تنفد المساحة: بعد عدة عشرات من المستندات الطويلة، تُسقط المستندات الأولى من النافذة أو تُلخّص، والملخص هو المكان الذي يختفي فيه البند. وتفشل بهدوء: “وجدت عقدين يحتويان على غرامة إنهاء” يبدو نفسه سواء فحص الوكيل جميع الـ300 أو تصفّح 40 فقط. لا شيء في الرد يخبرك أيهما.
الفهرس يزيل المشكلة الأولى ويظهر المشكلة الثالثة. السؤال “أي الملفات تحتوي على هذه الكلمات” له إجابة دقيقة، وأداة البحث تُعيدها مع عدد يمكنك التحقق منه.
كيف يبدو التسلسل الصحيح؟
قم بالفهرسة مرة واحدة، ثم ابحث، ثم اقرأ النتائج. إليكم ما أعاده الخادم في اختبارنا، ضد خمسة عقود اصطناعية: اثنان يحتويان على بند غرامة، وعقد NDA واحد يذكر الكلمتين لكنه يستبعد الغرامة.
-> add_to_index {"documentsPath":"contracts","indexName":"contracts"}
<- Indexed 'contracts' into index 'contracts': 5 document(s) added,
5 in the index.
-> search {"query":"termination penalty","indexName":"contracts"}
<- { "documentsFound": 0,
"hint": "Unquoted words separated by spaces do not match. Search the
phrase as \"termination penalty\", or combine the words with
AND / OR, e.g. termination AND penalty." }
-> search {"query":"termination AND penalty","indexName":"contracts"}
<- documentsFound 3: acme-master-services-agreement.pdf,
globex-consulting-agreement.docx, initech-nda.docx
-> get_text_fragments {"query":"\"termination penalty\"",...}
<- === contracts/acme-master-services-agreement.pdf ===
…a termination penalty of three monthly fees applies, payable
within 30…
=== contracts/globex-consulting-agreement.docx ===
…Early termination penalty: the Client pays 50 percent of the fees…
ماذا تعلمنا النتائج الثلاث؟
الاستعلام الأول فشل، والخادم أوضح السبب. في GroupDocs.Search، الكلمات المفصولة بمسافات دون علامات اقتباس لا تتطابق كعبارة. بدلاً من إرجاع صفر صريح، يضيف الخادم hint يشرح الإصلاح، ويصحّح الوكلاء أنفسهم في الاستدعاء التالي. هذا هو الخطأ الأكثر شيوعًا في المرة الأولى، ويتم التعامل معه في الاستجابة نفسها.
AND وجد ثلاثة، والعبارة وجدت اثنين. يتم تقييم AND لكل مستند. يحتوي عقد Initech NDA على كلا الكلمتين في الجملة “There is no fee and no penalty associated with termination of this NDA”. نموذج يقرأ نتيجة البحث فقط سيعده؛ قراءة المقطع سيُبلغ عن الـNDA بشكل منفصل كعقد يستبعد الغرامة صراحة. هذا التمييز هو القيمة الكاملة للنداء الثالث.
الصيغ لم تكن مهمة. جاءت النتائج من ملف PDF وDOCX، وعقد TXT كان في نفس الفهرس. المحرك يفهرس 82 صيغة، لذا مجلد نما على مدار عشر سنوات من الأدوات المختلفة يجيب على استعلام واحد.
الاستدعاءات، بالترتيب
user agent Search MCP server
| "Which contracts mention a termination penalty?" |
|---------------->| |
| |-- add_to_index (once) ------------------>|
| |-- search {"query":"termination AND |
| | penalty"} -------------------->|
| |<- 3 files --------------------------------|
| |-- get_text_fragments {"query": |
| | "\"termination penalty\""} ----------->|
| |<- the two clauses, with context ----------|
|<- "Acme: 3 monthly fees (12.3). Globex: 50% of remaining |
| fees. Initech NDA: explicitly no penalty." |
بعد الفهرسة الأولى، كل سؤال جديد يكلف استدعاءين بغض النظر عن عدد العقود. “أي العقود تحتوي على بند القوة القاهرة؟” هو "force majeure". “أي الإيجارات تتجدد تلقائيًا؟” هو renewal OR renews، والمقطع يقول “renews automatically for 12 months unless notice is given”. بند حول فترات الإشعار هو terminat? AND notice، حيث ? تمثل حرفًا واحدًا وتطابق terminate.
أين يبقى الإنسان في الحلقة
هذا ليس مراجعة عقود، ولا ينبغي أن يتظاهر بذلك. الفهرس يجد ويقتبس النص؛ الوكيل يلخص ما اقتبسه. عادتان تحافظان على صدقه. اطلب الاقتباس مع كل ادعاء، حتى يكون الملخص الخاطئ مرئيًا بجانب الجملة التي قرأها خطأ. واطلب أيضًا القريبة من الفشل، “قائمة العقود التي تذكر الكلمات دون البند”، لأن تلك هي الحالات التي يكون فيها حكم القارئ هو الأهم.
حدود صادقة
- في وضع التقييم، الفهرس يحتوي على أقصى 100 مستند وتُعيد عملية البحث أقصى 10، وكل استجابة تقول ذلك. استدعِ
get_license_statusقبل تشغيل حقيقي، لأن الإجابة المحدودة تبدو مكتملة. - العقود الممسوحة ضوئيًا دون طبقة نصية تُفهرس فقط بخصائص الملف؛ لا يوجد OCR.
- البحث النص الكامل يطابق الكلمات: يجب على الوكيل استخدام مفردات العقد، أو تجربة المتغيرات.
- إزالة ملف واحد من مجلد مفهرس غير مدعومة؛ احذف المجلد وأضف ما تريد مرة أخرى.
الأسئلة المتكررة
هل يمكن لوكيل ذكاء اصطناعي البحث في جميع عقودي دون رفعها؟
نعم. يتم بناء الفهرس والبحث فيه داخل حاوية على جهازك؛ فقط البنود التي يقتبسها الوكيل تصل إلى النموذج.
كم عدد العقود التي يمكنه التعامل معها؟
مرخص، بقدر ما تسمح به مساحة القرص والذاكرة؛ يُبنى الفهرس مرة واحدة ويُحدّث تدريجيًا. وضع التقييم يتوقف عند 100 لكل فهرس.
لماذا عادت عملية البحث عن كلمتين بلا نتائج؟
الكلمات غير المقتبسة لا تتطابق كعبارة. اقتبسها، "termination penalty"، أو اجمع الكلمات بـ AND؛ hint الخاص بالخادم يقول نفس الشيء.
تعمق أكثر
- الوثائق، دليل الاستخدام الرسمي: كيفية طرح أسئلة عبر مجلد من العقود باستخدام وكيل ذكاء اصطناعي
- محور الوثائق: GroupDocs.Search MCP Server
- ابدأ هنا: هل تحتاج إلى قاعدة بيانات متجهات لطرح أسئلة حول مجلد من المستندات؟
- ذات صلة: إجابات مستندة إلى ملفاتك: اقتبس المقطع، لا ذاكرة النموذج
- ذات صلة: grep لا يستطيع قراءة PDF: أعطِ وكيل الترميز الخاص بك فهرس مستندات
- ذات صلة: ابحث في أرشيف بريدك الإلكتروني باستخدام وكيل ذكاء اصطناعي: PST، MSG، EML والمرفقات داخلها
- ذات صلة: ذاكرة المشروع للوكلاء الذكاء الاصطناعي: فهرس واحد لكل مشروع، يُحافظ على تحديثه
- نموذج الأمان والتشغيل داخل المؤسسة: 3 بنى لمعالجة المستندات بالذكاء الاصطناعي، والواحدة التي تبقي الملفات داخل شبكتك
- الأسئلة: GroupDocs Search forum
- المصدر: GroupDocs.Search.Mcp on GitHub