UNPKG

@arizeai/phoenix-evals

Version:

A library for running evaluations for AI use cases

30 lines 1.01 kB
import { generateObject } from "ai"; import { z } from "zod"; import { tracer } from "../telemetry/index.js"; /** * A function that leverages an llm to perform a classification */ export async function generateClassification(args) { const { labels, model, schemaName, schemaDescription, telemetry, ...prompt } = args; const experimental_telemetry = { isEnabled: telemetry?.isEnabled ?? true, functionId: "generateClassification", tracer: telemetry?.tracer ?? tracer, }; const result = await generateObject({ model, schemaName, schemaDescription, schema: z.object({ explanation: z.string(), // We place the explanation in hopes it uses reasoning to explain the label. label: z.enum(labels), }), experimental_telemetry, ...prompt, }); return { label: result.object.label, explanation: result.object.explanation, }; } //# sourceMappingURL=generateClassification.js.map