O Python é executado no serviço de sandbox.
Não passe chaves de API ou credenciais de provedores para o código do avaliador.
Use
ctx.responses_create e ctx.embeddings_create para pontuação baseada em modelo.
Declaração do avaliador
Use código-fonte embutido para avaliadores curtos:
Forneça
source ou file_id.
Contrato de amostra
Avaliadores de amostra definem:ctx:
sample descreve a saída do modelo:
item contém a linha do conjunto de dados, além de campos de conveniência:
Retornar uma única pontuação
Retorne um float finito quando a tarefa tiver uma métrica. O MKA1 o armazena emmetric_id.
metric_id for omitido, a chave de pontuação será score.
Retornar várias pontuações
Retorne um dict com um objetoscores quando a tarefa tiver várias métricas.
scores.
O objeto opcional judge é preservado na amostra para depuração e painéis.
Resultados inválidos
Os seguintes resultados se tornam inválidos e recebem pontuação zero:- Exceções.
- Floats não finitos, como
NaNouInfinity. - Retornos booleanos.
- Strings ou outros retornos que não sejam dict nem número.
- Dicts sem qualquer pontuação numérica finita.
judge da amostra inclui a carga útil inválida bruta e os detalhes do erro.
Contrato de lote
Avaliadores de lote definem:
Se uma tarefa declarar
metrics, IDs de métricas de lote inesperados serão removidos dos agregados finais.
Isso protege os painéis contra desvios acidentais de métricas.
Avaliadores baseados em modelo
Usecontract: "model_backed" quando o Python precisar de chamadas de modelo ou embedding.
O código Python solicita uma chamada de ferramenta.
O Gateway realiza a chamada com o contexto autenticado da execução e retorna o resultado ao sandbox.
judge_model e embedding_model quando o avaliador usar model="auto":
model="auto" ou omitir model, o MKA1 usará o judge_model ou embedding_model da execução.
LLM como juiz
ctx.responses_create aceita o mesmo formato de solicitação da API de Responses do MKA1, exceto que o sistema de avaliações força stream=false, store=true e background=false.
As respostas do juiz são armazenadas e podem ser auditadas como o tráfego normal de Responses.
Similaridade de embedding
ctx.embeddings_create é roteado pela API de Embeddings do MKA1.
O uso é registrado no contexto autenticado da execução.
Pré-processadores Python
Pré-processadores não são avaliadores, mas usam o mesmo modelo de execução em sandbox e regras de carregamento de arquivos. Eles são executados antes da renderização do prompt. Pré-processador de linha:Receitas de pontuação comuns
Correspondência exata
Correspondência exata sem distinção entre maiúsculas e minúsculas
Tolerância numérica
F1 de tokens
F1 macro com grade_batch
Depuração de avaliadores
Use primeiro os detalhes da amostra:curl
Correções comuns:
Modelo de segurança
Avaliadores e pré-processadores Python são executados no serviço de sandbox. Eles são destinados à lógica de avaliação, não a fluxos de trabalho arbitrários de aplicações. Tenha estas regras em mente:- Não coloque segredos no código-fonte do avaliador, nas linhas do conjunto de dados ou nos metadados.
- Não espere credenciais de rede brutas dentro do Python.
- Use
ctx.responses_createectx.embeddings_createpara chamadas de modelo. - Mantenha os arquivos Python enviados restritos à equipe proprietária da suíte.
- Prefira arquivos de avaliador enviados para lógica reutilizável, para que as versões da suíte acompanhem claramente suas dependências.
response_ids candidatos e cargas úteis judge do avaliador, para que você possa auditar como as pontuações foram produzidas.