Esquema de entrada de avaliação do agente
Prévia
Esse recurso está em Pré-lançamento público.
Este artigo explica o esquema de entrada exigido pela Avaliação de agentes para avaliar a qualidade, o custo e a latência do seu aplicativo.
Durante o desenvolvimento, a avaliação ocorre off-line e um conjunto de avaliação é uma entrada necessária para a Avaliação do Agente.
Quando um aplicativo está em produção, todas as entradas para a Avaliação de agentes vêm das tabelas de inferência ou dos logs de produção.
O esquema de entrada é idêntico para avaliações on-line e off-line.
Para obter informações gerais sobre conjuntos de avaliação, consulte Conjuntos de avaliação.
Esquema de entrada de avaliação
A tabela a seguir mostra o esquema de entrada da Avaliação do Agente.
Coluna |
Tipo de dados |
Descrição |
Aplicativo passado como argumento de entrada |
Saídas geradas fornecidas anteriormente |
---|---|---|---|---|
request_id |
string |
Identificador único da solicitação. |
Opcional |
Opcional |
solicitação |
Consulte Esquema para solicitação. |
Entrada para o aplicativo para avaliar a pergunta ou consulta do usuário. Por exemplo, “O que é RAG?” |
Obrigatório |
Obrigatório |
expected_retrieved_context |
matriz |
Matriz de objetos que contém o contexto recuperado esperado para a solicitação (se o aplicativo incluir um passo de recuperação). Esquema de matriz |
Opcional |
Opcional |
expected_response |
string |
Resposta verdadeira (correta) para a solicitação de entrada. Consulte as diretrizes de expected_response. |
Opcional |
Opcional |
resposta |
string |
Resposta gerada pelo aplicativo que está sendo avaliado. |
Gerado pela avaliação do agente |
Opcional. Se não for fornecido, será derivado do Trace. É necessário |
retrieved_context |
matriz |
Resultados de recuperação gerados pelo recuperador no aplicativo que está sendo avaliado. Se houver vários passos de recuperação no aplicativo, este será o resultado da recuperação do último passo (cronologicamente no rastreamento). Esquema de matriz |
Gerado pela avaliação do agente |
Opcional. Se não for fornecido, será derivado do rastreamento fornecido. |
trace |
Cadeia de caracteres JSON do MLflow Trace |
MLflow Trace da execução do aplicativo na solicitação correspondente. |
Gerado pela avaliação do agente |
Opcional. É necessário |
expected_response
diretrizes
A verdade básica expected_response
deve incluir apenas o conjunto mínimo de fatos necessários para uma resposta correta. Se você copiar uma resposta de outra fonte, certifique-se de editá-la para remover qualquer texto que não seja necessário para que uma resposta seja considerada correta.
Incluir apenas as informações necessárias e deixar de fora as informações que não são estritamente necessárias na resposta permite que a Avaliação de agentes forneça um sinal mais robusto sobre a qualidade do resultado.
Esquema para solicitação
O esquema de solicitação pode ser um dos seguintes:
Uma corda simples. Esse formato suporta apenas conversas em um único turno.
Um campo
messages
que segue o esquema de conclusão de bate-papo do OpenAI e pode codificar a conversa completa.Um campo de cadeias de caracteres
query
para a solicitação mais recente e um campo opcionalhistory
que codifica os turnos anteriores da conversa.
Para aplicativos de bate-papo com várias voltas, use a segunda ou terceira opção acima.
O exemplo a seguir mostra todas as três opções na mesma coluna request
da avaliação dataset:
import pandas as pd
data = {
"request": [
# Plain string
"What is the difference between reduceByKey and groupByKey in Spark?",
# Using the `messages` field for a single- or multi-turn chat
{
"messages": [
{
"role": "user",
"content": "How can you minimize data shuffling in Spark?"
}
]
},
# Using the query and history fields for a single- or multi-turn chat
{
"query": "Explain broadcast variables in Spark. How do they enhance performance?",
"history": [
{
"role": "user",
"content": "What are broadcast variables?"
},
{
"role": "assistant",
"content": "Broadcast variables allow the programmer to keep a read-only variable cached on each machine."
}
]
}
],
"expected_response": [
"expected response for first question",
"expected response for second question",
"expected response for third question"
]
}
eval_dataset = pd.DataFrame(data)
Esquema para matrizes na entrada de avaliação
O esquema das matrizes expected_retrieved_context
e retrieved_context
é apresentado na tabela a seguir:
Coluna |
Tipo de dados |
Descrição |
Aplicativo passado como argumento de entrada |
Saídas geradas fornecidas anteriormente |
---|---|---|---|---|
conteúdo |
string |
Conteúdo do contexto recuperado. Cadeia de caracteres em qualquer formato, como HTML, texto sem formatação ou Markdown. |
Opcional |
Opcional |
doc_uri |
string |
Identificador exclusivo (URI) do documento pai de onde veio a parte. |
Obrigatório |
Obrigatório |
computar métricas
As colunas da tabela a seguir indicam os dados incluídos na entrada e ✓
indica que as métricas são compatíveis quando esses dados são fornecidos.
Para obter detalhes sobre o que essas métricas medem, consulte Como a qualidade, o custo e a latência são avaliados pela Avaliação de agentes.
Métricas calculadas |
|
|
|
---|---|---|---|
|
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
|
✓ |
✓ |
|
|
✓ |
✓ |
|
|
✓ |