mirror of
https://github.com/RooVetGit/Roo-Code.git
synced 2026-08-28 05:27:24 +00:00
feat: add GLM-4.6 model support for z.ai provider (#8408)
Co-authored-by: Roo Code <roomote@roocode.com>
This commit is contained in:
parent
702b269a1b
commit
9e98d1aef6
2 changed files with 76 additions and 0 deletions
|
|
@ -32,6 +32,18 @@ export const internationalZAiModels = {
|
|||
description:
|
||||
"GLM-4.5-Air is the lightweight version of GLM-4.5. It balances performance and cost-effectiveness, and can flexibly switch to hybrid thinking models.",
|
||||
},
|
||||
"glm-4.6": {
|
||||
maxTokens: 98_304,
|
||||
contextWindow: 204_800,
|
||||
supportsImages: false,
|
||||
supportsPromptCache: true,
|
||||
inputPrice: 0.6,
|
||||
outputPrice: 2.2,
|
||||
cacheWritesPrice: 0,
|
||||
cacheReadsPrice: 0.11,
|
||||
description:
|
||||
"GLM-4.6 is Zhipu's newest model with an extended context window of up to 200k tokens, providing enhanced capabilities for processing longer documents and conversations.",
|
||||
},
|
||||
} as const satisfies Record<string, ModelInfo>
|
||||
|
||||
export type MainlandZAiModelId = keyof typeof mainlandZAiModels
|
||||
|
|
@ -101,6 +113,44 @@ export const mainlandZAiModels = {
|
|||
},
|
||||
],
|
||||
},
|
||||
"glm-4.6": {
|
||||
maxTokens: 98_304,
|
||||
contextWindow: 204_800,
|
||||
supportsImages: false,
|
||||
supportsPromptCache: true,
|
||||
inputPrice: 0.29,
|
||||
outputPrice: 1.14,
|
||||
cacheWritesPrice: 0,
|
||||
cacheReadsPrice: 0.057,
|
||||
description:
|
||||
"GLM-4.6 is Zhipu's newest model with an extended context window of up to 200k tokens, providing enhanced capabilities for processing longer documents and conversations.",
|
||||
tiers: [
|
||||
{
|
||||
contextWindow: 32_000,
|
||||
inputPrice: 0.21,
|
||||
outputPrice: 1.0,
|
||||
cacheReadsPrice: 0.043,
|
||||
},
|
||||
{
|
||||
contextWindow: 128_000,
|
||||
inputPrice: 0.29,
|
||||
outputPrice: 1.14,
|
||||
cacheReadsPrice: 0.057,
|
||||
},
|
||||
{
|
||||
contextWindow: 200_000,
|
||||
inputPrice: 0.29,
|
||||
outputPrice: 1.14,
|
||||
cacheReadsPrice: 0.057,
|
||||
},
|
||||
{
|
||||
contextWindow: Infinity,
|
||||
inputPrice: 0.29,
|
||||
outputPrice: 1.14,
|
||||
cacheReadsPrice: 0.057,
|
||||
},
|
||||
],
|
||||
},
|
||||
} as const satisfies Record<string, ModelInfo>
|
||||
|
||||
export const ZAI_DEFAULT_TEMPERATURE = 0
|
||||
|
|
|
|||
|
|
@ -71,6 +71,19 @@ describe("ZAiHandler", () => {
|
|||
expect(model.id).toBe(testModelId)
|
||||
expect(model.info).toEqual(internationalZAiModels[testModelId])
|
||||
})
|
||||
|
||||
it("should return GLM-4.6 international model with correct configuration", () => {
|
||||
const testModelId: InternationalZAiModelId = "glm-4.6"
|
||||
const handlerWithModel = new ZAiHandler({
|
||||
apiModelId: testModelId,
|
||||
zaiApiKey: "test-zai-api-key",
|
||||
zaiApiLine: "international",
|
||||
})
|
||||
const model = handlerWithModel.getModel()
|
||||
expect(model.id).toBe(testModelId)
|
||||
expect(model.info).toEqual(internationalZAiModels[testModelId])
|
||||
expect(model.info.contextWindow).toBe(204_800)
|
||||
})
|
||||
})
|
||||
|
||||
describe("China Z AI", () => {
|
||||
|
|
@ -108,6 +121,19 @@ describe("ZAiHandler", () => {
|
|||
expect(model.id).toBe(testModelId)
|
||||
expect(model.info).toEqual(mainlandZAiModels[testModelId])
|
||||
})
|
||||
|
||||
it("should return GLM-4.6 China model with correct configuration", () => {
|
||||
const testModelId: MainlandZAiModelId = "glm-4.6"
|
||||
const handlerWithModel = new ZAiHandler({
|
||||
apiModelId: testModelId,
|
||||
zaiApiKey: "test-zai-api-key",
|
||||
zaiApiLine: "china",
|
||||
})
|
||||
const model = handlerWithModel.getModel()
|
||||
expect(model.id).toBe(testModelId)
|
||||
expect(model.info).toEqual(mainlandZAiModels[testModelId])
|
||||
expect(model.info.contextWindow).toBe(204_800)
|
||||
})
|
||||
})
|
||||
|
||||
describe("Default behavior", () => {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue