-
Notifications
You must be signed in to change notification settings - Fork 69
/
Copy pathskillsQuestionsTest.eval.ts
58 lines (55 loc) · 1.76 KB
/
skillsQuestionsTest.eval.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import "dotenv/config";
import { getConversationsEvalCasesFromYaml } from "mongodb-rag-core/eval";
import {
JUDGE_EMBEDDING_MODEL,
JUDGE_LLM,
OPENAI_API_KEY,
OPENAI_API_VERSION,
OPENAI_ENDPOINT,
} from "../evalHelpers";
import fs from "fs";
import path from "path";
import { makeConversationEval } from "../ConversationEval";
import { systemPrompt } from "../../systemPrompt";
import { config, conversations } from "../../config";
async function conversationEval() {
// Get dotcom question set eval cases from YAML
const basePath = path.resolve(__dirname, "..", "..", "..", "evalCases");
const conversationEvalCases = getConversationsEvalCasesFromYaml(
fs.readFileSync(
path.resolve(basePath, "uni_skills_evaluation_questions.yml"),
"utf8"
)
);
const generateConfig = {
systemPrompt,
llm: config.conversationsRouterConfig.llm,
llmNotWorkingMessage: conversations.conversationConstants.LLM_NOT_WORKING,
noRelevantContentMessage:
conversations.conversationConstants.NO_RELEVANT_CONTENT,
filterPreviousMessages:
config.conversationsRouterConfig.filterPreviousMessages,
generateUserPrompt: config.conversationsRouterConfig.generateUserPrompt,
};
// Run the conversation eval
makeConversationEval({
projectName: "mongodb-chatbot-conversations",
experimentName: "mongodb-chatbot-skills-questions",
metadata: {
description: "Skills question set evals",
},
maxConcurrency: 5,
conversationEvalCases,
judgeModelConfig: {
model: JUDGE_LLM,
embeddingModel: JUDGE_EMBEDDING_MODEL,
azureOpenAi: {
apiKey: OPENAI_API_KEY,
endpoint: OPENAI_ENDPOINT,
apiVersion: OPENAI_API_VERSION,
},
},
generate: generateConfig,
});
}
conversationEval();