สรุปย่อ
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
บทนำ
คุณใช้เวลาหลายสัปดาห์ในการสร้างแชทบอทสนับสนุนลูกค้าที่ขับเคลื่อนด้วย 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
เครื่องมือทดสอบแบบดั้งเดิมไม่เหมาะกับ 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 ข้อหลัก:
- ไม่มี regression detection — ไม่รู้ว่าอัปเดตโมเดลแล้วฟีเจอร์เดิมเสียหรือไม่
- coverage ต่ำ — พลาด edge cases และ adversarial inputs
- ไม่มี 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
ตั้งค่า API key เป็น environment variable:
export OPENAI_API_KEY=sk-abc123
export ANTHROPIC_API_KEY=sk-ant-xxx
สร้างการประเมินครั้งแรกของคุณ
เริ่มโปรเจกต์ตัวอย่าง:
promptfoo init --example getting-started
cd getting-started
ระบบจะสร้างไฟล์ promptfooconfig.yaml ตัวอย่างพร้อมพรอมต์, ผู้ให้บริการ, และ test cases
รันการประเมิน:
promptfoo eval
ดูผลลัพธ์ใน Web UI:
promptfoo view
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
- 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
การประเมินโดย LLM (LLM-Graded Evals)
Assertion llm-rubric ใช้ LLM ให้คะแนนผลลัพธ์ เช่น:
assert:
- type: llm-rubric
value: "Response should be helpful, harmless, and honest"
เลือกใช้ LLM ราคาถูกสำหรับ grading ก็ได้
2. Red Teaming และการทดสอบความปลอดภัย
Promptfoo มี red team module สำหรับสร้าง input อันตรายและตรวจสอบช่องโหว่โดยอัตโนมัติ
เวกเตอร์การโจมตีที่รองรับ
| หมวดหมู่ | สิ่งที่ทดสอบ |
|---|---|
| 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
รันการสแกน:
promptfoo redteam run
ดูรายงาน:
promptfoo redteam report [directory]
ผลลัพธ์จะสรุประดับความรุนแรงและคำแนะนำในการแก้ไข
ตัวอย่างผลลัพธ์ 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)
แนะนำให้แก้ไข 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 }}
จับปัญหาเช่น:
- API key ที่ hardcoded
- พรอมต์ไม่ปลอดภัย
- ไม่มี input validation
- prompt injection vector
4. การเปรียบเทียบโมเดล
เปรียบเทียบผลลัพธ์จากหลายโมเดลแบบ side-by-side ได้ทันที
# รันการประเมินกับหลาย provider
promptfoo eval
# เปิด UI
promptfoo view
ใน 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 |
| 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
}
}
JavaScript ตัวอย่าง:
// customProvider.js
export default class CustomProvider {
async callApi(prompt) {
return {
output: await myApi.generate(prompt),
tokenUsage: { total: 50, prompt: 20, completion: 30 }
};
}
}
ลงทะเบียนใน config:
providers:
- id: file://custom_provider.py
config:
api_key: ${MY_API_KEY}
อินเทอร์เฟซบรรทัดคำสั่ง: คำสั่งที่จำเป็น
คำสั่งหลัก
# รันการประเมิน
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>
แฟล็กที่มีประโยชน์
--no-cache # ไม่ใช้ cache
--max-concurrency <n> # จำกัด request ขนาน
--output <file> # ส่งผลลัพธ์ออก JSON
--verbose # log debug
--env-file <path> # โหลด env จากไฟล์
--filter <pattern> # รันเฉพาะ test pattern
ตัวอย่าง: รันการประเมินด้วยการตั้งค่าที่กำหนดเอง
promptfoo eval \
-c promptfooconfig.yaml \
--no-cache \
--max-concurrency 3 \
--output results.json \
--env-file .env
การผสานรวม 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 }}
Quality Gates
ตั้ง threshold ใน config:
commandLineOptions:
threshold: 0.8 # ต้องผ่าน 80% ขึ้นไป
CI จะ fail หากไม่ถึงเกณฑ์
การแคชใน CI
- uses: actions/cache@v4
with:
path: ~/.cache/promptfoo
key: ${{ runner.os }}-promptfoo-${{ hashFiles('promptfooconfig.yaml') }}
ช่วยลดเวลาและ 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
คำแนะนำในการเพิ่มความปลอดภัย
- รันใน container หรือ VM ที่สิทธิ์ต่ำ
- ใช้ API key ที่จำกัดสิทธิ์
- หลีกเลี่ยงความลับในพรอมต์/config
- จำกัด network สำหรับโค้ด third-party
- อย่า expose web server ไปยัง network ภายนอก
ประสิทธิภาพ: เพิ่มประสิทธิภาพการประเมินของคุณ
เคล็ดลับในการเพิ่มประสิทธิภาพ
- ใช้ cache — เร่งซ้ำรัน
-
ปรับ concurrency —
--max-concurrency -
กรอง test —
--filter -
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'
};
}
ใช้ใน config:
assert:
- type: file://assertions/customCheck.js
MCP Server
รันเซิร์ฟเวอร์ Model Context Protocol (MCP):
promptfoo mcp
สำหรับ 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)