كيفية اختبار تطبيقات نماذج اللغة الكبيرة: دليل Promptfoo الكامل (2026)

Ashley Innocent

Ashley Innocent

19 مارس 2026

كيفية اختبار تطبيقات نماذج اللغة الكبيرة: دليل Promptfoo الكامل (2026)

Apidog للمؤسسات

نشر محلي

SSO & RBAC

متوافق مع SOC 2

استكشاف Apidog Enterprise

ملخص سريع (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، وتجنب الأخطاء الشائعة.

بحلول النهاية، سيكون لديك مجموعة اختبار عاملة لتطبيقك المستند إلى نماذج اللغة الكبيرة وستعرف كيفية الشحن بثقة.

💡
إذا كنت تعمل مع اختبار واجهات برمجة التطبيقات (API testing) أو تحتاج إلى التحقق من سلوك واجهة برمجة التطبيقات جنبًا إلى جنب مع اختبارات نماذج اللغة الكبيرة الخاصة بك، فإن Apidog يوفر منصة موحدة لتصميم واجهات برمجة التطبيقات واختبارها وتوثيقها. يمكنك استخدام كلتا الأداتين معًا: Promptfoo لتقييم نماذج اللغة الكبيرة و Apidog للتحقق من طبقة واجهة برمجة التطبيقات.
button

ما هو Promptfoo ولماذا تحتاجه

Promptfoo هو أداة سطر أوامر ومكتبة Node.js لتقييم تطبيقات نماذج اللغة الكبيرة واختبارها ضد الهجمات (red-teaming). فكر فيه كإطار عمل للاختبار مصمم خصيصًا لخصائص تطوير الذكاء الاصطناعي.

مخطط يوضح كيف يعمل Promptfoo، مع مراحل الإدخال والاختبار والتقييم والإخراج.

أدوات الاختبار التقليدية تفشل مع نماذج اللغة الكبيرة لأن المخرجات غير حتمية. لا يمكنك التأكيد على تطابق دقيق للسلاسل النصية عندما تنتج المطالبة نفسها استجابات مختلفة في كل مرة. Promptfoo يحل هذه المشكلة من خلال:

تعمل الأداة محليًا على جهازك. لا تغادر مطالباتك وبيانات الاختبار بيئتك أبدًا ما لم تختر ميزات سحابية. هذا التصميم الذي يركز على الخصوصية يجعله مناسبًا للاختبار بالبيانات الحساسة.

المشكلة التي يحلها Promptfoo

معظم الفرق تختبر تطبيقات نماذج اللغة الكبيرة يدويًا. يرسلون بضع مطالبات، ويقرؤون المخرجات، ويقررون ما إذا كانت الأمور تبدو جيدة. هذا النهج له ثلاث عيوب قاتلة:

  1. عدم اكتشاف الانحدارات - لا يمكنك معرفة ما إذا كان تحديث النموذج قد عطل وظائف موجودة
  2. ثغرات التغطية - يفشل الاختبار اليدوي في اكتشاف الحالات الهامشية والمدخلات العدائية
  3. عدم وجود مقاييس - لا يمكنك تتبع التحسين أو مقارنة النماذج بموضوعية

يستبدل 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

يمكنك توسيع هذا ليشمل المئات من حالات الاختبار. تحتفظ العديد من الفرق بملفات تكوين التقييم في نظام التحكم بالإصدار وتشغلها في 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 الخاصة به. يقوم تلقائيًا بإنشاء مدخلات عدائية للبحث عن الثغرات الأمنية.

لقطة شاشة تعرض واجهة Promptfoo Red Teaming، تعرض تفاصيل أنواع الهجمات ونتائج الفحص.

متجهات الهجوم المدعومة

يتضمن نظام 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 خطوتين:

  1. يولد فحوصات هجوم ديناميكية مصممة خصيصًا لتطبيقك
  2. يقيم الفحوصات مقابل هدفك ويصنف الثغرات الأمنية

تتضمن النتائج تصنيفات الخطورة (حرجة، عالية، متوسطة، منخفضة)، حالات اختبار قابلة للاستغلال، وتوصيات الإصلاح.

مثال على مخرجات 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 }}

يصطاد هذا:

4. مقارنة النماذج

قارن المخرجات من نماذج متعددة جنبًا إلى جنب لاختيار الأفضل لحالة استخدامك.

# تشغيل التقييم مع مزودين متعددين
promptfoo eval

# عرض المقارنة في واجهة المستخدم الويب
promptfoo view

تعرض واجهة المستخدم الويب:

يمنع هذا النهج المعتمد على البيانات التحيز نحو النماذج المألوفة. قد تجد أن نموذجًا أرخص يتفوق على 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
Google 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 لرفع النتائج إلى السحابة، أو استضفها ذاتيًا مع المصادقة.

قاعدة البيانات والتخزين المؤقت

موقع التخزين المؤقت

يخزن التخزين المؤقت نتائج التقييم لتسريع عمليات التشغيل المتكررة. استخدم --no-cache أثناء التطوير لضمان الحصول على نتائج جديدة.

موقع قاعدة البيانات

تخزن قاعدة البيانات عمليات تشغيل التقييم التاريخية للمقارنة وتحليل الاتجاهات. لا تحذف هذا الملف إلا إذا كنت ترغب في فقدان البيانات التاريخية.

نموذج الأمان: ما يمكنك الوثوق به

يعمل Promptfoo على نموذج "الثقة بالتكوين". فهم هذا يمنع مفاجآت الأمان.

المدخلات الموثوقة (تعامل كرمز)

يتم تنفيذ هذه المدخلات كرمز ويجب أن تأتي فقط من مصادر موثوقة:

المدخلات غير الموثوقة (بيانات فقط)

يتم التعامل مع هذه المدخلات كبيانات ولا ينبغي أن تؤدي إلى تنفيذ رمز:

توصيات التعزيز

للبيئات عالية الأمان:

  1. التشغيل داخل حاوية أو جهاز افتراضي بامتيازات دنيا
  2. استخدام مفاتيح API مخصصة بأقل امتيازات
  3. تجنب وضع الأسرار في المطالبات أو ملفات التكوين
  4. تقييد خروج الشبكة للتعليمات البرمجية الخاصة بجهات خارجية
  5. عدم كشف خادم الويب المحلي لشبكات غير موثوق بها

الأداء: تحسين تقييماتك

نصائح التحسين

  1. استخدام التخزين المؤقت - السلوك الافتراضي يسرع عمليات التشغيل المتكررة
  2. ضبط التزامن - --max-concurrency يوازن بين السرعة وحدود المعدل
  3. تصفية الاختبارات - استخدم --filter لتشغيل حالات اختبار محددة أثناء التطوير
  4. أخذ عينات من مجموعات البيانات - استخدم --repeat مع مجموعات فرعية للتكرار قبل التشغيل الكامل

التوسع للتقييمات الكبيرة

للتقييمات واسعة النطاق التي تحتوي على آلاف من حالات الاختبار:

قابلية التوسع: بناء ميزات مخصصة

تأكيدات مخصصة

اكتب تأكيدات مخصصة للتحققات الخاصة بالمجال:

// 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

هذا يمكّن وكلاء الذكاء الاصطناعي من:

حالات الاستخدام في العالم الحقيقي

روبوت دردشة دعم العملاء

تستخدم شركة SaaS Promptfoo لاختبار روبوت الدردشة الخاص بدعم العملاء قبل كل نشر:

النتيجة: انخفاض بنسبة 90% في المشكلات التي يبلغ عنها العملاء بعد تطبيق التقييمات المؤتمتة.

مسار توليد المحتوى

يتحقق فريق تسويق من المحتوى الذي تم إنشاؤه بواسطة الذكاء الاصطناعي بحثًا عن صوت العلامة التجارية:

النتيجة: صوت علامة تجارية متسق عبر جميع المحتوى بتكاليف API أقل بنسبة 40%.

تطبيق الرعاية الصحية

تضمن شركة ناشئة في مجال التكنولوجيا الصحية الامتثال للاختبارات الصارمة:

النتيجة: اجتياز تدقيق SOC 2 مع تقييمات Promptfoo كدليل.

الخلاصة

يجلب Promptfoo الاختبار المنهجي لتطبيقات نماذج اللغة الكبيرة (LLM). يستبدل العمليات اليدوية المعرضة للأخطاء بتقييمات مؤتمتة تكتشف الانحدارات والمشكلات الأمنية ومشكلات الجودة قبل النشر.

نقاط رئيسية:

مستقبل تطوير الذكاء الاصطناعي يعتمد على البيانات. باستخدام Promptfoo، لديك الأدوات اللازمة لبناء واختبار وتأمين تطبيقات LLM على نطاق واسع.

button

إذا كنت تعمل أيضًا مع واجهات برمجة التطبيقات، ففكر في استخدام 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، والتي تعرض معدلات النجاح/الفشل والتكاليف وزمن الاستجابة لكل نموذج.

ممارسة تصميم API في Apidog

اكتشف طريقة أسهل لبناء واستخدام واجهات برمجة التطبيقات