From 92937d2e74bc754d3cb5a26c74876c5b11344454 Mon Sep 17 00:00:00 2001 From: Wenjie Zhang Date: Mon, 31 Mar 2025 19:44:10 +0800 Subject: [PATCH 1/2] docs: add-des-on-custom-model --- web/src/views/SettingView.vue | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/web/src/views/SettingView.vue b/web/src/views/SettingView.vue index e85decd2..d5b56e45 100644 --- a/web/src/views/SettingView.vue +++ b/web/src/views/SettingView.vue @@ -142,9 +142,11 @@

添加的模型是兼容 OpenAI 的模型,比如 vllm,Ollama。

+

调用的模型的名称

+

比如 http://localhost:11434/v1

@@ -738,6 +740,11 @@ const sendRestart = () => { .custom-model-modal { .ant-form-item { margin-bottom: 10px; + .form-item-description { + font-size: 12px; + color: var(--gray-600); + margin-bottom: 10px; + } } } } From 2fe4bf6363991b8431023a28eca837308a15b3b9 Mon Sep 17 00:00:00 2001 From: Wenjie Zhang Date: Tue, 1 Apr 2025 00:39:54 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=8E=B7=E5=8F=96=20mode?= =?UTF-8?q?l=20list=20=E7=9A=84=20API=20=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/models/chat_model.py | 6 +++++- src/routers/chat_router.py | 6 ++++++ web/src/layouts/AppLayout.vue | 39 ++++++++++++++++++++++++++++------- 3 files changed, 43 insertions(+), 8 deletions(-) diff --git a/src/models/chat_model.py b/src/models/chat_model.py index 43b00aa5..f71289e5 100644 --- a/src/models/chat_model.py +++ b/src/models/chat_model.py @@ -44,7 +44,11 @@ class OpenAIBase(): def get_models(self): try: - return self.client.models.list() + return self.client.models.list( + extra_query={ + "type": "text" + } + ) except Exception as e: logger.error(f"Error getting models: {e}") return [] diff --git a/src/routers/chat_router.py b/src/routers/chat_router.py index 977ecd27..4bf81093 100644 --- a/src/routers/chat_router.py +++ b/src/routers/chat_router.py @@ -179,3 +179,9 @@ def chat_agent(agent_name: str, yield make_chunk(status="finished", history=history_manager.update_ai(content)) return StreamingResponse(stream_messages(), media_type='application/json') + +@chat.get("/models") +async def get_chat_models(model_provider: str): + """获取指定模型提供商的模型列表""" + model = select_model(model_provider=model_provider) + return {"models": model.get_models()} diff --git a/web/src/layouts/AppLayout.vue b/web/src/layouts/AppLayout.vue index 0a005d5e..b9f35b0c 100644 --- a/web/src/layouts/AppLayout.vue +++ b/web/src/layouts/AppLayout.vue @@ -1,5 +1,5 @@