Skip to content

Commit f81253f

Browse files
authored
FG-180 Support Z.ai chat completion API (#33)
1 parent 7dad1e1 commit f81253f

2 files changed

Lines changed: 23 additions & 0 deletions

File tree

app/services/providers/adapter_factory.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
from .vertex_adapter import VertexAdapter
1616
from .gemini_openai_adapter import GeminiOpenAIAdapter
1717
from .alibaba_adapter import AlibabaAdapter
18+
from .zai_adapter import ZAIAdapter
1819

1920

2021
class ProviderAdapterFactory:
@@ -181,6 +182,10 @@ class ProviderAdapterFactory:
181182
"base_url": "https://open.bigmodel.cn/api/paas/v4",
182183
"adapter": ZhipuAdapter,
183184
},
185+
"z.ai": {
186+
"base_url": "https://api.z.ai/api/paas/v4",
187+
"adapter": ZAIAdapter,
188+
},
184189
"azure": {
185190
"adapter": AzureAdapter,
186191
},
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
from .openai_adapter import OpenAIAdapter
2+
3+
# https://docs.z.ai/api-reference/llm/chat-completion#body-model
4+
ZAI_MODELS = [
5+
"glm-4.5",
6+
"glm-4.5-air",
7+
"glm-4.5-x",
8+
"glm-4.5-airx",
9+
"glm-4.5-flash",
10+
"glm-4-32b-0414-128k",
11+
]
12+
13+
14+
class ZAIAdapter(OpenAIAdapter):
15+
"""Adapter for Zai API"""
16+
17+
async def list_models(self, api_key: str) -> list[str]:
18+
return ZAI_MODELS

0 commit comments

Comments
 (0)