mirror of
https://github.com/RooVetGit/Roo-Code.git
synced 2026-09-07 08:26:51 +00:00
fix: default OpenAI Compatible provider to XML protocol for better third-party proxy compatibility
This commit is contained in:
parent
2bb375534c
commit
df411c0bd2
3 changed files with 13 additions and 6 deletions
|
|
@ -551,7 +551,10 @@ export const openAiModelInfoSaneDefaults: ModelInfo = {
|
|||
inputPrice: 0,
|
||||
outputPrice: 0,
|
||||
supportsNativeTools: true,
|
||||
defaultToolProtocol: "native",
|
||||
// Default to XML for OpenAI Compatible providers since third-party proxies
|
||||
// have varying levels of support for native tool calling. Users who want
|
||||
// native tool calling can explicitly enable it in Advanced Settings.
|
||||
defaultToolProtocol: "xml",
|
||||
}
|
||||
|
||||
// https://learn.microsoft.com/en-us/azure/ai-services/openai/api-version-deprecation
|
||||
|
|
|
|||
|
|
@ -376,13 +376,15 @@ describe("resolveToolProtocol", () => {
|
|||
expect(result).toBe(TOOL_PROTOCOL.XML) // Model default wins
|
||||
})
|
||||
|
||||
it("should use native tools for OpenAI compatible provider with default model info", () => {
|
||||
it("should use XML for OpenAI compatible provider with default model info", () => {
|
||||
const settings: ProviderSettings = {
|
||||
apiProvider: "openai",
|
||||
}
|
||||
// Using the actual openAiModelInfoSaneDefaults to verify the fix
|
||||
// OpenAI Compatible defaults to XML protocol since third-party proxies
|
||||
// have varying levels of support for native tool calling.
|
||||
// Users who want native can explicitly enable it in Advanced Settings.
|
||||
const result = resolveToolProtocol(settings, openAiModelInfoSaneDefaults)
|
||||
expect(result).toBe(TOOL_PROTOCOL.NATIVE) // Should use native tools by default
|
||||
expect(result).toBe(TOOL_PROTOCOL.XML) // Should use XML by default for better compatibility
|
||||
})
|
||||
})
|
||||
})
|
||||
|
|
|
|||
|
|
@ -702,7 +702,8 @@ describe("useSelectedModel", () => {
|
|||
expect(result.current.id).toBe("gpt-4o")
|
||||
expect(result.current.info).toEqual(openAiModelInfoSaneDefaults)
|
||||
expect(result.current.info?.supportsNativeTools).toBe(true)
|
||||
expect(result.current.info?.defaultToolProtocol).toBe("native")
|
||||
// OpenAI Compatible defaults to XML for better third-party proxy compatibility
|
||||
expect(result.current.info?.defaultToolProtocol).toBe("xml")
|
||||
})
|
||||
|
||||
it("should merge native tool defaults with custom model info", () => {
|
||||
|
|
@ -734,7 +735,8 @@ describe("useSelectedModel", () => {
|
|||
}
|
||||
expect(result.current.info).toEqual({ ...nativeToolDefaults, ...customModelInfo })
|
||||
expect(result.current.info?.supportsNativeTools).toBe(true)
|
||||
expect(result.current.info?.defaultToolProtocol).toBe("native")
|
||||
// OpenAI Compatible defaults to XML for better third-party proxy compatibility
|
||||
expect(result.current.info?.defaultToolProtocol).toBe("xml")
|
||||
})
|
||||
|
||||
it("should allow custom model info to override native tool defaults", () => {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue