
🐢 مكتبة مفتوحة المصدر لتقييم واختبار وكلاء LLM
[!IMPORTANT] Giskard v3 هو إعادة كتابة جديدة مصممة للاختبار الديناميكي متعدد الجولات لوكلاء الذكاء الاصطناعي. يستغني هذا الإصدار عن الاعتماديات الثقيلة لتحقيق كفاءة أفضل، مع تقديم ماسح أكثر قوة لثغرات الذكاء الاصطناعي وتقييم RAG محسّن — وكلاهما يُشحَن الآن بشكل أصلي في
giskard-scan(نسخة تجريبية)، دون أي اعتماد على الإصدار v2. يبقى الفحص القديم للنماذج الجدولية/ML حصريًا للإصدار v2. يظل Giskard v2 متاحًا لكنه لم يعد يُصان بشكل نشط. تابع التقدم → اقرأ إعلان الإصدار v3 · خارطة الطريق
pip install giskard # checks (+ agents, llm, core)
pip install "giskard[scan]" # + vulnerability / quality scan
pip install "giskard[openai]" # provider SDK for LLM judges / generators
يتطلب Python 3.12+.
| الإضافة | يضيف |
|---|---|
| (بدون) |
القياس عن بُعد: تحليلات مجمّعة اختيارية عبر giskard-core. لا يتم إرسال أي مطالبات أو مخرجات.
يمكنك إلغاء الاشتراك قبل استيراد Giskard: export DO_NOT_TRACK=1 أو export GISKARD_TELEMETRY_DISABLED=1.
التفاصيل: giskard-core README.
Giskard هي مكتبة Python مفتوحة المصدر لاختبار وتقييم الأنظمة الوكلائية. بنية الإصدار v3 هي مجموعة معيارية من الحزم المتخصصة — تحمل كل منها فقط الاعتماديات التي تحتاجها — مبنية من الصفر لتغليف أي شيء: نموذج LLM، وكيل صندوق أسود، أو خط أنابيب متعدد الخطوات.
تعتمد هذه الحزم على ثلاث مكتبات أساسية — 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" # replace with your model / agent
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]" # or: 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:
# Replace with your agent / model call
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، حلّ giskard-scan محل كلاهما في v3: استخدم vulnerability_scan بدلاً من فحص LLM في v2، وquality_scan (مع KnowledgeBase) بدلاً من RAGET.
يعمل v3 مع نماذج ML أيضًا — لفّ أحدها كهدف وقيّمه باستخدام giskard-checks أو giskard-scan. ما تغطيه الأمثلة أدناه هو الفحص الجدولي التلقائي الحصري للإصدار v2 — حزمة الكاشفات التي تفحص giskard.Model + giskard.Dataset للكشف تلقائيًا عن مشاكل الأداء والتحيز والمتانة — بالإضافة إلى حزمة اختبارات ML في giskard.testing وGiskard Hub. هذه الميزات غير مخططة للإصدار v3.
pip install "giskard[llm]>2,<3"
لفّ نموذجك وشغّل الفحص:
import giskard
import pandas as pd
# Replace my_llm_chain with your actual LLM chain or model inference logic
def model_predict(df: pd.DataFrame):
"""The function takes a DataFrame and must return a list of outputs (one per row)."""
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
# Load your knowledge base documents
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. مع الرعاية الشهرية، يمكنك الحصول على شارة راعٍ، وعرض شركتك في هذا الملف، والحصول على أولوية في معالجة تقارير الأخطاء. نقدم أيضًا رعاية لمرة واحدة إذا كنت تريدنا أن نشارك في مشروع استشاري، أو ننظّم ورشة عمل، أو نقدّم محاضرة في شركتك.
giskard-checks واعتمادياتها |
scan | giskard-scan |
openai / anthropic / … | حزم SDK للمزوّدين (انظر الاعتماديات الاختيارية في pyproject.toml) |
| الحالة | الحزمة | الوصف |
|---|
| ✅ تجريبي | giskard-checks | الاختبار والتقييم — واجهة برمجة السيناريوهات، فحوصات مدمجة، LLM كحَكَم |
| ✅ تجريبي | giskard-scan | ماسح ثغرات الوكلاء + تقييم RAG/الجودة — الاختبارات الهجومية، حقن المطالبات، كسر الحماية والمحتوى الضار (vulnerability_scan، خليفة فحص v2)، بالإضافة إلى تقييم جودة قاعدة المعرفة (quality_scan، خليفة RAGET v2) |