ملخص سريع (TL;DR)
Promptfoo هو إطار عمل مفتوح المصدر لتقييم واختبار نماذج اللغة الكبيرة (LLM) ضد الهجمات (red-teaming)، ويساعد المطورين على اختبار تطبيقات الذكاء الاصطناعي بشكل منهجي. يدعم أكثر من 90 مزودًا للنماذج، ويوفر أكثر من 67 مكونًا إضافيًا لهجمات الأمان، ويعمل محليًا بنسبة 100% للحفاظ على الخصوصية. مع 1.6 مليون عملية تنزيل عبر npm واستخدامه في الإنتاج لدى شركات تخدم أكثر من 10 ملايين مستخدم، فقد أصبح المعيار لاختبار نماذج اللغة الكبيرة. ابدأ باستخدام npm install -g promptfoo و promptfoo init --example getting-started.
مقدمة
لقد أمضيت أسابيع في بناء روبوت الدردشة الخاص بدعم العملاء المدعوم بالذكاء الاصطناعي. لقد أجاب على الأسئلة بشكل مثالي أثناء التطوير. ثم بدأ المستخدمون في إيجاد طرق لجعله يسرب بيانات حساسة، ويتجاوز حواجز الأمان، ويعطي استجابات غير متسقة.
يتكرر هذا السيناريو كل يوم. تقوم الفرق بشحن تطبيقات نماذج اللغة الكبيرة بناءً على الحدس والاختبار اليدوي، فقط ليكتشفوا الثغرات الأمنية ومشكلات الجودة في مرحلة الإنتاج. تكلفة إصلاح هذه المشكلات بعد الإطلاق أعلى بمئة مرة من اكتشافها أثناء التطوير.
Promptfoo يحل هذه المشكلة من خلال توفير اختبار منهجي ومؤتمت لتطبيقات نماذج اللغة الكبيرة. يتيح لك تقييم المطالبات عبر نماذج متعددة، وإجراء تقييمات أمنية (red-team)، واكتشاف الانحدارات قبل وصولها إلى المستخدمين.
لقد قمت بتحليل قاعدة بيانات Promptfoo (الإصدار 0.121.2) واختبرت ميزاتها الأساسية لأقدم لك هذا الدليل الشامل. ستتعلم كيفية إعداد التقييمات، وتشغيل الفحوصات الأمنية، والدمج مع CI/CD، وتجنب الأخطاء الشائعة.
بحلول النهاية، سيكون لديك مجموعة اختبار عاملة لتطبيقك المستند إلى نماذج اللغة الكبيرة وستعرف كيفية الشحن بثقة.
ما هو Promptfoo ولماذا تحتاجه
Promptfoo هو أداة سطر أوامر ومكتبة Node.js لتقييم تطبيقات نماذج اللغة الكبيرة واختبارها ضد الهجمات (red-teaming). فكر فيه كإطار عمل للاختبار مصمم خصيصًا لخصائص تطوير الذكاء الاصطناعي.

أدوات الاختبار التقليدية تفشل مع نماذج اللغة الكبيرة لأن المخرجات غير حتمية. لا يمكنك التأكيد على تطابق دقيق للسلاسل النصية عندما تنتج المطالبة نفسها استجابات مختلفة في كل مرة. Promptfoo يحل هذه المشكلة من خلال:
- تأكيدات دلالية تتحقق من المعنى بدلاً من النص الدقيق
- تقييمات مصنفة بواسطة نماذج اللغة الكبيرة حيث يقوم نموذج بتقييم مخرجات نموذج آخر
- مقارنة نماذج متعددة لاختبار نفس المطالبة عبر GPT-4 و Claude وغيرها
- مكونات أمان إضافية تقوم بالتحقق تلقائيًا من الثغرات الأمنية
تعمل الأداة محليًا على جهازك. لا تغادر مطالباتك وبيانات الاختبار بيئتك أبدًا ما لم تختر ميزات سحابية. هذا التصميم الذي يركز على الخصوصية يجعله مناسبًا للاختبار بالبيانات الحساسة.
المشكلة التي يحلها Promptfoo
معظم الفرق تختبر تطبيقات نماذج اللغة الكبيرة يدويًا. يرسلون بضع مطالبات، ويقرؤون المخرجات، ويقررون ما إذا كانت الأمور تبدو جيدة. هذا النهج له ثلاث عيوب قاتلة:
- عدم اكتشاف الانحدارات - لا يمكنك معرفة ما إذا كان تحديث النموذج قد عطل وظائف موجودة
- ثغرات التغطية - يفشل الاختبار اليدوي في اكتشاف الحالات الهامشية والمدخلات العدائية
- عدم وجود مقاييس - لا يمكنك تتبع التحسين أو مقارنة النماذج بموضوعية
يستبدل Promptfoo هذا بتقييمات مؤتمتة تعمل مع كل تغيير. يمكنك تحديد حالات الاختبار مرة واحدة وتنفيذها مقابل أي نموذج. تتضمن النتائج معدلات النجاح/الفشل، ومقارنات التكلفة، ومقاييس زمن الاستجابة.
من يستخدم Promptfoo
يحتوي المشروع على 1.6 مليون عملية تنزيل عبر npm ويدعم تطبيقات نماذج اللغة الكبيرة التي تخدم أكثر من 10 ملايين مستخدم نهائي. تستخدمه الشركات في:
- روبوتات الدردشة لدعم العملاء التي تحتاج إلى استجابات متسقة ودقيقة
- خطوط أنابيب توليد المحتوى التي يجب أن تحافظ على صوت العلامة التجارية
- تطبيقات الرعاية الصحية والتكنولوجيا المالية التي تتطلب الامتثال الصارم
- الأنظمة الحساسة أمنيًا التي لا يمكن أن تسرب البيانات أو تقبل المدخلات الضارة
في مارس 2026، انضم Promptfoo إلى OpenAI. يظل المشروع مفتوح المصدر ومرخصًا بموجب ترخيص MIT، مع استمرار التطوير تحت الملكية الجديدة.
البدء: تثبيت وتشغيل أول تقييم لك
يمكنك تثبيت Promptfoo عالميًا أو تشغيله بدون تثبيت باستخدام npx.
التثبيت
# تثبيت عام (موصى به)
npm install -g promptfoo
# أو التشغيل بدون تثبيت
npx promptfoo@latest
# يمكن لمستخدمي macOS أيضًا استخدام Homebrew
brew install promptfoo
# يمكن لمستخدمي Python أيضًا استخدام pip
pip install promptfoo
قم بتعيين مفاتيح API الخاصة بك كمتغيرات بيئة:
export OPENAI_API_KEY=sk-abc123
export ANTHROPIC_API_KEY=sk-ant-xxx
إنشاء أول تقييم لك
تهيئة مشروع مثال:
promptfoo init --example getting-started
cd getting-started
ينشئ هذا ملف promptfooconfig.yaml مع أمثلة للمطالبات والمزودين وحالات الاختبار.
تشغيل التقييم:
promptfoo eval
عرض النتائج في واجهة المستخدم الويب:
promptfoo view
تُفتح واجهة المستخدم على localhost:3000 وتُظهر مقارنة جنبًا إلى جنب للمخرجات من كل نموذج، مع حالة النجاح/الفشل لكل تأكيد.
فهم ملف التكوين
يُحدد ملف promptfooconfig.yaml مجموعة التقييم الخاصة بك:
description: "My First Eval Suite"
prompts:
- prompts/greeting.txt
- prompts/farewell.txt
providers:
- openai:gpt-4o
- anthropic:claude-sonnet-4-5
tests:
- vars:
input: "Hello"
assert:
- type: contains
value: "Hi"
- type: latency
threshold: 3000
- prompts: ملفات أو نص مضمن للاختبار
- providers: النماذج المراد تقييمها (تدعم أكثر من 90 مزودًا)
- tests: حالات اختبار مع متغيرات وتأكيدات
يمكنك توسيع هذا ليشمل المئات من حالات الاختبار. تحتفظ العديد من الفرق بملفات تكوين التقييم في نظام التحكم بالإصدار وتشغلها في CI مع كل طلب سحب.
الميزات الأساسية: ما يمكن أن يفعله Promptfoo
1. التقييمات المؤتمتة
التقييمات المؤتمتة هي أساس Promptfoo. تحدد حالات الاختبار مع النتائج المتوقعة، وتقوم الأداة بتشغيلها مقابل النماذج التي اخترتها.
أنواع التأكيدات
يتضمن Promptfoo أكثر من 30 نوعًا من التأكيدات المدمجة:
| التأكيد | الغرض |
|---|---|
contains |
يتضمن الإخراج سلسلة نصية فرعية |
equals |
تطابق دقيق للسلسلة النصية |
regex |
المطابقة مع نمط تعبير عادي (regex) |
json-schema |
التحقق من صحة بنية JSON |
javascript |
دالة JS مخصصة تُرجع نجاح/فشل |
python |
دالة Python مخصصة |
llm-rubric |
استخدام LLM لتقييم الإخراج |
similar |
درجة التشابه الدلالي |
latency |
وقت الاستجابة أقل من الحد الأقصى |
cost |
التكلفة لكل طلب أقل من الحد الأقصى |
مثال مع تأكيدات متعددة:
tests:
- vars:
question: "ما هي عاصمة فرنسا؟"
assert:
- type: contains
value: "باريس"
- type: javascript
value: output.length < 100
- type: latency
threshold: 2000
- type: cost
threshold: 0.001
يتحقق هذا الاختبار من أن الإجابة تذكر باريس، وأنها أقل من 100 حرف، وتستجيب في أقل من ثانيتين، وتكلف أقل من 0.001 دولار.
التقييمات المصنفة بواسطة نماذج اللغة الكبيرة (LLM-Graded Evals)
يستخدم تأكيد llm-rubric نموذج لغة كبيرًا واحدًا لتقييم مخرجات نموذج لغة كبير آخر. هذا قوي للمعايير الذاتية مثل النبرة أو مدى المساعدة:
assert:
- type: llm-rubric
value: "يجب أن تكون الاستجابة مفيدة، غير ضارة، وصادقة"
يقرأ مُقيم LLM المخرجات ويصنفها وفقًا لنموذج التقييم الخاص بك. يمكنك استخدام نموذج أرخص للتقييم لتقليل التكاليف.
2. اختبار Red Teaming واختبار الأمان
يتضمن Promptfoo اختبار أمان شاملاً من خلال وحدة red team الخاصة به. يقوم تلقائيًا بإنشاء مدخلات عدائية للبحث عن الثغرات الأمنية.

متجهات الهجوم المدعومة
يتضمن نظام red team أكثر من 67 مكونًا إضافيًا منظمًا حسب الفئة:
| الفئة | ماذا تختبر |
|---|---|
| Prompt Injection (حقن المطالبة) | هجمات الحقن المباشر وغير المباشر وحقن السياق |
| Jailbreaks (كسر القيود) | DAN، تبديل الشخصية، تجاوزات لعب الأدوار |
| Data Exfiltration (تسريب البيانات) | SSRF، استخراج مطالبة النظام، تسرب المطالبة |
| Harmful Content (محتوى ضار) | خطاب الكراهية، الأنشطة الخطرة، طلبات إيذاء النفس |
| Compliance (الامتثال) | تسريب معلومات تحديد الهوية الشخصية (PII)، انتهاكات HIPAA، كشف البيانات المالية |
| Audio/Visual (صوتي/مرئي) | حقن الصوت والهجمات المستندة إلى الصور |
تشغيل فحص Red Team
تهيئة تكوين red team:
promptfoo redteam init
تشغيل فحص الأمان:
promptfoo redteam run
عرض التقرير:
promptfoo redteam report [directory]
يؤدي أمر redteam run خطوتين:
- يولد فحوصات هجوم ديناميكية مصممة خصيصًا لتطبيقك
- يقيم الفحوصات مقابل هدفك ويصنف الثغرات الأمنية
تتضمن النتائج تصنيفات الخطورة (حرجة، عالية، متوسطة، منخفضة)، حالات اختبار قابلة للاستغلال، وتوصيات الإصلاح.
مثال على مخرجات Red Team
ملخص الثغرات الأمنية:
- حرجة: 2 (تسريب معلومات تحديد الهوية الشخصية، استخراج المطالبة)
- عالية: 5 (كسر القيود، هجمات الحقن)
- متوسطة: 12 (تحيز، استجابات غير متسقة)
- منخفضة: 23 (انتهاكات بسيطة للسياسة)
قم بإصلاح المشكلات الحرجة قبل النشر. أعد تشغيل الفحوصات بعد التغييرات للتحقق من الإصلاحات.
3. فحص الكود لطلبات السحب
يتكامل Promptfoo مع GitHub Actions لفحص طلبات السحب بحثًا عن مشكلات أمان متعلقة بنماذج اللغة الكبيرة.
# .github/workflows/promptfoo-scan.yml
name: فحص كود Promptfoo
on: [push, pull_request]
jobs:
scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22'
- run: npm install -g promptfoo
- run: promptfoo code-scan
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
يصطاد هذا:
- مفاتيح API المكتوبة بشكل صلب في ملفات التكوين
- أنماط المطالبة غير الآمنة
- التحقق من المدخلات المفقود
- متجهات حقن المطالبة المحتملة
4. مقارنة النماذج
قارن المخرجات من نماذج متعددة جنبًا إلى جنب لاختيار الأفضل لحالة استخدامك.
# تشغيل التقييم مع مزودين متعددين
promptfoo eval
# عرض المقارنة في واجهة المستخدم الويب
promptfoo view
تعرض واجهة المستخدم الويب:
- معدلات النجاح/الفشل لكل نموذج
- التكلفة لكل 1000 طلب
- متوسط زمن الاستجابة
- اختلافات المخرجات النوعية
يمنع هذا النهج المعتمد على البيانات التحيز نحو النماذج المألوفة. قد تجد أن نموذجًا أرخص يتفوق على GPT-4 في تقييماتك المحددة.
المزودون المدعومون: أكثر من 90 تكاملًا لـ LLM
يدعم Promptfoo أكثر من 90 مزودًا لـ LLM جاهزًا للاستخدام. يمكنك اختبار نفس المطالبة عبر OpenAI و Anthropic و Google و Amazon والنماذج المحلية دون تغيير رمزك.
المزودون الرئيسيون
| المزود | النماذج |
|---|---|
| OpenAI | GPT-4, GPT-4o, GPT-4o-mini, o1, o3 |
| Anthropic | Claude 3.5/3.7/4.5/4.6, Thinking models |
| Gemini 1.5/2.0, Vertex AI | |
| Microsoft | Azure OpenAI, Phi |
| Amazon | Bedrock (Claude, Llama, Titan) |
| Meta | Llama 3, 3.1, 3.2 (عبر مزودين متعددين) |
| Ollama | نماذج محلية (Llama, Mistral, Phi) |
المزودون المخصصون
يمكنك كتابة مزودين مخصصين في Python أو JavaScript إذا كان نموذجك غير مدعوم.
مثال بايثون:
# custom_provider.py
from typing import Any
class CustomProvider:
async def call_api(self, prompt: str, options: dict, context: dict) -> dict:
response = await my_async_api.generate(prompt)
return {
"output": response.text,
"tokenUsage": {
"total": response.usage.total_tokens,
"prompt": response.usage.prompt_tokens,
"completion": response.usage.completion_tokens
}
}
مثال جافا سكريبت:
// customProvider.js
export default class CustomProvider {
async callApi(prompt) {
return {
output: await myApi.generate(prompt),
tokenUsage: { total: 50, prompt: 20, completion: 30 }
};
}
}
سجل المزودين المخصصين في ملف التكوين الخاص بك:
providers:
- id: file://custom_provider.py
config:
api_key: ${MY_API_KEY}
واجهة سطر الأوامر: الأوامر الأساسية
توفر واجهة سطر الأوامر (CLI) الخاصة بـ Promptfoo جميع الوظائف التي تحتاجها لسير العمل اليومي.
الأوامر الأساسية
# تشغيل التقييمات
promptfoo eval -c promptfooconfig.yaml
# فتح واجهة المستخدم الويب
promptfoo view
# مشاركة النتائج عبر الإنترنت
promptfoo share
# اختبار Red Team
promptfoo redteam init
promptfoo redteam run
# التكوين
promptfoo init
promptfoo validate [config]
# إدارة النتائج
promptfoo list
promptfoo show <id>
promptfoo delete <id>
promptfoo export <id>
# أدوات مساعدة
promptfoo cache clear
promptfoo retry <id>
علامات مفيدة
--no-cache # تعطيل التخزين المؤقت للحصول على نتائج جديدة
--max-concurrency <n> # تحديد عدد استدعاءات API المتوازية
--output <file> # كتابة النتائج إلى ملف JSON
--verbose # تمكين تسجيل الأخطاء (debug logging)
--env-file <path> # تحميل متغيرات البيئة من ملف
--filter <pattern> # تشغيل حالات اختبار محددة
مثال: تشغيل تقييم بإعدادات مخصصة
promptfoo eval \
-c promptfooconfig.yaml \
--no-cache \
--max-concurrency 3 \
--output results.json \
--env-file .env
يقوم هذا بتشغيل التقييمات جديدة (بدون ذاكرة تخزين مؤقتة)، ويحدد التزامن بثلاث مكالمات متوازية، ويحفظ النتائج في JSON، ويحمل مفاتيح API من .env.
تكامل CI/CD: أتمتة اختبار LLM
دمج Promptfoo في مسار CI/CD الخاص بك لاكتشاف الانحدارات قبل النشر.
مثال GitHub Actions
name: اختبارات LLM
on: [push, pull_request]
jobs:
eval:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22'
- run: npm install -g promptfoo
- run: promptfoo eval -c promptfooconfig.yaml
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
بوابات الجودة
عيّن عتبات النجاح/الفشل في ملف التكوين الخاص بك:
commandLineOptions:
threshold: 0.8 # يتطلب معدل نجاح 80%
هذا يتسبب في فشل CI إذا لم تستوفِ التقييمات الحد الأدنى، مما يمنع دمج الانحدارات.
التخزين المؤقت في CI
تمكين التخزين المؤقت لتسريع تشغيل CI:
- uses: actions/cache@v4
with:
path: ~/.cache/promptfoo
key: ${{ runner.os }}-promptfoo-${{ hashFiles('promptfooconfig.yaml') }}
تتخطى النتائج المخزنة مؤقتًا استدعاءات API للاختبارات غير المتغيرة، مما يقلل من وقت وتكاليف CI.
واجهة المستخدم الويب: تصور ومشاركة النتائج
توفر واجهة المستخدم الويب المدمجة (promptfoo view) واجهة تفاعلية لمراجعة التقييمات.
الميزات
- مصفوفة التقييم - قارن المخرجات جنبًا إلى جنب
- التصفية - ابحث عن حالات اختبار محددة حسب الحالة أو المزود
- عرض الفروقات - شاهد بالضبط ما تغير بين عمليات التشغيل
- المشاركة - أنشئ روابط قابلة للمشاركة لمراجعة الفريق
- تحديثات في الوقت الفعلي - راقب التقييمات وهي تعمل مباشرة
الوصول والأمان
تعمل واجهة المستخدم على localhost:3000 افتراضيًا. تتضمن حماية CSRF باستخدام رؤوس Sec-Fetch-Site و Origin لحظر الطلبات عبر المواقع من مصادر غير موثوق بها.
لا تعرض خادم الويب المحلي لشبكات غير موثوق بها. للوصول الجماعي، استخدم أمر promptfoo share لرفع النتائج إلى السحابة، أو استضفها ذاتيًا مع المصادقة.
قاعدة البيانات والتخزين المؤقت
موقع التخزين المؤقت
- macOS/Linux:
~/.cache/promptfoo - Windows:
%LOCALAPPDATA%\promptfoo
يخزن التخزين المؤقت نتائج التقييم لتسريع عمليات التشغيل المتكررة. استخدم --no-cache أثناء التطوير لضمان الحصول على نتائج جديدة.
موقع قاعدة البيانات
- جميع المنصات:
~/.promptfoo/promptfoo.db(SQLite)
تخزن قاعدة البيانات عمليات تشغيل التقييم التاريخية للمقارنة وتحليل الاتجاهات. لا تحذف هذا الملف إلا إذا كنت ترغب في فقدان البيانات التاريخية.
نموذج الأمان: ما يمكنك الوثوق به
يعمل Promptfoo على نموذج "الثقة بالتكوين". فهم هذا يمنع مفاجآت الأمان.
المدخلات الموثوقة (تعامل كرمز)
يتم تنفيذ هذه المدخلات كرمز ويجب أن تأتي فقط من مصادر موثوقة:
- ملفات التكوين (
promptfooconfig.yaml) - تأكيدات JavaScript/Python/Ruby المخصصة
- تكوينات المزود
- وظائف التحويل
المدخلات غير الموثوقة (بيانات فقط)
يتم التعامل مع هذه المدخلات كبيانات ولا ينبغي أن تؤدي إلى تنفيذ رمز:
- نص المطالبة
- متغيرات حالة الاختبار
- مخرجات النموذج
- المحتوى البعيد الذي يتم جلبه أثناء التقييمات
توصيات التعزيز
للبيئات عالية الأمان:
- التشغيل داخل حاوية أو جهاز افتراضي بامتيازات دنيا
- استخدام مفاتيح API مخصصة بأقل امتيازات
- تجنب وضع الأسرار في المطالبات أو ملفات التكوين
- تقييد خروج الشبكة للتعليمات البرمجية الخاصة بجهات خارجية
- عدم كشف خادم الويب المحلي لشبكات غير موثوق بها
الأداء: تحسين تقييماتك
نصائح التحسين
- استخدام التخزين المؤقت - السلوك الافتراضي يسرع عمليات التشغيل المتكررة
- ضبط التزامن -
--max-concurrencyيوازن بين السرعة وحدود المعدل - تصفية الاختبارات - استخدم
--filterلتشغيل حالات اختبار محددة أثناء التطوير - أخذ عينات من مجموعات البيانات - استخدم
--repeatمع مجموعات فرعية للتكرار قبل التشغيل الكامل
التوسع للتقييمات الكبيرة
للتقييمات واسعة النطاق التي تحتوي على آلاف من حالات الاختبار:
- استخدم المجدول (
src/scheduler/) للتشغيل الموزع - استفد من التوليد عن بعد لتفريغ الحوسبة
- صدر النتائج إلى جداول بيانات Google لرؤية الفريق
قابلية التوسع: بناء ميزات مخصصة
تأكيدات مخصصة
اكتب تأكيدات مخصصة للتحققات الخاصة بالمجال:
// assertions/customCheck.js
export default function customCheck(output, context) {
const pass = output.includes('expected');
return {
pass,
score: pass ? 1 : 0,
reason: pass ? 'Output matched' : 'Missing expected content'
};
}
استخدمها في ملف التكوين الخاص بك:
assert:
- type: file://assertions/customCheck.js
خادم MCP
يتضمن Promptfoo خادم بروتوكول سياق النموذج (MCP) للتكامل مع مساعدي الذكاء الاصطناعي مثل Claude Code:
promptfoo mcp
هذا يمكّن وكلاء الذكاء الاصطناعي من:
- تشغيل التقييمات مباشرة من الدردشة
- الوصول إلى قدرات red team
- الاستعلام عن النتائج المخزنة
- إنشاء حالات اختبار جديدة
حالات الاستخدام في العالم الحقيقي
روبوت دردشة دعم العملاء
تستخدم شركة SaaS Promptfoo لاختبار روبوت الدردشة الخاص بدعم العملاء قبل كل نشر:
- 500 حالة اختبار تغطي الأسئلة الشائعة
- التقييم عبر GPT-4 و Claude لمقارنة الجودة
- فحوصات Red team لتسريب معلومات تحديد الهوية الشخصية (PII) وكسر القيود
- تكامل CI يمنع النشرات التي تحتوي على تقييمات فاشلة
النتيجة: انخفاض بنسبة 90% في المشكلات التي يبلغ عنها العملاء بعد تطبيق التقييمات المؤتمتة.
مسار توليد المحتوى
يتحقق فريق تسويق من المحتوى الذي تم إنشاؤه بواسطة الذكاء الاصطناعي بحثًا عن صوت العلامة التجارية:
- تقييمات مصنفة بواسطة LLM تتحقق من النبرة والأسلوب
- عتبات زمن الاستجابة تضمن التوليد السريع
- مراقبة التكلفة تحافظ على النفقات تحت السيطرة
- مقارنة النماذج تجد أفضل مزود قيمة
النتيجة: صوت علامة تجارية متسق عبر جميع المحتوى بتكاليف API أقل بنسبة 40%.
تطبيق الرعاية الصحية
تضمن شركة ناشئة في مجال التكنولوجيا الصحية الامتثال للاختبارات الصارمة:
- فحوصات Red team لانتهاكات HIPAA
- تأكيدات مخصصة تتحقق من الدقة الطبية
- جميع التقييمات تعمل محليًا لخصوصية البيانات
- مسارات التدقيق للمتطلبات التنظيمية
النتيجة: اجتياز تدقيق SOC 2 مع تقييمات Promptfoo كدليل.
الخلاصة
يجلب Promptfoo الاختبار المنهجي لتطبيقات نماذج اللغة الكبيرة (LLM). يستبدل العمليات اليدوية المعرضة للأخطاء بتقييمات مؤتمتة تكتشف الانحدارات والمشكلات الأمنية ومشكلات الجودة قبل النشر.
نقاط رئيسية:
- ثبت باستخدام
npm install -g promptfooوابدأ بـpromptfoo init - استخدم التأكيدات للتحقق من المخرجات بما يتجاوز المطابقة الدقيقة للسلاسل النصية
- أجرِ فحوصات red team للعثور على الثغرات الأمنية
- اكتشف الانحدارات من خلال التكامل مع CI/CD
- قارن النماذج بموضوعية من خلال تقييمات جنبًا إلى جنب
- المزودون والتأكيدات المخصصة توسع الوظائف
مستقبل تطوير الذكاء الاصطناعي يعتمد على البيانات. باستخدام Promptfoo، لديك الأدوات اللازمة لبناء واختبار وتأمين تطبيقات LLM على نطاق واسع.
إذا كنت تعمل أيضًا مع واجهات برمجة التطبيقات، ففكر في استخدام Apidog جنبًا إلى جنب مع Promptfoo. يتعامل Apidog مع تصميم واجهة برمجة التطبيقات واختبارها وتوثيقها، بينما يركز Promptfoo على تقييم نماذج اللغة الكبيرة. معًا، يغطيان مجموعة كاملة من اختبار التطبيقات الحديثة.
الأسئلة الشائعة
ما هو استخدام Promptfoo؟
يستخدم Promptfoo لاختبار وتقييم تطبيقات نماذج اللغة الكبيرة (LLM). يقوم بتشغيل اختبارات آلية على المطالبات، ويقارن المخرجات عبر النماذج، ويجري تقييمات أمنية (red-team) للعثور على الثغرات.
هل Promptfoo مجاني؟
نعم، Promptfoo مفتوح المصدر ومرخص بموجب MIT. يمكنك استخدامه مجانًا للمشاريع الشخصية والتجارية. قد تتطلب ميزات السحابة ودعم المؤسسات خططًا مدفوعة.
كيف أقوم بتثبيت Promptfoo؟
قم بتشغيل npm install -g promptfoo للتثبيت العام. يمكنك أيضًا استخدام npx promptfoo@latest بدون تثبيت، أو التثبيت عبر brew install promptfoo على macOS أو pip install promptfoo لـ Python.
ما هي النماذج التي يدعمها Promptfoo؟
يدعم Promptfoo أكثر من 90 مزودًا لـ LLM بما في ذلك OpenAI (GPT-4, GPT-4o, o1)، Anthropic (Claude 3.5/4/4.5)، Google (Gemini)، Microsoft (Azure OpenAI)، Amazon Bedrock، والنماذج المحلية عبر Ollama.
كيف أقوم بتشغيل فحص red team؟
قم بتشغيل promptfoo redteam init لإنشاء ملف تكوين، ثم promptfoo redteam run لتنفيذ الفحص الأمني. عرض النتائج باستخدام promptfoo redteam report.
هل يمكنني استخدام Promptfoo في CI/CD؟
نعم. قم بتثبيت Promptfoo في مسار CI الخاص بك وقم بتشغيل promptfoo eval باستخدام ملف التكوين الخاص بك. قم بتعيين بوابات الجودة باستخدام خيار threshold لجعل CI يفشل إذا لم تستوفِ التقييمات معدلات النجاح.
هل يرسل Promptfoo بياناتي إلى خوادم خارجية؟
لا. يعمل Promptfoo محليًا بنسبة 100% افتراضيًا. لا تغادر مطالباتك وبيانات الاختبار جهازك أبدًا ما لم تختر صراحةً ميزات سحابية. يتم تخزين ملفات التخزين المؤقت وقاعدة البيانات محليًا.
كيف أقارن النماذج باستخدام Promptfoo؟
أدرج مزودين متعددين في ملف التكوين الخاص بك، ثم قم بتشغيل promptfoo eval. اعرض المقارنة في واجهة المستخدم الويب باستخدام promptfoo view، والتي تعرض معدلات النجاح/الفشل والتكاليف وزمن الاستجابة لكل نموذج.
