Skip to content

Commit 65f0fde

Browse files
committed
Log raw LLM query metadata
Closes #426
1 parent 874dd5a commit 65f0fde

File tree

3 files changed

+29
-21
lines changed

3 files changed

+29
-21
lines changed

evaluate/evaluate_test.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ func TestEvaluate(t *testing.T) {
181181
},
182182
}
183183
// Set up mocks, when test is running.
184-
mockedQuery.On("Query", mock.Anything, mock.Anything, mock.Anything).Return(queryResult1, nil).Once().After(10 * time.Millisecond) // Simulate a model response delay because our internal safety measures trigger when a query is done in 0 milliseconds.
184+
mockedQuery.On("Query", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(queryResult1, nil).Once().After(10 * time.Millisecond) // Simulate a model response delay because our internal safety measures trigger when a query is done in 0 milliseconds.
185185

186186
queryResult2 := &provider.QueryResult{
187187
Message: "",
@@ -192,7 +192,7 @@ func TestEvaluate(t *testing.T) {
192192
},
193193
}
194194
// Set up mocks, when test is running.
195-
mockedQuery.On("Query", mock.Anything, mock.Anything, mock.Anything).Return(queryResult2, nil).Once().After(10 * time.Millisecond) // Simulate a model response delay because our internal safety measures trigger when a query is done in 0 milliseconds.
195+
mockedQuery.On("Query", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(queryResult2, nil).Once().After(10 * time.Millisecond) // Simulate a model response delay because our internal safety measures trigger when a query is done in 0 milliseconds.
196196
},
197197
After: func(t *testing.T, logger *log.Logger, resultPath string) {
198198
mockedQuery.AssertNumberOfCalls(t, "Query", 2)
@@ -380,10 +380,10 @@ func TestEvaluate(t *testing.T) {
380380
Message: "model-response",
381381
}
382382
// Set up mocks, when test is running.
383-
mockedQuery.On("Query", mock.Anything, mock.Anything, mock.Anything).Return(nil, ErrEmptyResponseFromModel).Once()
384-
mockedQuery.On("Query", mock.Anything, mock.Anything, mock.Anything).Return(queryResult, nil).Once().After(10 * time.Millisecond) // Simulate a model response delay because our internal safety measures trigger when a query is done in 0 milliseconds.
385-
mockedQuery.On("Query", mock.Anything, mock.Anything, mock.Anything).Return(nil, ErrEmptyResponseFromModel).Once()
386-
mockedQuery.On("Query", mock.Anything, mock.Anything, mock.Anything).Return(queryResult, nil).Once().After(10 * time.Millisecond) // Simulate a model response delay because our internal safety measures trigger when a query is done in 0 milliseconds.
383+
mockedQuery.On("Query", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(nil, ErrEmptyResponseFromModel).Once()
384+
mockedQuery.On("Query", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(queryResult, nil).Once().After(10 * time.Millisecond) // Simulate a model response delay because our internal safety measures trigger when a query is done in 0 milliseconds.
385+
mockedQuery.On("Query", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(nil, ErrEmptyResponseFromModel).Once()
386+
mockedQuery.On("Query", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(queryResult, nil).Once().After(10 * time.Millisecond) // Simulate a model response delay because our internal safety measures trigger when a query is done in 0 milliseconds.
387387
},
388388
After: func(t *testing.T, logger *log.Logger, resultPath string) {
389389
mockedQuery.AssertNumberOfCalls(t, "Query", 4)

model/llm/llm_test.go

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ func TestModelGenerateTestsForFile(t *testing.T) {
120120
` + "```" + `
121121
`),
122122
}
123-
mockedProvider.On("Query", mock.Anything, mock.Anything, promptMessage).Return(queryResult, nil)
123+
mockedProvider.On("Query", mock.Anything, mock.Anything, mock.Anything, promptMessage).Return(queryResult, nil)
124124
},
125125

126126
Language: &golang.Language{},
@@ -151,7 +151,7 @@ func TestModelGenerateTestsForFile(t *testing.T) {
151151
TotalCost: 0.123456789,
152152
},
153153
}
154-
mockedProvider.On("Query", mock.Anything, mock.Anything, promptMessage).Return(queryResult, nil)
154+
mockedProvider.On("Query", mock.Anything, mock.Anything, mock.Anything, promptMessage).Return(queryResult, nil)
155155
},
156156

157157
Language: &golang.Language{},
@@ -242,7 +242,7 @@ func TestModelQuery(t *testing.T) {
242242
queryResult := &provider.QueryResult{
243243
Message: "test response",
244244
}
245-
mockedProvider.On("Query", mock.Anything, mock.Anything, "test request").Return(queryResult, nil)
245+
mockedProvider.On("Query", mock.Anything, mock.Anything, mock.Anything, "test request").Return(queryResult, nil)
246246
},
247247
QueryAttempts: 1,
248248
Request: "test request",
@@ -256,7 +256,7 @@ func TestModelQuery(t *testing.T) {
256256
validate(t, &testCase{
257257
Name: "Failed query no retry",
258258
SetupMock: func(mockedProvider *providertesting.MockQuery) {
259-
mockedProvider.On("Query", mock.Anything, mock.Anything, "test request").Return(nil, assert.AnError)
259+
mockedProvider.On("Query", mock.Anything, mock.Anything, mock.Anything, "test request").Return(nil, assert.AnError)
260260
},
261261
QueryAttempts: 1,
262262
Request: "test request",
@@ -266,8 +266,8 @@ func TestModelQuery(t *testing.T) {
266266
validate(t, &testCase{
267267
Name: "Failed query with retry",
268268
SetupMock: func(mockedProvider *providertesting.MockQuery) {
269-
mockedProvider.On("Query", mock.Anything, mock.Anything, "test request").Return(nil, assert.AnError).Once()
270-
mockedProvider.On("Query", mock.Anything, mock.Anything, "test request").Return(&provider.QueryResult{
269+
mockedProvider.On("Query", mock.Anything, mock.Anything, mock.Anything, "test request").Return(nil, assert.AnError).Once()
270+
mockedProvider.On("Query", mock.Anything, mock.Anything, mock.Anything, "test request").Return(&provider.QueryResult{
271271
Message: "test response",
272272
}, nil).Once()
273273
},
@@ -286,7 +286,7 @@ func TestModelQuery(t *testing.T) {
286286
queryResult := &provider.QueryResult{
287287
Message: "test response",
288288
}
289-
mockedProvider.On("Query", mock.Anything, mock.Anything, "test request").Return(queryResult, nil).After(time.Second * 2)
289+
mockedProvider.On("Query", mock.Anything, mock.Anything, mock.Anything, "test request").Return(queryResult, nil).After(time.Second * 2)
290290
},
291291
QueryAttempts: 1,
292292
QueryTimeout: 1,
@@ -300,8 +300,8 @@ func TestModelQuery(t *testing.T) {
300300
queryResult := &provider.QueryResult{
301301
Message: "test response",
302302
}
303-
mockedProvider.On("Query", mock.Anything, mock.Anything, "test request").Return(queryResult, nil).After(time.Second * 2)
304-
mockedProvider.On("Query", mock.Anything, mock.Anything, "test request").Return(queryResult, nil).After(time.Second * 2)
303+
mockedProvider.On("Query", mock.Anything, mock.Anything, mock.Anything, "test request").Return(queryResult, nil).After(time.Second * 2)
304+
mockedProvider.On("Query", mock.Anything, mock.Anything, mock.Anything, "test request").Return(queryResult, nil).After(time.Second * 2)
305305
},
306306
QueryAttempts: 2,
307307
QueryTimeout: 1,
@@ -392,7 +392,7 @@ func TestModelRepairSourceCodeFile(t *testing.T) {
392392
` + "```" + `
393393
`),
394394
}
395-
mockedProvider.On("Query", mock.Anything, mock.Anything, mock.Anything).Return(queryResult, nil)
395+
mockedProvider.On("Query", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(queryResult, nil)
396396
},
397397

398398
Language: &golang.Language{},
@@ -446,7 +446,7 @@ func TestModelRepairSourceCodeFile(t *testing.T) {
446446
` + "```" + `
447447
`),
448448
}
449-
mockedProvider.On("Query", mock.Anything, mock.Anything, mock.Anything).Return(queryResult, nil)
449+
mockedProvider.On("Query", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(queryResult, nil)
450450
},
451451

452452
Language: &java.Language{},
@@ -876,7 +876,7 @@ func TestModelTranspile(t *testing.T) {
876876
queryResult := &provider.QueryResult{
877877
Message: "```\n" + transpiledFileContent + "```\n",
878878
}
879-
mockedProvider.On("Query", mock.Anything, mock.Anything, mock.Anything).Return(queryResult, nil)
879+
mockedProvider.On("Query", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(queryResult, nil)
880880
},
881881

882882
Language: &golang.Language{},
@@ -929,7 +929,7 @@ func TestModelTranspile(t *testing.T) {
929929
queryResult := &provider.QueryResult{
930930
Message: "```\n" + transpiledFileContent + "```\n",
931931
}
932-
mockedProvider.On("Query", mock.Anything, mock.Anything, mock.Anything).Return(queryResult, nil)
932+
mockedProvider.On("Query", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(queryResult, nil)
933933
},
934934

935935
Language: &java.Language{},
@@ -1032,7 +1032,7 @@ func TestModelMigrate(t *testing.T) {
10321032
queryResult := &provider.QueryResult{
10331033
Message: "```\n" + migratedTestFile + "```\n",
10341034
}
1035-
mockedProvider.On("Query", mock.Anything, mock.Anything, mock.Anything).Return(queryResult, nil)
1035+
mockedProvider.On("Query", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(queryResult, nil)
10361036
},
10371037

10381038
Language: &java.Language{},

provider/openrouter/openrouter.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,14 @@ func (p *Provider) fetchGenerationInfo(logger *log.Logger, generationID string)
170170
client := &http.Client{}
171171
var responseBody []byte
172172
if err := retry.Do( // Query available models with a retry logic cause "openrouter.ai" has failed us in the past.
173-
func() error {
173+
func() (err error) {
174+
logger.Info("getting request metadata from openrouter.ai", "response-id", generationID)
175+
defer func() {
176+
if err != nil {
177+
logger.Error("getting request metadata errored", "response-id", generationID, "error", err.Error())
178+
}
179+
}()
180+
174181
response, err := client.Do(request)
175182
if err != nil {
176183
return pkgerrors.WithStack(err)
@@ -200,6 +207,7 @@ func (p *Provider) fetchGenerationInfo(logger *log.Logger, generationID string)
200207
return nil, err
201208
}
202209

210+
logger.Info("obtained request metadata", "response-id", generationID, "metadata", string(responseBody))
203211
var dataResponse struct {
204212
provider.GenerationInfo `json:"data"`
205213
}

0 commit comments

Comments
 (0)