Introdução geral
O promptfoo é uma ferramenta de linha de comando de código aberto e uma biblioteca dedicada à avaliação e ao teste de equipe vermelha de aplicativos do Large Language Model (LLM). Ele fornece aos desenvolvedores um conjunto completo de ferramentas para criar prompts, modelos e geração baseada em recuperação (RAGs) confiáveis e proteger aplicativos por meio de testes automatizados de equipe vermelha e testes de penetração, A ferramenta foi projetada para ajudar os desenvolvedores a iterar e melhorar rapidamente o desempenho de seus modelos de linguagem por meio de uma abordagem de desenvolvimento orientada por testes.
Lista de funções
- Testes automatizados da equipe vermelhaExecute varreduras personalizadas para detectar riscos de segurança, legais e de marca.
- avaliação da qualidadeCrie dicas e modelos confiáveis por meio de benchmarking específico para cada caso de uso.
- Concorrência e armazenamento em cacheAcelere o processo de avaliação com o suporte ao recarregamento em tempo real.
- interface de linha de comandoNão são necessários SDKs, dependências de nuvem ou logins para começar a usar rapidamente.
- Suporte à comunidade de código abertoSuporte de uma comunidade ativa de código aberto para milhões de usuários em ambientes de produção.
- Relatórios de vulnerabilidade e risco de alto nívelGeração de relatórios detalhados de vulnerabilidade e risco para ajudar os desenvolvedores a identificar e corrigir problemas.
- Suporte a vários idiomasSuporte para Python, Javascript e outras linguagens de programação.
- Operação privatizadaTodas as avaliações são executadas em computadores locais para garantir a privacidade dos dados.
Usando a Ajuda
Processo de instalação
- Instalação de ferramentas de linha de comando::
npm install -g promptfoo
- Projeto de inicialização::
npx promptfoo@latest init
- Configuração de casos de teste: Aberto
promptfooconfig.yaml
adicione os prompts e as variáveis que deseja testar. Exemplo:
alvos.
- id: 'example'
config.
method: 'POST'
cabeçalhos: 'Content-Type: application/json'
body: userInput: '{{prompt}}'
userInput: '{{prompt}}'
Diretrizes para uso
- Definição de casos de testeIdentificação dos principais casos de uso e modos de falha e preparação de um conjunto de prompts e casos de teste que representem esses cenários.
- Avaliação da configuraçãoConfigure avaliações especificando prompts, casos de teste e provedores de API.
- Avaliação operacionalExecute a avaliação usando uma ferramenta ou biblioteca de linha de comando e registre a saída do modelo para cada prompt.
avaliação do promptfoo
- análiseConfigure os requisitos de automação ou visualize os resultados em um formato estruturado/UI da Web. Use esses resultados para selecionar o modelo e os prompts que melhor se adaptam ao seu caso de uso.
- loop de feedbackContinue a expandir seus casos de teste à medida que obtém mais exemplos e feedback dos usuários.
Procedimento de operação detalhado
- Teste da equipe vermelha::
- Execute varreduras personalizadas para detectar vulnerabilidades de segurança comuns, como vazamentos de PII, uso inseguro de ferramentas, vazamentos de dados entre sessões, injeções diretas e indiretas de prompt e muito mais.
- Use o seguinte comando para iniciar o teste da equipe vermelha:
bash
npx promptfoo@latest redteam init
- avaliação da qualidade::
- Crie dicas e modelos confiáveis por meio de benchmarking específico para casos de uso.
- Use o seguinte comando para executar a avaliação de qualidade:
bash
promptfoo evaluate --config promptfooconfig.yaml