UNPKG

mongodb-rag-core

Version:

Common elements used by MongoDB Chatbot Framework components.

41 lines 1.63 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getConversationEvalCasesFromBraintrust = void 0; const getConversationEvalCasesFromYaml_1 = require("./getConversationEvalCasesFromYaml"); const braintrust_1 = require("../braintrust"); const zod_1 = require("zod"); // Schema of dataset stored in Braintrust. const ConversationDatasetEntrySchema = zod_1.z.object({ input: getConversationEvalCasesFromYaml_1.ConversationEvalCaseSchema.pick({ name: true, messages: true, }).partial({ name: true }), expected: getConversationEvalCasesFromYaml_1.ConversationEvalCaseSchema.pick({ expectation: true, reject: true, expectedLinks: true, reference: true, }), metadata: zod_1.z.object({ tags: zod_1.z.array(zod_1.z.string()).optional(), author: zod_1.z.string().optional(), }), created: zod_1.z.string().optional(), }); async function getConversationEvalCasesFromBraintrust({ projectName, datasetName, }) { const datasetRows = await (0, braintrust_1.getDatasetFromBraintrust)({ projectName, datasetName, datasetRowSchema: ConversationDatasetEntrySchema, }); return datasetRows.map((evalData) => { return { ...evalData.input, ...evalData.expected, name: evalData.input?.name ?? evalData.input.messages[0].content, tags: evalData.metadata.tags, }; }); } exports.getConversationEvalCasesFromBraintrust = getConversationEvalCasesFromBraintrust; //# sourceMappingURL=getConversationEvalCasesFromBraintrust.js.map