@arizeai/phoenix-evals
Version:
A library for running evaluations for AI use cases
30 lines • 1.01 kB
JavaScript
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