@@ -17,6 +17,8 @@ import {
17
17
EvaluationResult ,
18
18
BatchEvaluateOptions ,
19
19
} from "@/types/evaluator" ;
20
+ import { LLMParsedResponse } from "@/lib/inference" ;
21
+ import { LLMResponse } from "@/lib/llm/LLMClient" ;
20
22
21
23
dotenv . config ( ) ;
22
24
@@ -66,7 +68,9 @@ export class Evaluator {
66
68
this . modelClientOptions ,
67
69
) ;
68
70
69
- const response = await llmClient . createChatCompletion ( {
71
+ const response = await llmClient . createChatCompletion <
72
+ LLMParsedResponse < LLMResponse >
73
+ > ( {
70
74
logger : this . stagehand . logger ,
71
75
options : {
72
76
messages : [
@@ -76,8 +80,7 @@ export class Evaluator {
76
80
image : { buffer : imageBuffer } ,
77
81
} ,
78
82
} ) ;
79
-
80
- const rawResponse = response . choices [ 0 ] . message . content ;
83
+ const rawResponse = response . data as unknown as string ;
81
84
let evaluationResult : "YES" | "NO" | "INVALID" = "INVALID" ;
82
85
let reasoning = `Failed to process response. Raw response: ${ rawResponse } ` ;
83
86
@@ -183,7 +186,9 @@ export class Evaluator {
183
186
) ;
184
187
185
188
// Use the model-specific LLM client to evaluate the screenshot with all questions
186
- const response = await llmClient . createChatCompletion ( {
189
+ const response = await llmClient . createChatCompletion <
190
+ LLMParsedResponse < LLMResponse >
191
+ > ( {
187
192
logger : this . stagehand . logger ,
188
193
options : {
189
194
messages : [
@@ -202,7 +207,7 @@ export class Evaluator {
202
207
} ,
203
208
} ) ;
204
209
205
- const rawResponse = response . choices [ 0 ] . message . content ;
210
+ const rawResponse = response . data as unknown as string ;
206
211
let finalResults : EvaluationResult [ ] = [ ] ;
207
212
208
213
try {
0 commit comments