Skip to content

Commit f220097

Browse files
committed
fixes
Signed-off-by: Grant Linville <[email protected]>
1 parent 378eb46 commit f220097

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

pkg/openai/client.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -413,7 +413,7 @@ func (c *Client) Call(ctx context.Context, messageRequest types.CompletionReques
413413

414414
// If we got back a context length exceeded error, keep retrying and shrinking the message history until we pass.
415415
var apiError *openai.APIError
416-
if errors.As(err, &apiError) && apiError.Code == "context_length_exceeded" && messageRequest.Chat {
416+
if err != nil && ((errors.As(err, &apiError) && apiError.Code == "context_length_exceeded") || strings.Contains(err.Error(), "maximum context length is")) && messageRequest.Chat {
417417
// Decrease maxTokens by 10% to make garbage collection more aggressive.
418418
// The retry loop will further decrease maxTokens if needed.
419419
maxTokens := decreaseTenPercent(messageRequest.MaxTokens)
@@ -467,7 +467,7 @@ func (c *Client) contextLimitRetryLoop(ctx context.Context, request openai.ChatC
467467
}
468468

469469
var apiError *openai.APIError
470-
if errors.As(err, &apiError) && apiError.Code == "context_length_exceeded" {
470+
if (errors.As(err, &apiError) && apiError.Code == "context_length_exceeded") || strings.Contains(err.Error(), "maximum context length is") {
471471
// Decrease maxTokens and try again
472472
maxTokens = decreaseTenPercent(maxTokens)
473473
continue

pkg/openai/count.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ func decreaseTenPercent(maxTokens int) int {
1515
}
1616

1717
func getBudget(maxTokens int) int {
18-
if maxTokens == 0 {
18+
if maxTokens <= 0 {
1919
return DefaultMaxTokens
2020
}
2121
return maxTokens

0 commit comments

Comments
 (0)