🐢 مكتبة مفتوحة المصدر لتقييم واختبار وكلاء LLM
[!IMPORTANT] Giskard v3 هي إعادة كتابة جديدة بالكامل مصممة للاختبار الديناميكي متعدد الجولات لوكلاء الذكاء الاصطناعي. يزيل هذا الإصدار التبعيات الثقيلة لتحسين الكفاءة مع تقديم ماسح ضوئي أكثر قوة لثغرات الذكاء الاصطناعي وتقييم RAG محسّن — وكلاهما يُشحن الآن بشكل أصلي في
giskard-scan، دون أي اعتماد على الإصدار v2. فقط الفحص القديم لنماذج الجدولية/التعلم الآلي يبقى حصريًا للإصدار v2. Giskard v2 لا يزال متاحًا لكنه لم يعد يُصان بنشاط. تابع التقدم ← اقرأ إعلان v3 · خارطة الطريق
pip install giskard # الفحوصات (+ الوكلاء، llm، النواة)
pip install "giskard[scan]" # + فحص الثغرات / الجودة
pip install "giskard[openai]" # مزوّد SDK لمحكّمي/مولّدي LLM
يتطلب Python 3.12+.
| الإضافة | تضيف |
|---|---|
| (لا شيء) | giskard-checks والتبعيات |
scan | giskard-scan |
openai / anthropic / … | مزوّدو SDK (انظر التبعيات الاختيارية في pyproject.toml) |
القياس عن بُعد (Telemetry): تحليلات مجمّعة اختيارية عبر giskard-core. لا يتم إرسال أي مطالبات أو مخرجات.
لإلغاء الاشتراك قبل استيراد Giskard: export DO_NOT_TRACK=1 أو export GISKARD_TELEMETRY_DISABLED=1.
التفاصيل: giskard-core README.
Giskard هي مكتبة Python مفتوحة المصدر لاختبار وتقييم الأنظمة الوكيلة. بنية v3 هي مجموعة نمطية من الحزم المركّزة — تحمل كل منها فقط التبعيات التي تحتاجها — مبنية من الصفر لتغليف أي شيء: نموذج LLM، وكيل صندوق أسود، أو خط أنابيب متعدد الخطوات.
| الحالة | الحزمة | الوصف |
|---|---|---|
| ✅ مستقرة | giskard-checks | الاختبار والتقييم — واجهة برمجة السيناريوهات، الفحوصات المدمجة، LLM كحَكَم |
| ✅ مستقرة | giskard-scan | ماسح ثغرات الوكلاء + تقييم RAG/الجودة — الاختراق الأخلاقي، حقن المطالبات، كسر الحواجز والمحتوى الضار (vulnerability_scan، خليفة v2 Scan)، بالإضافة إلى تقييم جودة قاعدة المعرفة (quality_scan، خليفة v2 RAGET) |
هذه تُبنى على ثلاث مكتبات أساسية — giskard-core (أدوات مشتركة وقياس عن بُعد)، giskard-llm (توجيه LLM مستقل عن المزوّد)، وgiskard-agents (تنظيم الوكلاء وسير العمل) — والتي تُسحب تلقائيًا ونادرًا ما تُستخدم مباشرة.
pip install giskard-checks
Giskard Checks هي مكتبة خفيفة لإنشاء التقييمات (evals) التي تختبر الأنظمة القائمة على LLM — من التأكيدات البسيطة إلى تقييمات LLM كحَكَم. على عكس اختبارات الوحدة التقليدية، صُممت التقييمات لـالمخرجات غير الحتمية حيث يمكن لنفس المدخلات إنتاج استجابات صحيحة مختلفة.
استخدم Giskard Checks من أجل:
تشمل التقييمات المدمجة مطابقة السلاسل، المقارنات، التعبيرات النمطية، التشابه الدلالي، وفحوصات LLM كحَكَم (Groundedness، Conformity، LLMJudge).
(inputs) -> outputs (اختياريًا مع trace)giskard.agents.Generator هو عميل LLM لسير العمل/الحكّام — وليس نفس
مولّدي مدخلات giskard.checks (LLMGenerator) الذين يصنّعون رسائل المستخدم.
import asyncio
from giskard.checks import Scenario, Groundedness
def get_answer(inputs: str) -> str:
return "Paris" # استبدل بنموذجك / وكيلك
async def main() -> None:
scenario = (
Scenario("test_france_capital")
.interact(inputs="What is the capital of France?", outputs=get_answer)
.check(
Groundedness(
name="answer is grounded",
context="France is in Western Europe. Its capital is Paris.",
)
)
)
result = await scenario.run()
result.print_report()
asyncio.run(main())
Groundedness هو حَكَم LLM — ثبّت إضافة مزوّد (مثل pip install "giskard[openai]") واضبط مفتاح API المطابق. النموذج الافتراضي: openai/gpt-4o-mini.
راجع الوثائق الكاملة لمعرفة Suites، LLMJudge، السيناريوهات متعددة الجولات، والمزيد.
pip install "giskard[scan]" # أو: pip install giskard-scan
Giskard Scan هو طبقة الاختراق الأخلاقي وفحص الثغرات للأنظمة الوكيلة. يولّد مجموعات اختبار عدائية تلقائيًا من وصف بلغة طبيعية لوكيلك، ويغطي حقن المطالبات، المحتوى الضار، الصور النمطية، المعلومات المضللة، والمزيد.
استخدم Giskard Scan من أجل:
ScenarioGenerator الخاصة بك إلى generate_suite، أو سجّلها في vulnerability_suite_generator_registryimport asyncio
from giskard.scan import vulnerability_scan
async def my_agent(inputs: str) -> str:
# استبدل باستدعاء وكيلك / نموذجك
return f"Echo: {inputs}"