diff options
| author | Paul Buetow <paul@buetow.org> | 2025-09-17 22:49:13 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2025-09-17 22:49:13 +0300 |
| commit | d059ae333fa1c89cb58d7fb56ead79cdba15d5db (patch) | |
| tree | ae65ad59c8590f71232a6abefee312b72ddf6d3e /internal/llm/openai_request_test.go | |
| parent | 88103657fb230bb41217a06aa5602ae23e7acb8b (diff) | |
chore(version): bump to v0.11.1 (gpt-5 defaults, timeouts, global stats, editor fix)v0.11.1
Diffstat (limited to 'internal/llm/openai_request_test.go')
| -rw-r--r-- | internal/llm/openai_request_test.go | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/internal/llm/openai_request_test.go b/internal/llm/openai_request_test.go new file mode 100644 index 0000000..f9925f9 --- /dev/null +++ b/internal/llm/openai_request_test.go @@ -0,0 +1,32 @@ +package llm + +import ( + "encoding/json" + "testing" +) + +func TestBuildOAChatRequest_MaxTokensKeyByModel(t *testing.T) { + msgs := []Message{{Role: "user", Content: "hi"}} + mt := 123 + // Legacy model: use max_tokens + r1 := buildOAChatRequest(Options{Model: "gpt-4.1", MaxTokens: mt}, msgs, nil, false) + b1, _ := json.Marshal(r1) + if !contains(string(b1), "max_tokens") || contains(string(b1), "max_completion_tokens") { + t.Fatalf("expected max_tokens only, got %s", string(b1)) + } + // gpt-5 family: use max_completion_tokens + r2 := buildOAChatRequest(Options{Model: "gpt-5.0-preview", MaxTokens: mt}, msgs, nil, false) + b2, _ := json.Marshal(r2) + if !contains(string(b2), "max_completion_tokens") || contains(string(b2), "max_tokens\":") { + t.Fatalf("expected max_completion_tokens only, got %s", string(b2)) + } +} + +func contains(s, sub string) bool { + for i := 0; i+len(sub) <= len(s); i++ { + if s[i:i+len(sub)] == sub { + return true + } + } + return false +} |
