DEV Community

Cover image for วิธีทดสอบแอปพลิเคชัน LLM: คู่มือ Promptfoo ฉบับสมบูรณ์ (2026)
Thanawat Wongchai
Thanawat Wongchai

Posted on • Originally published at apidog.com

วิธีทดสอบแอปพลิเคชัน LLM: คู่มือ Promptfoo ฉบับสมบูรณ์ (2026)

สรุปย่อ

Promptfoo เป็นเฟรมเวิร์กโอเพนซอร์สสำหรับการประเมินและ Red-teaming LLM (Large Language Model) ที่ช่วยให้นักพัฒนาสามารถทดสอบแอปพลิเคชัน AI ได้อย่างเป็นระบบ รองรับผู้ให้บริการโมเดลกว่า 90 ราย มีปลั๊กอินโจมตีด้านความปลอดภัยกว่า 67 รายการ และทำงานแบบ 100% บนเครื่องเพื่อความเป็นส่วนตัว ด้วยยอดดาวน์โหลด npm 1.6 ล้านครั้ง และการใช้งานจริงในบริษัทที่ให้บริการผู้ใช้กว่า 10 ล้านคน ทำให้ Promptfoo กลายเป็นมาตรฐานสำหรับการทดสอบ LLM เริ่มต้นใช้งานได้ด้วย npm install -g promptfoo และ promptfoo init --example getting-started

ทดลองใช้ Apidog วันนี้

บทนำ

คุณใช้เวลาหลายสัปดาห์ในการสร้างแชทบอทสนับสนุนลูกค้าที่ขับเคลื่อนด้วย AI ของคุณ มันตอบคำถามได้อย่างสมบูรณ์แบบในระหว่างการพัฒนา จากนั้นผู้ใช้ก็เริ่มหาวิธีที่จะทำให้มันรั่วไหลข้อมูลที่ละเอียดอ่อน หลีกเลี่ยงข้อจำกัดด้านความปลอดภัย และให้คำตอบที่ไม่สอดคล้องกัน

สถานการณ์นี้เกิดขึ้นทุกวัน ทีมงานส่งมอบแอปพลิเคชัน LLM โดยอาศัยความรู้สึกและการทดสอบด้วยตนเอง เพียงเพื่อจะค้นพบช่องโหว่และปัญหาด้านคุณภาพในการผลิต ต้นทุนในการแก้ไขปัญหาเหล่านี้หลังจากการเปิดตัวนั้นสูงกว่าการค้นพบในระหว่างการพัฒนาถึง 100 เท่า

Promptfoo แก้ปัญหานี้ด้วยการนำการทดสอบแบบอัตโนมัติและเป็นระบบมาใช้กับแอปพลิเคชัน LLM ช่วยให้คุณสามารถประเมินพรอมต์ในหลายโมเดล เรียกใช้การประเมิน Red-team ด้านความปลอดภัย และตรวจจับข้อผิดพลาดก่อนที่จะไปถึงผู้ใช้

ฉันได้วิเคราะห์โค้ดเบสของ promptfoo (เวอร์ชัน 0.121.2) และทดสอบคุณสมบัติหลักเพื่อนำเสนอคู่มือฉบับสมบูรณ์นี้ให้คุณ คุณจะได้เรียนรู้วิธีตั้งค่าการประเมิน เรียกใช้การสแกนความปลอดภัย ผสานรวมกับ CI/CD และหลีกเลี่ยงข้อผิดพลาดทั่วไป

ในตอนท้าย คุณจะมีชุดการทดสอบที่ใช้งานได้สำหรับแอปพลิเคชัน LLM ของคุณ และรู้วิธีที่จะส่งมอบผลิตภัณฑ์ด้วยความมั่นใจ

💡 หากคุณทำงานกับการทดสอบ API หรือต้องการตรวจสอบพฤติกรรม API ควบคู่ไปกับการทดสอบ LLM ของคุณ Apidog มีแพลตฟอร์มแบบครบวงจรสำหรับการออกแบบ API, การทดสอบ และการจัดทำเอกสาร คุณสามารถใช้เครื่องมือทั้งสองร่วมกัน: promptfoo สำหรับการประเมิน LLM และ Apidog สำหรับการตรวจสอบเลเยอร์ API

Promptfoo คืออะไร และทำไมคุณถึงต้องการมัน

Promptfoo เป็นเครื่องมือบรรทัดคำสั่ง (command-line tool) และไลบรารี Node.js สำหรับการประเมินและ red-teaming แอปพลิเคชัน LLM เหมาะสำหรับการนำการทดสอบแบบอัตโนมัติและการประเมินความปลอดภัยเข้าไปในกระบวนการพัฒนา AI

Promptfoo overview

เครื่องมือทดสอบแบบดั้งเดิมไม่เหมาะกับ LLM เพราะผลลัพธ์ non-deterministic คุณไม่สามารถยืนยันการจับคู่สตริงที่แน่นอนได้เมื่อพรอมต์เดียวกันสร้างการตอบสนองที่แตกต่างกันแต่ละครั้ง Promptfoo แก้ปัญหาด้วย:

  • การยืนยันเชิงความหมาย (Semantic assertions) ตรวจสอบความหมายแทนข้อความที่แน่นอน
  • การประเมินโดย LLM (LLM-graded evals) โมเดลหนึ่งประเมินผลลัพธ์ของอีกโมเดลหนึ่ง
  • การเปรียบเทียบหลายโมเดล (Multi-model comparison) ทดสอบพรอมต์เดียวกันใน GPT-4, Claude ฯลฯ
  • ปลั๊กอินความปลอดภัย (Security plugins) ตรวจสอบช่องโหว่โดยอัตโนมัติ

ข้อมูลพรอมต์และผลทดสอบจะไม่ออกจากเครื่องของคุณ (local-first) เว้นแต่คุณจะเลือกใช้ฟีเจอร์ cloud

ปัญหาที่ Promptfoo แก้ไข

ทีมส่วนใหญ่ยังทดสอบ LLM ด้วยวิธี manual เช่น ส่งพรอมต์ไม่กี่ชุด ตัดสินใจจากผลลัพธ์เอง ซึ่งมีข้อเสีย 3 ข้อหลัก:

  1. ไม่มี regression detection — ไม่รู้ว่าอัปเดตโมเดลแล้วฟีเจอร์เดิมเสียหรือไม่
  2. coverage ต่ำ — พลาด edge cases และ adversarial inputs
  3. ไม่มี metrics — ไม่สามารถเทียบประสิทธิภาพหรือวัดการเปลี่ยนแปลงได้

Promptfoo ให้การประเมินอัตโนมัติ กำหนด test cases ครั้งเดียว รันบนโมเดลใดก็ได้ พร้อมสรุปอัตราการผ่าน/ไม่ผ่าน, เปรียบเทียบต้นทุน และ latency

ใครใช้ Promptfoo

โครงการนี้มียอดดาวน์โหลด npm 1.6 ล้านครั้ง ใช้ในบริษัทที่มีผู้ใช้ปลายทางกว่า 10 ล้านคน เหมาะกับงาน:

  • แชทบอทสนับสนุนลูกค้า
  • ไปป์ไลน์สร้างเนื้อหาที่ต้องควบคุมโทนเสียง
  • แอปด้านสุขภาพ/การเงินที่ต้องการ compliance
  • ระบบที่ต้องป้องกันข้อมูลรั่วไหลหรือ input อันตราย

Promptfoo เป็นโอเพนซอร์ส MIT License และยังคงพัฒนาอย่างต่อเนื่อง

เริ่มต้นใช้งาน: ติดตั้งและรันการประเมินครั้งแรกของคุณ

การติดตั้ง

ติดตั้ง promptfoo ได้หลายวิธี

# ติดตั้งแบบ global (แนะนำ)
npm install -g promptfoo

# หรือรันโดยไม่ต้องติดตั้ง
npx promptfoo@latest

# macOS: Homebrew
brew install promptfoo

# Python: pip
pip install promptfoo
Enter fullscreen mode Exit fullscreen mode

ตั้งค่า API key เป็น environment variable:

export OPENAI_API_KEY=sk-abc123
export ANTHROPIC_API_KEY=sk-ant-xxx
Enter fullscreen mode Exit fullscreen mode

สร้างการประเมินครั้งแรกของคุณ

เริ่มโปรเจกต์ตัวอย่าง:

promptfoo init --example getting-started
cd getting-started
Enter fullscreen mode Exit fullscreen mode

ระบบจะสร้างไฟล์ promptfooconfig.yaml ตัวอย่างพร้อมพรอมต์, ผู้ให้บริการ, และ test cases

รันการประเมิน:

promptfoo eval
Enter fullscreen mode Exit fullscreen mode

ดูผลลัพธ์ใน Web UI:

promptfoo view
Enter fullscreen mode Exit fullscreen mode

UI จะเปิดที่ 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
Enter fullscreen mode Exit fullscreen mode
  • prompts: ไฟล์หรือข้อความที่จะทดสอบ
  • providers: โมเดลที่ต้องการประเมิน
  • tests: รายละเอียด test cases และ assertions

สามารถขยาย/เวอร์ชันคอนฟิกในระบบ version control แล้วรันใน CI ได้

คุณสมบัติหลัก: Promptfoo ทำอะไรได้บ้าง

1. การประเมินแบบอัตโนมัติ

เขียน test cases พร้อมผลลัพธ์ที่คาดหวัง แล้วรันกับโมเดลที่ต้องการ

ประเภทของการยืนยัน

Promptfoo มี assertions ให้เลือกมากกว่า 30 รายการ:

การยืนยัน วัตถุประสงค์
contains ผลลัพธ์มีสตริงย่อย
equals การจับคู่สตริงที่แน่นอน
regex ตรวจสอบ regex
json-schema ตรวจสอบโครงสร้าง JSON
javascript ฟังก์ชัน JS แบบกำหนดเอง
python ฟังก์ชัน Python แบบกำหนดเอง
llm-rubric ใช้ LLM ให้คะแนนผลลัพธ์
similar ความคล้ายคลึงทางความหมาย
latency เวลาตอบสนองต่ำกว่า threshold
cost ค่าใช้จ่ายต่อ request ต่ำกว่า threshold

ตัวอย่าง assertions หลายแบบ:

tests:
  - vars:
      question: "What is the capital of France?"
    assert:
      - type: contains
        value: "Paris"
      - type: javascript
        value: output.length < 100
      - type: latency
        threshold: 2000
      - type: cost
        threshold: 0.001
Enter fullscreen mode Exit fullscreen mode

การประเมินโดย LLM (LLM-Graded Evals)

Assertion llm-rubric ใช้ LLM ให้คะแนนผลลัพธ์ เช่น:

assert:
  - type: llm-rubric
    value: "Response should be helpful, harmless, and honest"
Enter fullscreen mode Exit fullscreen mode

เลือกใช้ LLM ราคาถูกสำหรับ grading ก็ได้

2. Red Teaming และการทดสอบความปลอดภัย

Promptfoo มี red team module สำหรับสร้าง input อันตรายและตรวจสอบช่องโหว่โดยอัตโนมัติ

Red team attack vectors

เวกเตอร์การโจมตีที่รองรับ

หมวดหมู่ สิ่งที่ทดสอบ
Prompt Injection direct, indirect, context injection
Jailbreaks DAN, persona, role-play bypass
Data Exfiltration SSRF, prompt extraction, prompt leakage
Harmful Content hate speech, dangerous acts, self-harm requests
Compliance PII leakage, HIPAA, financial data exposure
Audio/Visual Audio injection, image-based attacks

การรันการสแกน Red Team

เริ่มต้น red team config:

promptfoo redteam init
Enter fullscreen mode Exit fullscreen mode

รันการสแกน:

promptfoo redteam run
Enter fullscreen mode Exit fullscreen mode

ดูรายงาน:

promptfoo redteam report [directory]
Enter fullscreen mode Exit fullscreen mode

ผลลัพธ์จะสรุประดับความรุนแรงและคำแนะนำในการแก้ไข

ตัวอย่างผลลัพธ์ Red Team

Vulnerability Summary:
- Critical: 2 (PII leakage, prompt extraction)
- High: 5 (jailbreaks, injection attacks)
- Medium: 12 (bias, inconsistent responses)
- Low: 23 (minor policy violations)
Enter fullscreen mode Exit fullscreen mode

แนะนำให้แก้ไข critical/high ก่อน deploy แล้วรันซ้ำยืนยัน

3. การสแกนโค้ดสำหรับ Pull Requests

Promptfoo ผสานกับ GitHub Actions เพื่อสแกน pull requests หาช่องโหว่

# .github/workflows/promptfoo-scan.yml
name: Promptfoo Code Scan
on: [pull_request]
jobs:
  scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: promptfoo/promptfoo/code-scan-action@main
        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}
Enter fullscreen mode Exit fullscreen mode

จับปัญหาเช่น:

  • API key ที่ hardcoded
  • พรอมต์ไม่ปลอดภัย
  • ไม่มี input validation
  • prompt injection vector

4. การเปรียบเทียบโมเดล

เปรียบเทียบผลลัพธ์จากหลายโมเดลแบบ side-by-side ได้ทันที

# รันการประเมินกับหลาย provider
promptfoo eval

# เปิด UI
promptfoo view
Enter fullscreen mode Exit fullscreen mode

ใน UI จะเห็น:

  • อัตราการผ่าน/ไม่ผ่าน ของแต่ละโมเดล
  • ค่าใช้จ่ายต่อ 1,000 คำขอ
  • เวลา latency
  • เปรียบเทียบคุณภาพผลลัพธ์

ผู้ให้บริการที่รองรับ: การผสานรวม LLM กว่า 90 รายการ

Promptfoo รองรับ LLM provider มากกว่า 90 ราย ทดสอบพรอมต์เดียวกันได้ทั้ง OpenAI, Anthropic, Google, Amazon, โมเดล local

ผู้ให้บริการหลัก

ผู้ให้บริการ โมเดลหลัก
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 (ผ่านหลาย provider)
Ollama โมเดล Local (Llama, Mistral, Phi)

ผู้ให้บริการแบบกำหนดเอง

เขียน provider custom ได้ทั้ง Python หรือ JavaScript

Python ตัวอย่าง:

# 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
            }
        }
Enter fullscreen mode Exit fullscreen mode

JavaScript ตัวอย่าง:

// customProvider.js
export default class CustomProvider {
  async callApi(prompt) {
    return {
      output: await myApi.generate(prompt),
      tokenUsage: { total: 50, prompt: 20, completion: 30 }
    };
  }
}
Enter fullscreen mode Exit fullscreen mode

ลงทะเบียนใน config:

providers:
  - id: file://custom_provider.py
    config:
      api_key: ${MY_API_KEY}
Enter fullscreen mode Exit fullscreen mode

อินเทอร์เฟซบรรทัดคำสั่ง: คำสั่งที่จำเป็น

คำสั่งหลัก

# รันการประเมิน
promptfoo eval -c promptfooconfig.yaml

# เปิด UI
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>
Enter fullscreen mode Exit fullscreen mode

แฟล็กที่มีประโยชน์

--no-cache              # ไม่ใช้ cache
--max-concurrency <n>   # จำกัด request ขนาน
--output <file>         # ส่งผลลัพธ์ออก JSON
--verbose               # log debug
--env-file <path>       # โหลด env จากไฟล์
--filter <pattern>      # รันเฉพาะ test pattern
Enter fullscreen mode Exit fullscreen mode

ตัวอย่าง: รันการประเมินด้วยการตั้งค่าที่กำหนดเอง

promptfoo eval \
  -c promptfooconfig.yaml \
  --no-cache \
  --max-concurrency 3 \
  --output results.json \
  --env-file .env
Enter fullscreen mode Exit fullscreen mode

การผสานรวม CI/CD: ทำให้การทดสอบ LLM เป็นอัตโนมัติ

ตัวอย่าง GitHub Actions

name: LLM Tests
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 }}
Enter fullscreen mode Exit fullscreen mode

Quality Gates

ตั้ง threshold ใน config:

commandLineOptions:
  threshold: 0.8  # ต้องผ่าน 80% ขึ้นไป
Enter fullscreen mode Exit fullscreen mode

CI จะ fail หากไม่ถึงเกณฑ์

การแคชใน CI

- uses: actions/cache@v4
  with:
    path: ~/.cache/promptfoo
    key: ${{ runner.os }}-promptfoo-${{ hashFiles('promptfooconfig.yaml') }}
Enter fullscreen mode Exit fullscreen mode

ช่วยลดเวลาและ cost CI

Web UI: แสดงผลและแบ่งปันผลลัพธ์

Web UI (promptfoo view) สำหรับตรวจสอบผลการประเมิน

คุณสมบัติ

  • Eval matrix: ตารางเทียบผลหลายโมเดล
  • Filtering: กรองตาม status/provider
  • Diff view: เทียบรันก่อน/หลัง
  • Sharing: แชร์ลิงก์ภายในทีม
  • Real-time updates: ผลลัพธ์สด

การเข้าถึงและความปลอดภัย

UI ทำงานบน localhost:3000 ปลอดภัยด้วย CSRF header (Sec-Fetch-Site, Origin) หลีกเลี่ยง expose ต่อเครือข่ายอื่น ใช้ promptfoo share สำหรับแชร์ผลลัพธ์หรือโฮสต์เองพร้อม auth

ฐานข้อมูลและการแคช

ตำแหน่งแคช

  • macOS/Linux: ~/.cache/promptfoo
  • Windows: %LOCALAPPDATA%\promptfoo

ใช้ --no-cache เพื่อรันสด

ตำแหน่งฐานข้อมูล

  • ทุกแพลตฟอร์ม: ~/.promptfoo/promptfoo.db (SQLite)

เก็บ history การประเมินย้อนหลัง

แบบจำลองความปลอดภัย: สิ่งที่คุณเชื่อถือได้

Promptfoo ใช้ trust-by-configuration

อินพุตที่เชื่อถือได้ (ถือว่าเป็นโค้ด)

  • ไฟล์ config (promptfooconfig.yaml)
  • assertions JS/Python/Ruby
  • provider config
  • transform function

อินพุตที่ไม่น่าเชื่อถือ (ข้อมูลเท่านั้น)

  • ข้อความพรอมต์
  • ตัวแปร test case
  • output ของโมเดล
  • ข้อมูลที่ดึงจาก remote

คำแนะนำในการเพิ่มความปลอดภัย

  1. รันใน container หรือ VM ที่สิทธิ์ต่ำ
  2. ใช้ API key ที่จำกัดสิทธิ์
  3. หลีกเลี่ยงความลับในพรอมต์/config
  4. จำกัด network สำหรับโค้ด third-party
  5. อย่า expose web server ไปยัง network ภายนอก

ประสิทธิภาพ: เพิ่มประสิทธิภาพการประเมินของคุณ

เคล็ดลับในการเพิ่มประสิทธิภาพ

  1. ใช้ cache — เร่งซ้ำรัน
  2. ปรับ concurrency--max-concurrency
  3. กรอง test--filter
  4. sample dataset--repeat กับ subset

การปรับขนาดสำหรับการประเมินขนาดใหญ่

  • ใช้ scheduler (src/scheduler/) กระจายรัน
  • Remote generation ถ่าย workload
  • ส่งออก Google Sheets ให้ทีมดูร่วม

ความยืดหยุ่น: สร้างคุณสมบัติแบบกำหนดเอง

การยืนยันแบบกำหนดเอง

กำหนด assertions เฉพาะโดเมน:

// 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'
  };
}
Enter fullscreen mode Exit fullscreen mode

ใช้ใน config:

assert:
  - type: file://assertions/customCheck.js
Enter fullscreen mode Exit fullscreen mode

MCP Server

รันเซิร์ฟเวอร์ Model Context Protocol (MCP):

promptfoo mcp
Enter fullscreen mode Exit fullscreen mode

สำหรับ AI agent เช่น Claude Code เพื่อ

  • รันการประเมินจากแชท
  • เข้าถึง red team
  • สอบถามผลการประเมินเก่า
  • สร้าง test case ใหม่

กรณีการใช้งานจริง

แชทบอทสนับสนุนลูกค้า

  • 500 test case ครอบคลุมคำถาม
  • ประเมิน GPT-4/Claude เทียบคุณภาพ
  • สแกน Red team ดู PII leak/jailbreaks
  • CI integration บล็อก deploy หาก fail

ผลลัพธ์: ลด ticket ลูกค้าลง 90%

ไปป์ไลน์การสร้างเนื้อหา

  • LLM eval ตรวจสอบโทนเสียง/สไตล์
  • latency gate ควบคุมความเร็ว
  • ตรวจสอบ cost
  • เปรียบเทียบ provider หา value ดีสุด

ผลลัพธ์: โทนเสียงคงที่, API cost ลด 40%

แอปพลิเคชันด้านการดูแลสุขภาพ

  • Red team ตรวจสอบ HIPAA
  • custom assertion ตรวจสอบข้อมูลการแพทย์
  • ประเมินในเครื่องเพื่อ privacy
  • audit log สำหรับ compliance

ผลลัพธ์: ผ่าน SOC 2 audit ด้วย promptfoo

สรุป

Promptfoo ช่วยให้คุณทดสอบ AI LLM อย่างเป็นระบบ แทนที่ manual test ด้วยการประเมินอัตโนมัติ ตรวจจับข้อผิดพลาด, ช่องโหว่, และปัญหาคุณภาพก่อน production

สรุปแนวปฏิบัติ:

  • ติดตั้งด้วย npm install -g promptfoo และเริ่มด้วย promptfoo init
  • ใช้ assertions ตรวจสอบผลลัพธ์มากกว่าการจับคู่สตริง
  • สแกน red team หาช่องโหว่
  • เชื่อมกับ CI/CD เพื่อบล็อกข้อผิดพลาด
  • เปรียบเทียบโมเดลอย่างมีข้อมูล
  • ขยายด้วย provider/assertion แบบ custom

อนาคตของ AI development คือข้อมูล Promptfoo คือเครื่องมือสำหรับสร้าง ทดสอบ และรักษาความปลอดภัย LLM scale ใหญ่

หากคุณทำงานกับ API ด้วย ลองใช้ Apidog ควบคู่ไปกับ promptfoo Apidog จัดการการออกแบบ API, การทดสอบ และเอกสารประกอบ ในขณะที่ promptfoo มุ่งเน้นไปที่การประเมิน LLM เมื่อใช้ร่วมกันจะครอบคลุมการทดสอบแอปพลิเคชันที่ทันสมัยทั้งหมด

คำถามที่พบบ่อย

Promptfoo ใช้สำหรับอะไร?

Promptfoo ใช้สำหรับการทดสอบและประเมินแอปพลิเคชัน LLM มันรันการทดสอบอัตโนมัติกับพรอมต์ เปรียบเทียบผลลัพธ์ในโมเดลต่างๆ และดำเนินการประเมิน red-team ด้านความปลอดภัยเพื่อค้นหาช่องโหว่

Promptfoo ฟรีหรือไม่?

ใช่ Promptfoo เป็นโอเพนซอร์สและได้รับอนุญาตภายใต้ MIT License คุณสามารถใช้ได้ฟรีสำหรับโครงการส่วนตัวและเชิงพาณิชย์ คุณสมบัติคลาวด์และการสนับสนุนระดับองค์กรอาจต้องมีแผนชำระเงิน

ฉันจะติดตั้ง promptfoo ได้อย่างไร?

รัน npm install -g promptfoo เพื่อติดตั้งแบบทั่วโลก คุณยังสามารถใช้ npx promptfoo@latest โดยไม่ต้องติดตั้ง หรือติดตั้งผ่าน brew install promptfoo บน macOS หรือ pip install promptfoo สำหรับ Python

Promptfoo รองรับโมเดลใดบ้าง?

Promptfoo รองรับผู้ให้บริการ LLM กว่า 90 ราย รวมถึง 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 พร้อมไฟล์การกำหนดค่าของคุณ ตั้งค่า quality gates ด้วยตัวเลือก threshold เพื่อทำให้ CI ล้มเหลวหากการประเมินไม่เป็นไปตามอัตราการผ่าน

Promptfoo ส่งข้อมูลของฉันไปยังเซิร์ฟเวอร์ภายนอกหรือไม่?

ไม่ Promptfoo ทำงาน 100% ในเครื่องเป็นค่าเริ่มต้น ข้อมูลพรอมต์และข้อมูลการทดสอบของคุณจะไม่ออกจากเครื่องของคุณเว้นแต่คุณจะเลือกใช้คุณสมบัติคลาวด์โดยชัดแจ้ง ไฟล์แคชและฐานข้อมูลจะถูกจัดเก็บไว้ในเครื่อง

ฉันจะเปรียบเทียบโมเดลด้วย promptfoo ได้อย่างไร?

ระบุผู้ให้บริการหลายรายในไฟล์การกำหนดค่าของคุณ จากนั้นรัน promptfoo eval ดูการเปรียบเทียบใน Web UI ด้วย promptfoo view ซึ่งจะแสดงอัตราการผ่าน/ไม่ผ่าน ต้นทุน และเวลาแฝงสำหรับแต่ละโมเดล

Top comments (0)