🐢 مكتبة مفتوحة المصدر لتقييم واختبار وكلاء 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}"
async def main() -> None:
await vulnerability_scan(
target=my_agent,
description="A customer support chatbot for an e-commerce platform.",
languages=["en"],
)
asyncio.run(main())
مولّدات الفحص تحتاج أيضًا إلى إضافة مزوّد LLM ومفتاح API (نفس حكّام Checks أعلاه).
تضمّن Giskard v2 Scan (الكشف التلقائي عن الثغرات) وRAGET (توليد مجموعات اختبار تقييم RAG).
بالنسبة لوكلاء LLM، تم استبدال كلاهما في v3 بـgiskard-scan: استخدم vulnerability_scan بدلاً من فحص LLM في v2، وquality_scan (مع KnowledgeBase) بدلاً من RAGET.
يعمل v3 أيضًا مع نماذج التعلم الآلي — لفّ أحدها كهدف وقم بتقييمه باستخدام giskard-checks أو giskard-scan. ما تغطيه الأمثلة أدناه هو الفحص الجدولي التلقائي الحصري لـv2 — مجموعة الكاشفات التي تفحص giskard.Model + giskard.Dataset للكشف التلقائي عن مشاكل الأداء والتحيز والمتانة — بالإضافة إلى مجموعة اختبارات giskard.testing للتعلم الآلي وGiskard Hub. هذه غير مخططة لـv3.
pip install "giskard[llm]>2,<3"
لفّ نموذجك وشغّل الفحص:
import giskard
import pandas as pd
# استبدل my_llm_chain بسلسلة LLM الفعلية أو منطق استدلال النموذج
def model_predict(df: pd.DataFrame):
"""تأخذ الدالة DataFrame ويجب أن تُرجع قائمة من المخرجات (واحد لكل صف)."""
return [my_llm_chain.run({"query": question}) for question in df["question"]]
giskard_model = giskard.Model(
model=model_predict,
model_type="text_generation",
name="My LLM Application",
description="A question answering assistant",
feature_names=["question"],
)
scan_results = giskard.scan(giskard_model)
display(scan_results)
ولّد الأسئلة والإجابات المرجعية والسياق تلقائيًا من قاعدة المعرفة الخاصة بك:
import pandas as pd
from giskard.rag import generate_testset, KnowledgeBase
# حمّل مستندات قاعدة المعرفة الخاصة بك
df = pd.read_csv("path/to/your/knowledge_base.csv")
knowledge_base = KnowledgeBase.from_pandas(df, columns=["column_1", "column_2"])
testset = generate_testset(
knowledge_base,
num_questions=60,
language="en",
agent_description="A customer support chatbot for company X",
)
نرحب بالمساهمات من مجتمع الذكاء الاصطناعي! اقرأ هذا الدليل للبدء، وانضم إلى مجتمعنا المزدهر على Discord.
تابع التقدم وشارك ملاحظاتك: إعلان v3 · خارطة الطريق
🌟 اترك لنا نجمة، فهذا يساعد المشروع على أن يكتشفه الآخرون ويبقينا متحفزين لبناء أدوات مفتوحة المصدر رائعة! 🌟
❤️ إذا وجدت عملنا مفيدًا، يرجى التفكير في رعايتنا على GitHub. مع رعاية شهرية، يمكنك الحصول على شارة راعي، وعرض شركتك في هذا الملف، والحصول على أولوية في معالجة تقارير الأخطاء الخاصة بك. نقدم أيضًا رعاية لمرة واحدة إذا كنت تريد منا المشاركة في مشروع استشاري، أو تنظيم ورشة عمل، أو إلقاء محاضرة في شركتك.