دوز مباشرة للمحتوى الرئيسي
دروس فالذكاء الاصطناعي

بني ذاكرة دائمة لوكيل الذكاء الاصطناعي باستعمال AIrecall

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

بني ذاكرة دائمة لوكيل الذكاء الاصطناعي باستعمال AIrecall

شنو هو AIrecall؟

AIrecall هو طبقة ذاكرة طويلة المدى كتتركّب مباشرة مع الوكلاء ديال الذكاء الاصطناعي. كيحافظ على المعلومات المفيدة بين الجلسات، بلا ما يخلّي الوكيل يعتمد غير على نافذة السياق الحالية ديالو. المشروع كيجمع بين Python SDK، وخادم ذاكرة بـ Go، وتخزين SQLite، وفهرس متّجهات داخل العملية.

AIrecall مصمّم باش يخلي الـ prompts مركّزين. بلاصة ما ندخلو تاريخ التفاعل كامل فكل طلب، الوكيل ديالك يقدر يجيب الذكريات اللي عندها علاقة أكبر بالدور الحالي.

أنواع الذاكرة والخصائص الأساسية

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

كيفاش كيخدم AIrecall

فكل دور، Python SDK كيرسل الاستعلام الحالي لـ AIrecall Core عبر نداء محلي أو gRPC. الـ core كيقلب فالذاكرة العرضية والدلالية باستعمال الكلمات المفتاحية والتشابه بالمتّجهات، كيرتّب النتائج، وكيُرجع أهم الذكريات المرتبطة باش تدخل فـ prompt ديال الوكيل.

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

التثبيت والإعداد

ثبّت Python SDK

ثبّت الحزمة اللي كيستوردها وكيل Python ديالك:

pip install airecall-sdk

هيّئ التخزين المحلي

أنشئ مخزن ذاكرة محلي مبني على SQLite باستعمال واجهة الأوامر:

airecall init

بهذا الإعداد تقدر تبدا تخزّن الذكريات وتسترجعها مباشرة بلا ما تحتاج خدمة منفصلة.

ثبّت أو شغّل خادم الذاكرة

إلى بغيتي خادم الذاكرة الأساسي متوفر محلياً أو كـ sidecar، ثبّت الإضافة الخاصة بالخادم:

pip install airecall-sdk[server]

ومن بعد تقدر تشغّل الخادم كعملية مستقلة:

airecall serve

الـ SDK بوحدو كيعتمد غير على المكتبة القياسية. والخادم كيستعمل اعتماداً واحداً مكتوباً بـ Go الخالص، حسب README ديال المشروع.

الاستعمال الأساسي

أنشئ نسخة من الذاكرة

استورد Memory وعيّن معرّفاً للوكيل:

from airecall import Memory

memory = Memory(agent_id="support-bot")

‏agent_id كيعرّف الوكيل اللي كتتخزّن وكتسترجع الذكريات ديالو. استعمل نفس المعرّف ملي بغيتي الجلسات اللاحقة توصل لنفس مجموعة الذكريات.

خزّن ذاكرة عرضية

استعمل remember باش تسجّل شي حاجة وقعات أثناء التفاعل:

memory.remember(
    "User asked about refund policy for order ORD-9921, told 30-day window applies."
)

هادشي ذاكرة عرضية حيث كيسجّل حدثاً محدداً والنتيجة ديالو.

استرجع السياق المرتبط

فجلسة لاحقة، عيّط لـ recall بالسؤال الحالي:

context = memory.recall(
    "what did we tell this user about refunds?"
)

AIrecall كيقلب فالذكريات المخزّنة وكيُرجع الحدث المرتبط مرتّباً حسب الصلة. التطبيق ديالك يقدر من بعد يضيف داك السياق المُرجع للـ prompt اللي كيتبعث للنموذج.

خزّن حقيقة دائمة

المعلومات اللي خاصها تبقى مفيدة أكثر من حدث واحد تقدر تترقّى بشكل صريح باستعمال remember_fact:

memory.remember_fact(
    key="preferred_contact",
    value="email, not phone"
)

هادشي كينشئ ذاكرة دلالية لتفضيل ثابت، بلاصة ما يسجّل غير حدثاً زمنياً آخر.

استعمال موائم LangChain

AIrecall فيه موائم ديال LangChain سميتو MemoryRetriever. لفّ نسخة موجودة من Memory باش تنشئ المسترجِع:

from airecall import Memory
from airecall.adapters.langchain import MemoryRetriever

memory = Memory(agent_id="support-bot")
retriever = MemoryRetriever(memory)

README كيبين كيفاش تنشئ الموائم، ولكن ما كيحدّدش إعدادات إضافية للسلسلة أو للمسترجِع. تبع الـ API الحالي ديال الموائم ملي تدمج الكائن الناتج فـ تطبيق LangChain أكبر.

نمط عملي للدمج

  1. أنشئ نسخة من Memory للوكيل.
  2. قبل ما تولّد جواباً، عيّط لـ recall باستعمال الاستعلام الحالي ديال المستخدم.
  3. دخل الذكريات المرتبطة المُرجعة فـ prompt ديال النموذج كسياق مساعد.
  4. من بعد التفاعل، عيّط لـ remember باش تحفظ الحدث أو الإجراء أو النتيجة المهمة.
  5. استعمل remember_fact ملي التطبيق ديالك يحدّد تفضيلاً أو حقيقة دائمة خاصها تتحفظ بشكل صريح.

هاد النمط كيتفادى إدخال التاريخ كامل فكل prompt، وكيبقى الوكيل قادر يوصل للقرارات السابقة وتفضيلات المستخدم ملي كيكونو مهمّين.

نصائح متقدمة

فرّق بين الأحداث والمعرفة الدائمة

استعمل الذاكرة العرضية باش تسجّل شنو وقع أثناء تفاعل معيّن. واستعمل الذاكرة الدلالية للحقائق والتفضيلات الثابتة. مثلاً، نقاش على استرجاع المبلغ كينتمي لحدث، بينما تفضيل المستخدم التواصل عبر البريد الإلكتروني كيمثّل حقيقة دائمة.

حافظ على ثبات معرّفات الوكلاء

ختار agent_id ثابت للجلسات اللي خاصها تشارك الذاكرة. إلا بدّلتي المعرّف، غادي يتخلق نطاق مختلف ديال الذاكرة من وجهة نظر التطبيق.

ختار نمط النشر المناسب

إلى بغيتي سيرورة محلية بسيطة، هيّأ مخزن مبني على SQLite باستعمال airecall init. أما إلى كانت البنية خاصها سيرورة ذاكرة مخصّصة، نصّب الإضافة ديال الخادم وشغّل airecall serve محلياً ولا كخدمة جانبية.

خلي الفهرس يسخن

إلى عطى أول استعلام الخطأ RecallTimeout، يمكن يكون فهرس المتجهات مازال كيسخن. عاود المحاولة من بعد ما يبلّغ منفذ الصحة على status: ready.

استعمل مسار تخزين موثوق

إلى بانَت الذكريات ناقصة من بعد إعادة التشغيل، راجع مسار storage.backend. المسار النسبي كيتحلّ انطلاقاً من دليل العمل ديال سيرورة الخادم، وبهذا تشغيل الخادم من دليل مختلف يقدر يوجّهو لمخزن آخر. استعمل دليل عمل ثابت ولا مسار تخزين ثابت.

الخلاصة

AIrecall كيعطي لوكلاء الذكاء الاصطناعي ذاكرة عرضية ودلالية دائمة، بلا ما تكون مضطر تخلي كل تفاعل قديم باقي فالموجّه. بفضل واجهة Python صغيرة، وتخزين مبني على SQLite، واسترجاع هجين، وتلخيص أوتوماتيكي، كيوفّر طريقة عملية للحفاظ على السياق المهم بين الجلسات. بدا بـ airecall init، وسجّل الحلقات باستعمال remember، ورجّعها باستعمال recall، وحفظ المعرفة الدائمة باستعمال remember_fact.