Інтеграція Promptfoo для автоматичного тестування промптів

Проектуємо та впроваджуємо системи штучного інтелекту: від прототипу до production-ready рішення. Наша команда поєднує експертизу в машинному навчанні, дата-інжинірингу та MLOps, щоб AI працював не в лабораторії, а в реальному бізнесі.
Показано 1 з 1Усі 1566 послуг
Інтеграція Promptfoo для автоматичного тестування промптів
Простий
від 4 годин до 2 днів
Часті запитання

Напрямки AI-розробки

Етапи розробки AI-рішення

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1285
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1198
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    902
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1121
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    589
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    857

Інтеграція Promptfoo для автоматичного тестування промптів

Promptfoo – open-source CLI та бібліотека для тестування LLM промптів. Дозволяє запускати той самий набір тест-кейсів проти різних моделей і промптів, автоматично порівнювати результати та інтегрувати в CI/CD.

Встановлення та конфігурація

npm install -g promptfoo
# или
pip install promptfoo

promptfooconfig.yaml:

providers:
  - openai:gpt-4o
  - openai:gpt-4o-mini
  - anthropic:claude-3-5-sonnet-20241022

prompts:
  - "Summarize the following text in 3 sentences: {{text}}"
  - "Create a concise 3-sentence summary of: {{text}}"

tests:
  - vars:
      text: "Long article about machine learning..."
    assert:
      - type: contains
        value: "machine learning"
      - type: llm-rubric
        value: "The summary is accurate and covers the main points"
      - type: javascript
        value: "output.split('.').length >= 3"  # Минимум 3 предложения

  - vars:
      text: "Another test document..."
    assert:
      - type: not-contains
        value: "I cannot"  # Модель не должна отказываться
      - type: rouge-n
        value: reference_summary
        threshold: 0.5

Запуск тестів

# Запуск evaluation
promptfoo eval

# Просмотр результатов
promptfoo view

# CI mode (exit code 1 при неудаче)
promptfoo eval --ci

Інтеграція в Python код

import promptfoo

results = promptfoo.evaluate({
    "prompts": ["Classify sentiment: {{text}}"],
    "providers": ["openai:gpt-4o-mini"],
    "tests": [
        {
            "vars": {"text": "Great product!"},
            "assert": [{"type": "contains", "value": "positive"}]
        }
    ]
})

print(f"Pass rate: {results.stats.successes}/{results.stats.total}")

Promptfoo дозволяє за 1-2 дні створити regression test suite для всіх промптів програми та запускати його в GitHub Actions при кожному PR, запобігаючи випадковим деградаціям якості.