Login

مكتبة بايثون خفيفة الوزن لبناء خطوط أنابيب معالجة الذكاء الاصطناعي المعيارية وغير المتزامنة والقابلة للتركيب، تدعم معالجة المحتوى المتوازي بكفاءة.

Apache-2.0Python 1.4kgoogle-geminigenai-processors Last Updated: 2025-07-14

تفاصيل مشروع معالجات GenAI

نظرة عامة على المشروع

GenAI Processors هي مكتبة بايثون خفيفة الوزن مصممة لبناء مسارات معالجة الذكاء الاصطناعي المعيارية وغير المتزامنة والقابلة للتركيب، والمخصصة لتطبيقات الذكاء الاصطناعي التوليدي. تم إطلاق هذا المشروع بواسطة Google بهدف تبسيط عملية تطوير تطبيقات الذكاء الاصطناعي المعقدة، خاصة تلك التي تتطلب معالجة مدخلات متعددة الوسائط وتتطلب استجابات في الوقت الفعلي.

المفاهيم الأساسية

المعالج (Processor)

في صميم GenAI Processors يكمن مفهوم المعالج (Processor): وهو لبنة بناء أساسية تغلف وحدة عمل محددة. يستقبل تدفقًا من المدخلات، ويُجري عمليات، ويُخرج تدفقًا من النتائج. يمتلك كل معالج واجهة برمجة تطبيقات (API) بسيطة وموحدة:

# أي فئة ترث من processor.Processor وتنفذ هذه الدالة هي معالج
async def call(
    content: AsyncIterable[ProcessorPart]
) -> AsyncIterable[ProcessorPartTypes]

جزء المعالج (ProcessorPart)

جزء المعالج (ProcessorPart) هو غلاف حول genai.types.Part، ويحتوي على بيانات وصفية غنية مثل نوع MIME والدور والخصائص المخصصة. يدعم أنواعًا مختلفة من المحتوى (النص، الصور، الصوت، JSON المخصص).

الميزات الرئيسية

1. تصميم معياري

  • يقسم المهام المعقدة إلى وحدات Processor و PartProcessor قابلة لإعادة الاستخدام
  • يمكن ربطها بسهولة (+) أو موازاتها (//) لإنشاء تدفقات بيانات وسلوكيات وكيل معقدة

2. التكامل مع واجهة برمجة تطبيقات GenAI

  • يتضمن معالجات جاهزة للاستخدام، مثل GenaiModel لاستدعاءات واجهة برمجة التطبيقات القائمة على الدورات
  • يدعم LiveProcessor للتفاعل المتدفق في الوقت الفعلي

3. قابلية التوسع

  • إنشاء معالجات مخصصة عن طريق وراثة الفئات الأساسية أو استخدام مزخرفات دالة بسيطة
  • يدعم توسيعات المعالج التي يساهم بها المجتمع

4. غير متزامن ومتزامن

  • يعتمد على إطار عمل asyncio المألوف في بايثون
  • ينسق المهام المتزامنة (بما في ذلك إدخال/إخراج الشبكة والاتصال مع الخيوط الفرعية كثيفة الحساب)

5. إدارة التدفق

  • يوفر أدوات مساعدة لتقسيم وربط ودمج تدفقات ProcessorPart غير المتزامنة
  • يدعم المعالجة المتدفقة لتقليل زمن الاستجابة ووقت أول رمز (TTFT)

متطلبات التثبيت

تتطلب هذه المكتبة إصدار بايثون 3.10 أو أحدث.

أمر التثبيت:

pip install genai-processors

أمثلة الاستخدام

الاستخدام الأساسي

from genai_processors import content_api
from genai_processors import streams

# إنشاء تدفق الإدخال (سيتم تحويل السلاسل تلقائيًا إلى أجزاء)
input_parts = ["Hello", content_api.ProcessorPart("World")]
input_stream = streams.stream_content(input_parts)

# تطبيق المعالج على تدفق الأجزاء وتكرار النتائج
async for part in simple_text_processor(input_stream):
    print(part.text)

مصادر التعلم

يوفر المشروع سلسلة من دفاتر ملاحظات Colab لمساعدة المستخدمين على التعرف على GenAI Processors (يُنصح بالتعلم بالترتيب):

  1. Content API Colab - يشرح أساسيات ProcessorPart و ProcessorContent وكيفية إنشائها
  2. Processor Intro Colab - مقدمة للمفاهيم الأساسية لـ GenAI Processors
  3. Create Your Own Processor - شرح تفصيلي للخطوات النموذجية لإنشاء Processor أو PartProcessor
  4. Work with the Live API - مثال على بناء معالج في الوقت الفعلي باستخدام فئة LiveProcessor من واجهة برمجة تطبيقات Gemini Live

أمثلة على التطبيقات العملية

1. مثال مباشر في الوقت الفعلي

examples/realtime_simple_cli.py - وكيل مباشر (Live agent) لإدخال الصوت وإخراج الصوت، يدمج بحث Google كأداة. هذا تطبيق عميل لمعالج مباشر، يوضح قدرات GenAI Processors في المعالجة المتدفقة والتنسيق.

2. مثال وكيل البحث

examples/research/README.md - وكيل بحث مبني باستخدام المعالجات (Processors)، يتضمن 3 معالجات فرعية، ومعالجة متسلسلة، وإنشاء ProcessorPart، وميزات أخرى.

3. مثال التعليق الصوتي في الوقت الفعلي

examples/live/README.md - وكيل تعليق صوتي في الوقت الفعلي مبني باستخدام واجهة برمجة تطبيقات Gemini Live، ويتكون من وكيلين: أحدهما لاكتشاف الأحداث، والآخر لإدارة المحادثة.

هيكل المشروع

دليل Core

يحتوي دليل core/ على مجموعة من المعالجات الأساسية التي يمكن استخدامها في تطبيقاتك الخاصة. يتضمن لبنات البناء العامة المطلوبة لمعظم التطبيقات في الوقت الفعلي، وسيتطور بمرور الوقت ليشمل المزيد من المكونات الأساسية.

دليل Contrib

يحتوي دليل contrib/ على توسيعات المعالج التي يساهم بها المجتمع، وتستخدم لتوسيع مجموعة المعالجات المدمجة.

المزايا التقنية

1. معالجة بزمن استجابة منخفض

حتى في حالات الاستخدام غير المتدفقة، فإن المعالجة الفورية بمجرد توفر البيانات يمكن أن تقلل بشكل كبير من زمن الاستجابة ووقت أول رمز (TTFT)، وهو أمر بالغ الأهمية لبناء تجربة مستخدم جيدة.

2. تطوير تطبيقات سريعة الاستجابة

بينما تفضل العديد من واجهات برمجة تطبيقات نماذج اللغة الكبيرة (LLM) الواجهات المتزامنة والمبسطة، توفر GenAI Processors طريقة لكتابة تطبيقات سريعة الاستجابة من خلال الاستفادة من ميزات بايثون الأصلية، دون تعقيد الكود.

3. قدرة المعالجة المتزامنة

توضح أمثلة مخطط الرحلات ووكيل البحث كيف يمكن للوكلاء القائمين على الدورات استخدام ميزات التزامن في GenAI Processors لتحسين الاستجابة.

الملخص

توفر GenAI Processors للمطورين إطار عمل قويًا ومرنًا لبناء تطبيقات الذكاء الاصطناعي التوليدي المعقدة. إن تصميمها المعياري، وقدرتها على المعالجة غير المتزامنة، وتكاملها العميق مع خدمات Google AI، يجعلها خيارًا مثاليًا لتطوير تطبيقات الذكاء الاصطناعي الحديثة. سواء كنت تبني أنظمة محادثة في الوقت الفعلي، أو مسارات معالجة متعددة الوسائط، أو وكلاء ذكاء اصطناعي معقدين، فإن GenAI Processors توفر الأدوات وطبقات التجريد اللازمة لتبسيط عملية التطوير.

Star History Chart