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 8fd11398..5c5d8360 100644 --- a/src/routers/chat_router.py +++ b/src/routers/chat_router.py @@ -183,4 +183,10 @@ 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') \ No newline at end of file + 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 @@