MCPcopy Create free account
hub / github.com/codefuse-ai/codefuse-devops-eval / ToolEvalution

Class ToolEvalution

src/evals/base_evalution.py:7–42  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5
6
7class ToolEvalution:
8 def __init__(
9 self,
10 model: ToolModel,
11 dataset: ToolFillDataset,
12 base_prompt: str = '',
13 generate_configs: GenerateConfigs = None,
14 ):
15 self.model = model
16 self.dataset = dataset
17 self.base_prompt = base_prompt
18 self.generate_configs = generate_configs
19
20 if not isinstance(model, ToolModel):
21 raise BaseException(f"must be ToolModel Class! not {model}")
22
23 def calc(self):
24 '''开始计算结果'''
25 self.predicts = []
26 for idx, data in enumerate(self.dataset):
27 # if idx >= 5: break
28 prompt = self.base_prompt.format(**data)
29 answer = data["api_param"]
30 predict = self.generate(prompt, self.generate_configs)
31 self.predicts.append({"prompt": prompt, "predict": predict, "answer": answer})
32
33 metric = self.eval_metric(self.predicts)
34 return metric
35
36 def generate(self, prompt, generate_configs):
37 '''返回结果'''
38 return self.model.generate(prompt, generate_configs)
39
40 def eval_metric(self, datas):
41 '''calc custom metric'''
42 pass
43

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected