Skip to main content
Glama
Arize-ai

@arizeai/phoenix-mcp

Official
by Arize-ai
create_evaluator_example.ts1.81 kB
/* eslint-disable no-console */ import { createEvaluator } from "../src/helpers/createEvaluator"; /** * Example demonstrating how to use CreateEvaluator to create custom evaluators * from any function. */ async function main() { // Example 1: Simple accuracy evaluator (sync function returning a number) console.log("\n=== Example 1: Accuracy Evaluator ==="); const accuracyEvaluator = createEvaluator( ({ output, expected }: { output: string; expected: string }) => { return output === expected ? 1 : 0; }, { name: "accuracy", kind: "CODE", optimizationDirection: "MAXIMIZE", } ); const result1 = await accuracyEvaluator.evaluate({ output: "correct answer", expected: "correct answer", }); console.log("Match:", result1); // { score: 1 } const result2 = await accuracyEvaluator.evaluate({ output: "wrong answer", expected: "correct answer", }); console.log("Mismatch:", result2); // { score: 0 } console.log("\n=== Example 2: Quality Evaluator ==="); const qualityEvaluator = createEvaluator( ({ output }: { output: string }) => { const score = output.length > 50 ? 0.9 : output.length > 20 ? 0.7 : 0.4; return { score, label: score > 0.8 ? "high" : score > 0.5 ? "medium" : "low", explanation: `Output length: ${output.length} characters`, }; }, { name: "quality", optimizationDirection: "MAXIMIZE", } ); const qualityResult = await qualityEvaluator.evaluate({ output: "This is a very long output that exceeds fifty characters and should receive a high quality score.", }); console.log("Quality result:", qualityResult); // { score: 0.9, label: "high", explanation: "Output length: 95 characters" } } main().catch(console.error);

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Arize-ai/phoenix'

If you have feedback or need assistance with the MCP directory API, please join our Discord server