Pular para o conteúdo

Testes A/B

Visao Geral

Os Testes A/B permitem rotear uma porcentagem do seu trafego para diferentes variantes de modelo ou prompt e comparar o desempenho com dados reais de producao. Em vez de adivinhar qual configuracao funciona melhor, voce roda um teste controlado e deixa os resultados guiarem sua decisao.

Configurando um Teste

  1. Va em A/B Testing no dashboard e clique em Create Test.
  2. Defina suas variantes. Cada variante especifica um modelo, provedor e opcionalmente uma versao de prompt.
  3. Defina a divisao de trafego — a porcentagem de requisicoes roteadas para cada variante. Por exemplo, 80% para sua configuracao atual e 20% para o desafiante.
  4. Salve e ative o teste.

Uma vez ativo, o gateway roteia automaticamente as requisicoes recebidas de acordo com a divisao configurada. O roteamento e consistente por sessao ou usuario (dependendo da sua configuracao) para que usuarios individuais tenham uma experiencia coerente.

Acompanhando o Desempenho

O dashboard de Testes A/B mostra metricas em tempo real para cada variante:

  • Latencia — tempos de resposta medios e por percentil.
  • Custo — custo medio por requisicao e gasto total.
  • Uso de tokens — tokens de entrada e saida por requisicao.
  • Pontuacoes de feedback — se voce coleta feedback, as pontuacoes sao detalhadas por variante.
  • Taxa de erro — porcentagem de requisicoes com falha por variante.

Use essas metricas para determinar qual variante entrega o melhor equilibrio de qualidade, custo e velocidade.

Aplicando um Vencedor

Quando voce tiver dados suficientes para tomar uma decisao, clique em Apply Winner na variante que deseja manter. Isso atualiza sua configuracao de roteamento para enviar 100% do trafego para a variante vencedora e desativa o teste.

Os resultados de testes anteriores sao preservados no dashboard para referencia futura.

Smart Selectors

Os Smart Selectors vao alem de divisoes simples por porcentagem. Eles permitem definir regras de roteamento baseadas nas propriedades da requisicao:

  • Roteamento por conteudo — roteie requisicoes contendo certas palavras-chave ou topicos para um modelo especifico. Por exemplo, envie prompts sensiveis a seguranca para um modelo com guardrails mais fortes.
  • Roteamento por custo — roteie prompts curtos e simples para um modelo mais barato e prompts complexos para um mais capaz.
  • Roteamento por usuario — roteie segmentos especificos de usuarios para diferentes variantes.

Os Smart Selectors podem ser combinados com divisoes baseadas em porcentagem para estrategias de roteamento hibridas.

Boas Praticas

  • Teste uma variavel por vez. Mudar o modelo e o prompt simultaneamente torna dificil atribuir as diferencas.
  • Rode os testes tempo suficiente. Algumas horas de dados raramente sao suficientes. Rode os testes por pelo menos alguns dias para considerar variacoes nos padroes de trafego.
  • Comece com uma divisao pequena. Roteie 10-20% do trafego para a variante desafiante para limitar o risco enquanto coleta dados.
  • Use feedback. Metricas automatizadas como latencia e custo sao uteis, mas o feedback dos usuarios fornece o sinal mais forte sobre a qualidade da saida.
  • Revise casos extremos. Antes de aplicar um vencedor, revise manualmente uma amostra de respostas de cada variante para detectar problemas de qualidade que as metricas podem nao captar.

Usando Testes A/B e Smart Selectors via Headers

Em vez de depender apenas do roteamento configurado no dashboard, voce pode direcionar uma requisicao especifica para um teste A/B ou Smart Selector passando o header apropriado.

HeaderDescricao
floopy-ab-testO UUID do teste A/B a ser usado para rotear esta requisicao
floopy-smart-selectO ID do Smart Selector a ser usado para rotear esta requisicao

Voce pode encontrar os IDs de teste e selector na secao de A/B Testing do dashboard.

import { OpenAI } from "openai";
const client = new OpenAI({
baseURL: "https://api.floopy.ai/v1",
apiKey: process.env.FLOOPY_API_KEY,
});
// Route through an A/B test
const response = await client.chat.completions.create(
{
model: "gpt-4o",
messages: [{ role: "user", content: "Explain relativity simply." }],
},
{
headers: {
"floopy-ab-test": "8a10573a-8e06-4bb0-8c1d-38c973350253",
},
},
);
// Route through a Smart Selector
const response2 = await client.chat.completions.create(
{
model: "gpt-4o",
messages: [{ role: "user", content: "Translate this to French." }],
},
{
headers: {
"floopy-smart-select": "selector_cost-optimizer",
},
},
);
console.log(response.choices[0].message.content);

Requisitos de Plano

RecursoRecurso do Plano Necessario
Testes A/Bhas_test_ab
Smart Selectorshas_smart_selector

Verifique seu plano atual em Settings > Billing para ver quais recursos estao disponiveis para sua organizacao.