TL;DR
Promptfoo, geliştiricilerin yapay zeka uygulamalarını sistematik olarak test etmelerine yardımcı olan açık kaynaklı bir LLM değerlendirme ve kırmızı ekip (red-teaming) çerçevesidir. 90'dan fazla model sağlayıcısını destekler, 67'den fazla güvenlik saldırısı eklentisi sunar ve gizlilik için %100 yerel olarak çalışır. 1,6 milyon npm indirmesi ve 10 milyondan fazla kullanıcıya hizmet veren şirketlerde üretimde kullanılmasıyla, LLM testi için standart hale gelmiştir. npm install -g promptfoo ve promptfoo init --example getting-started ile başlayın.
Giriş
Yapay zeka destekli müşteri destek sohbet robotunuzu haftalarca geliştirdiniz. Geliştirme sırasında soruları mükemmel bir şekilde yanıtladı. Ancak daha sonra kullanıcılar hassas verileri sızdırmanın, güvenlik önlemlerini aşmanın ve tutarsız yanıtlar vermenin yollarını bulmaya başladı.
Bu senaryo her gün yaşanıyor. Ekipler, LLM uygulamalarını sezgi ve manuel testlere dayanarak piyasaya sürüyor, ancak üretimde güvenlik açıkları ve kalite sorunları keşfediyorlar. Bu sorunları piyasaya sürüldükten sonra düzeltmenin maliyeti, geliştirme sırasında yakalamaktan 100 kat daha yüksektir.
Promptfoo, LLM uygulamalarına sistematik, otomatik testler getirerek bu sorunu çözer. Birden fazla modelde istemleri değerlendirmenize, güvenlik kırmızı ekip değerlendirmeleri yapmanıza ve gerilemeleri kullanıcılara ulaşmadan önce yakalamanıza olanak tanır.
Size bu kapsamlı rehberi sunmak için promptfoo kod tabanını (sürüm 0.121.2) analiz ettim ve temel özelliklerini test ettim. Değerlendirmeleri nasıl kuracağınızı, güvenlik taramalarını nasıl çalıştıracağınızı, CI/CD ile nasıl entegre edeceğinizi ve yaygın hatalardan nasıl kaçınacağınızı öğreneceksiniz.
Sonunda, LLM uygulamanız için çalışan bir test paketinize sahip olacak ve güvenle nasıl dağıtım yapacağınızı bileceksiniz.
Promptfoo Nedir ve Neden İhtiyacınız Var?
Promptfoo, LLM uygulamalarını değerlendirmek ve kırmızı ekip testleri yapmak için bir komut satırı aracı ve Node.js kütüphanesidir. Onu, yapay zeka geliştirmenin tuhaflıkları için özel olarak inşa edilmiş bir test çerçevesi olarak düşünebilirsiniz.

Geleneksel test araçları, LLM'lerde çıktıların deterministik olmaması nedeniyle başarısız olur. Aynı istemin her seferinde farklı yanıtlar üretmesi durumunda tam dize eşleşmelerini iddia edemezsiniz. Promptfoo bunu şunlarla çözer:
- Tam metin yerine anlamı kontrol eden Semantik iddialar
- Bir modelin diğerinin çıktısını değerlendirdiği LLM dereceli değerlendirmeler
- Aynı istemi GPT-4, Claude ve diğerleri arasında test etmek için Çok modelli karşılaştırma
- Güvenlik açıklarını otomatik olarak araştıran Güvenlik eklentileri
Araç, makinenizde yerel olarak çalışır. Bulut özelliklerini seçmediğiniz sürece istemleriniz ve test verileriniz ortamınızdan asla ayrılmaz. Bu gizlilik odaklı tasarım, hassas verilerle test yapmak için uygun hale getirir.
Promptfoo'nun Çözdüğü Sorun
Çoğu ekip LLM uygulamalarını manuel olarak test eder. Birkaç istem gönderir, çıktıları okur ve her şeyin yolunda olup olmadığına karar verir. Bu yaklaşımın üç ölümcül kusuru vardır:
- Gerileme tespiti yok - Bir model güncellemesinin mevcut işlevselliği bozup bozmadığını anlayamazsınız.
- Kapsam boşlukları - Manuel testler kenar durumlarını ve düşmanca girdileri kaçırır.
- Metrik yok - İyileşmeyi takip edemez veya modelleri objektif olarak karşılaştıramazsınız.
Promptfoo bunu, her değişiklikte çalışan otomatik değerlendirmelerle değiştirir. Test senaryolarını bir kez tanımlar ve bunları herhangi bir modele karşı yürütürsünüz. Sonuçlar geçme/kalma oranlarını, maliyet karşılaştırmalarını ve gecikme metriklerini içerir.
Promptfoo'yu Kimler Kullanıyor?
Projenin 1,6 milyon npm indirmesi var ve 10 milyondan fazla son kullanıcıya hizmet veren LLM uygulamalarını destekliyor. Şirketler bunu şunlar için kullanıyor:
- Tutarlı, doğru yanıtlar gerektiren müşteri destek sohbet robotları
- Marka sesini koruması gereken içerik oluşturma boru hatları
- Sıkı uyumluluk gereksinimleri olan sağlık ve fintech uygulamaları
- Veri sızdıramayan veya zararlı girdileri kabul edemeyen güvenliğe duyarlı sistemler
Mart 2026'da Promptfoo, OpenAI'a katıldı. Proje, yeni sahiplik altında sürekli gelişimle açık kaynak ve MIT lisanslı kalmaya devam ediyor.
Başlarken: İlk Değerlendirmeyi Kurun ve Çalıştırın
Promptfoo'yu global olarak kurabilir veya npx kullanarak kurulum yapmadan çalıştırabilirsiniz.
Kurulum
# Global kurulum (önerilir)
npm install -g promptfoo
# Veya kurmadan çalıştırın
npx promptfoo@latest
# macOS kullanıcıları Homebrew'u da kullanabilir
brew install promptfoo
# Python kullanıcıları pip'i de kullanabilir
pip install promptfoo
API anahtarlarınızı ortam değişkenleri olarak ayarlayın:
export OPENAI_API_KEY=sk-abc123
export ANTHROPIC_API_KEY=sk-ant-xxx
İlk Değerlendirmenizi Oluşturun
Bir örnek proje başlatın:
promptfoo init --example getting-started
cd getting-started
Bu, örnek istemler, sağlayıcılar ve test senaryoları içeren bir promptfooconfig.yaml dosyası oluşturur.
Değerlendirmeyi çalıştırın:
promptfoo eval
Sonuçları web arayüzünde görüntüleyin:
promptfoo view
Arayüz, localhost:3000 adresinde açılır ve her modelin çıktılarının yan yana karşılaştırmasını, her bir iddia için geçme/kalma durumunu gösterir.
Yapılandırma Dosyasını Anlama
promptfooconfig.yaml dosyası değerlendirme paketinizi tanımlar:
description: "İlk Değerlendirme Paketi"
prompts:
- prompts/greeting.txt
- prompts/farewell.txt
providers:
- openai:gpt-4o
- anthropic:claude-sonnet-4-5
tests:
- vars:
input: "Merhaba"
assert:
- type: contains
value: "Selam"
- type: latency
threshold: 3000
- prompts: Test edilecek dosyalar veya satır içi metin
- providers: Değerlendirilecek modeller (90'dan fazla sağlayıcıyı destekler)
- tests: Değişkenler ve iddialar içeren test senaryoları
Bunu yüzlerce test senaryosuna ölçeklendirebilirsiniz. Birçok ekip değerlendirme yapılandırmalarını sürüm kontrolünde tutar ve her çekme isteğinde (pull request) CI'da çalıştırır.
Temel Özellikler: Promptfoo Neler Yapabilir?
1. Otomatik Değerlendirmeler
Otomatik değerlendirmeler promptfoo'nun temelini oluşturur. Beklenen sonuçlarla test senaryoları tanımlarsınız ve araç bunları seçtiğiniz modellere karşı çalıştırır.
İddia Türleri
Promptfoo, 30'dan fazla yerleşik iddia türü içerir:
| İddia | Amaç |
|---|---|
contains |
Çıktı bir alt dize içeriyor |
equals |
Tam dize eşleşmesi |
regex |
Bir regex desenine göre eşleşme |
json-schema |
JSON yapısını doğrula |
javascript |
Özel JS fonksiyonu geçme/kalma döndürür |
python |
Özel Python fonksiyonu |
llm-rubric |
Çıktıyı derecelendirmek için bir LLM kullan |
similar |
Semantik benzerlik puanı |
latency |
Gecikme eşiğin altında |
cost |
İstek başına maliyet eşiğin altında |
Birden fazla iddia içeren örnek:
tests:
- vars:
question: "Fransa'nın başkenti neresidir?"
assert:
- type: contains
value: "Paris"
- type: javascript
value: output.length < 100
- type: latency
threshold: 2000
- type: cost
threshold: 0.001
Bu test, yanıtın Paris'ten bahsettiğini, 100 karakterin altında kaldığını, 2 saniyeden kısa sürede yanıt verdiğini ve 0.001 dolardan az maliyetli olduğunu kontrol eder.
LLM Dereceli Değerlendirmeler
llm-rubric iddiası, bir LLM'yi diğerinin çıktısını derecelendirmek için kullanır. Bu, ton veya yardımseverlik gibi öznel kriterler için güçlüdür:
assert:
- type: llm-rubric
value: "Yanıt yardımcı, zararsız ve dürüst olmalı"
Derecelendirici LLM, çıktıyı okur ve derecelendirme rubriğinize göre puanlar. Maliyetleri düşürmek için derecelendirme için daha ucuz bir model kullanabilirsiniz.
2. Kırmızı Ekip ve Güvenlik Testleri
Promptfoo, kırmızı ekip modülü aracılığıyla kapsamlı güvenlik testleri içerir. Güvenlik açıklarını araştırmak için düşmanca girdileri otomatik olarak oluşturur.

Desteklenen Saldırı Vektörleri
Kırmızı ekip sistemi, kategoriye göre düzenlenmiş 67'den fazla eklenti içerir:
| Kategori | Neyi Test Eder |
|---|---|
| İstem Enjeksiyonu | Doğrudan, dolaylı ve bağlam enjeksiyon saldırıları |
| Jailbreak'ler | DAN, kişilik değiştirme, rol oynama bypass'ları |
| Veri Sızdırma | SSRF, sistem istemi çıkarma, istem sızıntısı |
| Zararlı İçerik | Nefret söylemi, tehlikeli etkinlikler, kendine zarar verme istekleri |
| Uyumluluk | PII sızıntısı, HIPAA ihlalleri, finansal veri ifşası |
| Ses/Görüntü | Ses enjeksiyonu ve görüntü tabanlı saldırılar |
Kırmızı Ekip Taraması Çalıştırma
Bir kırmızı ekip yapılandırması başlatın:
promptfoo redteam init
Güvenlik taramasını çalıştırın:
promptfoo redteam run
Raporu görüntüleyin:
promptfoo redteam report [dizin]
redteam run komutu iki adım gerçekleştirir:
- Uygulamanıza özel dinamik saldırı probları oluşturur.
- Hedefinize karşı probları değerlendirir ve güvenlik açıklarını puanlar.
Sonuçlar, ciddiyet derecelendirmelerini (Kritik, Yüksek, Orta, Düşük), istismar edilebilir test senaryolarını ve düzeltme önerilerini içerir.
Örnek Kırmızı Ekip Çıktısı
Güvenlik Açığı Özeti:
- Kritik: 2 (PII sızıntısı, istem çıkarma)
- Yüksek: 5 (jailbreak'ler, enjeksiyon saldırıları)
- Orta: 12 (önyargı, tutarsız yanıtlar)
- Düşük: 23 (küçük politika ihlalleri)
Dağıtımdan önce kritik sorunları düzeltin. Düzeltmeleri doğrulamak için değişikliklerden sonra taramaları yeniden çalıştırın.
3. Çekme İstekleri İçin Kod Taraması
Promptfoo, LLM ile ilgili güvenlik sorunları için çekme isteklerini taramak üzere GitHub Actions ile entegre olur.
# .github/workflows/promptfoo-scan.yml
name: Promptfoo Kod Taraması
on: [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/promptfoo/code-scan-action@main
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
Bu şunları yakalar:
- Yapılandırma dosyalarındaki sabit kodlu API anahtarları
- Güvenli olmayan istem desenleri
- Eksik girdi doğrulama
- Potansiyel istem enjeksiyonu vektörleri
4. Model Karşılaştırması
Kullanım durumunuz için en iyisini seçmek üzere birden fazla modelden gelen çıktıları yan yana karşılaştırın.
# Birden fazla sağlayıcıyla değerlendirmeyi çalıştırın
promptfoo eval
# Web arayüzünde karşılaştırmayı görüntüleyin
promptfoo view
Web arayüzü şunları gösterir:
- Model başına geçme/kalma oranları
- 1000 istek başına maliyet
- Ortalama gecikme
- Niteliksel çıktı farklılıkları
Bu veri odaklı yaklaşım, tanıdık modellere karşı önyargıyı önler. Daha ucuz bir modelin, belirli değerlendirmelerinizde GPT-4'ten daha iyi performans gösterdiğini fark edebilirsiniz.
Desteklenen Sağlayıcılar: 90+ LLM Entegrasyonu
Promptfoo, kutudan çıktığı haliyle 90'dan fazla LLM sağlayıcısını destekler. Kodunuzu değiştirmeden aynı istemi OpenAI, Anthropic, Google, Amazon ve yerel modeller arasında test edebilirsiniz.
Büyük Sağlayıcılar
| Sağlayıcı | Modeller |
|---|---|
| OpenAI | GPT-4, GPT-4o, GPT-4o-mini, o1, o3 |
| Anthropic | Claude 3.5/3.7/4.5/4.6, Düşünme modelleri |
| Gemini 1.5/2.0, Vertex AI | |
| Microsoft | Azure OpenAI, Phi |
| Amazon | Bedrock (Claude, Llama, Titan) |
| Meta | Llama 3, 3.1, 3.2 (birden fazla sağlayıcı aracılığıyla) |
| Ollama | Yerel modeller (Llama, Mistral, Phi) |
Özel Sağlayıcılar
Modeliniz desteklenmiyorsa Python veya JavaScript'te özel sağlayıcılar yazabilirsiniz.
Python örneği:
# 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 örneği:
// customProvider.js
export default class CustomProvider {
async callApi(prompt) {
return {
output: await myApi.generate(prompt),
tokenUsage: { total: 50, prompt: 20, completion: 30 }
};
}
}
Yapılandırmanızda özel sağlayıcıları kaydedin:
providers:
- id: file://custom_provider.py
config:
api_key: ${MY_API_KEY}
Komut Satırı Arayüzü: Temel Komutlar
Promptfoo'nun CLI'ı, günlük iş akışları için ihtiyacınız olan tüm işlevselliği sağlar.
Temel Komutlar
# Değerlendirmeleri çalıştır
promptfoo eval -c promptfooconfig.yaml
# Web arayüzünü aç
promptfoo view
# Sonuçları çevrimiçi paylaş
promptfoo share
# Kırmızı ekip testi
promptfoo redteam init
promptfoo redteam run
# Yapılandırma
promptfoo init
promptfoo validate [config]
# Sonuç yönetimi
promptfoo list
promptfoo show
promptfoo delete
promptfoo export
# Yardımcı Programlar
promptfoo cache clear
promptfoo retry
Kullanışlı Bayraklar
--no-cache # Yeni sonuçlar için önbelleği devre dışı bırak
--max-concurrency # Paralel API çağrılarını sınırla
--output # Sonuçları JSON dosyasına yaz
--verbose # Hata ayıklama günlüğünü etkinleştir
--env-file # Ortam değişkenlerini dosyadan yükle
--filter # Belirli test senaryolarını çalıştır
Örnek: Özel Ayarlarla Değerlendirme Çalıştırma
promptfoo eval \
-c promptfooconfig.yaml \
--no-cache \
--max-concurrency 3 \
--output results.json \
--env-file .env
Bu, değerlendirmeleri yeni (önbellek yok), eşzamanlılığı 3 paralel çağrı ile sınırlayarak, sonuçları JSON'a kaydeder ve API anahtarlarını .env dosyasından yükler.
CI/CD Entegrasyonu: LLM Testlerini Otomatikleştirin
Dağıtımdan önce gerilemeleri yakalamak için promptfoo'yu CI/CD hattınıza entegre edin.
GitHub Actions Örneği
name: LLM Testleri
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 }}
Kalite Kapıları
Yapılandırmanızda geçme/kalma eşiklerini ayarlayın:
commandLineOptions:
threshold: 0.8 # %80 geçme oranı gerektir
Bu, değerlendirmeler eşiği karşılamazsa CI'yi başarısız kılarak gerilemelerin birleşmesini önler.
CI'da Önbelleğe Alma
CI çalıştırmalarını hızlandırmak için önbelleğe almayı etkinleştirin:
- uses: actions/cache@v4
with:
path: ~/.cache/promptfoo
key: ${{ runner.os }}-promptfoo-${{ hashFiles('promptfooconfig.yaml') }}
Önbelleğe alınmış sonuçlar, değişmeyen testler için API çağrılarını atlar, CI süresini ve maliyetlerini azaltır.
Web Arayüzü: Sonuçları Görselleştirin ve Paylaşın
Yerleşik web arayüzü (promptfoo view), değerlendirmeleri gözden geçirmek için etkileşimli bir arayüz sağlar.
Özellikler
- Değerlendirme matrisi - Çıktıları yan yana karşılaştırın
- Filtreleme - Duruma veya sağlayıcıya göre belirli test senaryolarını bulun
- Fark görünümü - Çalıştırmalar arasındaki tam değişiklikleri görün
- Paylaşım - Ekip incelemesi için paylaşılabilir bağlantılar oluşturun
- Gerçek zamanlı güncellemeler - Değerlendirmelerin canlı olarak çalışmasını izleyin
Erişim ve Güvenlik
Arayüz varsayılan olarak localhost:3000 adresinde çalışır. Güvenilmeyen kaynaklardan gelen siteler arası istekleri engellemek için Sec-Fetch-Site ve Origin başlıklarını kullanarak CSRF koruması içerir.
Yerel web sunucusunu güvenilmeyen ağlara maruz bırakmayın. Ekip erişimi için, sonuçları buluta yüklemek üzere promptfoo share komutunu kullanın veya kimlik doğrulamasıyla kendi kendinize barındırın.
Veritabanı ve Önbelleğe Alma
Önbellek Konumu
- macOS/Linux:
~/.cache/promptfoo - Windows:
%LOCALAPPDATA%\promptfoo
Önbellek, tekrarlanan çalıştırmaları hızlandırmak için değerlendirme sonuçlarını saklar. Geliştirme sırasında yeni sonuçlar almak için --no-cache kullanın.
Veritabanı Konumu
- Tüm platformlar:
~/.promptfoo/promptfoo.db(SQLite)
Veritabanı, karşılaştırma ve trend analizi için geçmiş değerlendirme çalıştırmalarını saklar. Geçmiş verileri kaybetmek istemiyorsanız bu dosyayı silmeyin.
Güvenlik Modeli: Neye Güvenebilirsiniz?
Promptfoo, yapılandırma ile güven modeli üzerinde çalışır. Bunu anlamak, güvenlik sürprizlerini önler.
Güvenilen Girdiler (Kod Olarak İşlenenler)
Bu girdiler kod olarak yürütülür ve yalnızca güvenilen kaynaklardan gelmelidir:
- Yapılandırma dosyaları (
promptfooconfig.yaml) - Özel JavaScript/Python/Ruby iddiaları
- Sağlayıcı yapılandırmaları
- Dönüştürme fonksiyonları
Güvenilmeyen Girdiler (Sadece Veri)
Bu girdiler veri olarak işlenir ve kod yürütmeyi tetiklememelidir:
- İstem metni
- Test senaryosu değişkenleri
- Model çıktıları
- Değerlendirmeler sırasında getirilen uzaktaki içerik
Sağlamlaştırma Önerileri
Yüksek güvenlikli ortamlar için:
- Minimum ayrıcalıklarla bir konteyner veya VM içinde çalıştırın
- Özel, en az ayrıcalıklı API anahtarları kullanın
- İstemlere veya yapılandırma dosyalarına sırları yerleştirmekten kaçının
- Üçüncü taraf kod için ağ çıkışını kısıtlayın
- Yerel web sunucusunu güvenilmeyen ağlara maruz bırakmayın
Performans: Değerlendirmelerinizi Optimize Edin
Optimizasyon İpuçları
- Önbelleğe almayı kullanın - Varsayılan davranış tekrarlanan çalıştırmaları hızlandırır
- Eşzamanlılığı ayarlayın -
--max-concurrencyhız ile oran limitleri arasında denge kurar - Testleri filtreleyin - Geliştirme sırasında belirli test senaryolarını çalıştırmak için
--filterkullanın - Örnek veri kümeleri - Tam çalıştırmalardan önce yineleme için alt kümelerle
--repeatkullanın
Büyük Değerlendirmeler İçin Ölçeklendirme
Binlerce test senaryosu içeren büyük ölçekli değerlendirmeler için:
- Dağıtılmış çalıştırmalar için zamanlayıcıyı (
src/scheduler/) kullanın - Hesaplamayı boşaltmak için uzaktan üretimi kullanın
- Ekip görünürlüğü için sonuçları Google E-Tablolar'a aktarın
Genişletilebilirlik: Özel Özellikler Oluşturun
Özel İddialar
Alan özelindeki kontroller için özel iddialar yazın:
// assertions/customCheck.js
export default function customCheck(output, context) {
const pass = output.includes('beklenen');
return {
pass,
score: pass ? 1 : 0,
reason: pass ? 'Çıktı eşleşti' : 'Beklenen içerik eksik'
};
}
Yapılandırmanızda kullanın:
assert:
- type: file://assertions/customCheck.js
MCP Sunucusu
Promptfoo, Claude Code gibi yapay zeka asistanlarıyla entegrasyon için bir Model Bağlam Protokolü (MCP) sunucusu içerir:
promptfoo mcp
Bu, yapay zeka ajanlarının şunları yapmasını sağlar:
- Sohbetten doğrudan değerlendirmeler çalıştırma
- Kırmızı ekip yeteneklerine erişme
- Depolanan sonuçları sorgulama
- Yeni test senaryoları oluşturma
Gerçek Dünya Kullanım Durumları
Müşteri Destek Sohbet Robotu
Bir SaaS şirketi, her dağıtımdan önce destek sohbet robotlarını test etmek için promptfoo kullanıyor:
- Yaygın soruları kapsayan 500 test senaryosu
- Kaliteyi karşılaştırmak için GPT-4 ve Claude arasında değerlendirme
- PII sızıntısı ve jailbreak'ler için kırmızı ekip taramaları
- Başarısız değerlendirmelerle dağıtımları engelleyen CI entegrasyonu
Sonuç: Otomatik değerlendirmeleri uygulandıktan sonra müşteri tarafından bildirilen sorunlarda %90 azalma.
İçerik Oluşturma Boru Hattı
Bir pazarlama ekibi, marka sesi için yapay zeka tarafından oluşturulan içeriği doğrular:
- LLM dereceli değerlendirmeler ton ve stili kontrol eder
- Gecikme eşikleri hızlı üretimi sağlar
- Maliyet izleme giderleri kontrol altında tutar
- Model karşılaştırması en iyi değerli sağlayıcıyı bulur
Sonuç: Tüm içerikte tutarlı marka sesi ve %40 daha düşük API maliyetleri.
Sağlık Uygulaması
Bir sağlık teknolojisi girişimi, sıkı testlerle uyumluluğu sağlar:
- HIPAA ihlalleri için kırmızı ekip taramaları
- Özel iddialar tıbbi doğruluğu doğrular
- Tüm değerlendirmeler veri gizliliği için yerel olarak çalışır
- Yasal gereksinimler için denetim izleri
Sonuç: Promptfoo değerlendirmeleri kanıt olarak SOC 2 denetimini geçti.
Sonuç
Promptfoo, LLM uygulamalarına sistematik testler getirir. Manuel, hataya açık süreçleri, dağıtımdan önce gerilemeleri, güvenlik sorunlarını ve kalite sorunlarını yakalayan otomatik değerlendirmelerle değiştirir.
Temel çıkarımlar:
npm install -g promptfooile kurun vepromptfoo initile başlayın- Çıktıları tam dize eşleşmesinin ötesinde doğrulamak için iddialar kullanın
- Güvenlik açıklarını bulmak için kırmızı ekip taramaları çalıştırın
- Gerilemeleri engellemek için CI/CD ile entegre edin
- Yan yana değerlendirmelerle modelleri objektif olarak karşılaştırın
- Özel sağlayıcılar ve iddialar işlevselliği genişletir
Yapay zeka geliştirmenin geleceği veri odaklıdır. Promptfoo ile, LLM uygulamalarını büyük ölçekte oluşturma, test etme ve güvence altına alma araçlarına sahipsiniz.
API'lerle de çalışıyorsanız, promptfoo'nun yanı sıra Apidog'u kullanmayı düşünün. Apidog API tasarımı, testi ve dokümantasyonunu ele alırken, promptfoo LLM değerlendirmesine odaklanır. Birlikte, modern uygulama testinin tüm yığınını kapsarlar.
SSS
Promptfoo ne için kullanılır?
Promptfoo, LLM uygulamalarını test etmek ve değerlendirmek için kullanılır. İstemlere karşı otomatik testler çalıştırır, modeller arasında çıktıları karşılaştırır ve güvenlik açıklarını bulmak için güvenlik kırmızı ekip değerlendirmeleri yapar.
Promptfoo ücretsiz mi?
Evet, promptfoo açık kaynaklı ve MIT lisanslıdır. Kişisel ve ticari projeler için ücretsiz olarak kullanabilirsiniz. Bulut özellikleri ve kurumsal destek ücretli planlar gerektirebilir.
Promptfoo'yu nasıl kurarım?
Global kurulum için npm install -g promptfoo çalıştırın. Kurulum yapmadan npx promptfoo@latest de kullanabilir veya macOS'ta brew install promptfoo ya da Python için pip install promptfoo ile kurabilirsiniz.
Promptfoo hangi modelleri destekler?
Promptfoo, OpenAI (GPT-4, GPT-4o, o1), Anthropic (Claude 3.5/4/4.5), Google (Gemini), Microsoft (Azure OpenAI), Amazon Bedrock ve Ollama aracılığıyla yerel modeller dahil 90'dan fazla LLM sağlayıcısını destekler.
Kırmızı ekip taramasını nasıl çalıştırırım?
Bir yapılandırma oluşturmak için promptfoo redteam init, ardından güvenlik taramasını yürütmek için promptfoo redteam run komutunu çalıştırın. Sonuçları promptfoo redteam report ile görüntüleyin.
Promptfoo'yu CI/CD'de kullanabilir miyim?
Evet. CI hattınıza promptfoo'yu kurun ve yapılandırma dosyanızla promptfoo eval çalıştırın. Değerlendirmeler geçme oranlarını karşılamazsa CI'yi başarısız kılmak için threshold seçeneğiyle kalite kapıları ayarlayın.
Promptfoo verilerimi harici sunuculara gönderiyor mu?
Hayır. Promptfoo varsayılan olarak %100 yerel olarak çalışır. Bulut özelliklerini açıkça seçmediğiniz sürece istemleriniz ve test verileriniz makinenizden asla ayrılmaz. Önbellek ve veritabanı dosyaları yerel olarak saklanır.
Promptfoo ile modelleri nasıl karşılaştırırım?
Yapılandırma dosyanızda birden fazla sağlayıcıyı listeleyin, ardından promptfoo eval çalıştırın. Her model için geçme/kalma oranlarını, maliyetleri ve gecikmeyi gösteren web arayüzündeki karşılaştırmayı promptfoo view ile görüntüleyin.
