ソースを参照

fix(core): lower OpenAI text verbosity

Dax Raad 1 ヶ月 前
コミット
25c6abc31a

+ 8 - 1
packages/core/src/v1/config/provider-options.ts

@@ -40,7 +40,14 @@ const openai: Lowerer = {
       settings: omit(options, ["apiKey", "baseURL", "organization", "project", "headers", "body"]),
     }
   },
-  request: snake,
+  request(options) {
+    const result = snake(options)
+    if (options.textVerbosity !== undefined) {
+      result.text = { ...(isRecord(result.text) ? result.text : {}), verbosity: options.textVerbosity }
+      delete result.text_verbosity
+    }
+    return result
+  },
 }
 
 const anthropic: Lowerer = {

+ 13 - 2
packages/core/test/config/provider-options.test.ts

@@ -39,8 +39,16 @@ describe("ConfigProviderOptionsV1", () => {
       body: { store: true },
       settings: { timeout: 1000 },
     })
-    expect(lowerer.request({ reasoningEffort: "high", nestedValue: { camelCase: true } })).toEqual({
+    expect(
+      lowerer.request({
+        reasoningEffort: "high",
+        textVerbosity: "low",
+        text: { outputFormat: "plain" },
+        nestedValue: { camelCase: true },
+      }),
+    ).toEqual({
       reasoning_effort: "high",
+      text: { output_format: "plain", verbosity: "low" },
       nested_value: { camel_case: true },
     })
   })
@@ -130,7 +138,10 @@ describe("ConfigProviderOptionsV1", () => {
       body: { trace: true },
       settings: { resourceName: "resource" },
     })
-    expect(lowerer.request({ reasoningEffort: "high" })).toEqual({ reasoning_effort: "high" })
+    expect(lowerer.request({ reasoningEffort: "high", textVerbosity: "low" })).toEqual({
+      reasoning_effort: "high",
+      text: { verbosity: "low" },
+    })
   })
 
   test("lowers Amazon Bedrock provider and request options", () => {