Volver a la wiki

Handler CF Workers: ai-eval/run — Endpoint de evaluación multi-provider

Handler CF Workers: ai-eval/run

Identificación

CampoValor
Rutafunctions/api/tools/ai-eval/run.ts
TipoCloudflare Pages Function (handler HTTP)
MétodoPOST /api/tools/ai-eval/run
AutenticaciónAPI keys por provider, enviadas en el body (cliente)
RuntimeCloudflare Workers (edge)

Schemas principales

Candidate

interface Candidate {
  provider: 'gemini' | 'anthropic' | 'openai' | 'openrouter';
  model: string;    // ej: 'claude-haiku-4-5', 'gpt-5.4-mini'
  label?: string;
}

EvalCase

interface EvalCase {
  id: string;
  prompt: string;
  system_instruction?: string;
  temperature?: number;
  max_tokens?: number;
  response_json?: boolean;
  image_b64?: string;           // Imagen PNG en base64 para vision
}

CellResult

interface CellResult {
  answer: string;
  latency_ms: number;
  tokens_in?: number;
  tokens_out?: number;
  error?: string;
}

RunBody (request body)

interface RunBody {
  candidates: Candidate[];
  cases: EvalCase[];
  api_keys: {
    gemini?: string;
    anthropic?: string;
    openai?: string;
    openrouter?: string;
  };
  notes?: string;
}

Funciones de provider

FunciónProviderAPI BaseAuth
callGeminiGoogle AIgenerativelanguage.googleapis.comquery param key
callAnthropicAnthropicapi.anthropic.com/v1/messagesheader x-api-key
callOpenAIOpenAIapi.openai.com/v1/chat/completionsAuthorization: Bearer
callOpenRouterOpenRouteropenrouter.ai/api/v1/chat/completionsAuthorization: Bearer

callAnthropic — detalles

callOpenAI — detalles


Enrutador runCell

async function runCell(c, ec, keys): Promise<CellResult>

Guard explícito por provider: si la key correspondiente está ausente, devuelve error inmediato sin llamada de red. El fall-through devuelve error: 'Provider desconocido: <x>'.


Historial de cambios relevantes

CommitFechaCambio
3ad21cc2026-04-27Añade callAnthropic y callOpenAI; extiende Candidate.provider y RunBody.api_keys

Véase también

Subir