From a8a19f357a8936a992258f808190570b464f266c Mon Sep 17 00:00:00 2001 From: CaptainB Date: Tue, 3 Jun 2025 11:57:14 +0800 Subject: [PATCH] feat: add endpoint to retrieve embedding model for knowledge base --- apps/knowledge/urls.py | 1 + apps/knowledge/views/knowledge.py | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/apps/knowledge/urls.py b/apps/knowledge/urls.py index fbce801be..564c32aca 100644 --- a/apps/knowledge/urls.py +++ b/apps/knowledge/urls.py @@ -8,6 +8,7 @@ urlpatterns = [ path('workspace//knowledge/base', views.KnowledgeBaseView.as_view()), path('workspace//knowledge/web', views.KnowledgeWebView.as_view()), path('workspace//knowledge/model', views.KnowledgeView.Model.as_view()), + path('workspace//knowledge/embedding_model', views.KnowledgeView.EmbeddingModel.as_view()), path('workspace//knowledge/', views.KnowledgeView.Operate.as_view()), path('workspace//knowledge//sync', views.KnowledgeView.SyncWeb.as_view()), path('workspace//knowledge//generate_related', views.KnowledgeView.GenerateRelated.as_view()), diff --git a/apps/knowledge/views/knowledge.py b/apps/knowledge/views/knowledge.py index 7ed6edf32..49a1f5411 100644 --- a/apps/knowledge/views/knowledge.py +++ b/apps/knowledge/views/knowledge.py @@ -222,6 +222,27 @@ class KnowledgeView(APIView): } ).list(workspace_id, True)) + class EmbeddingModel(APIView): + authentication_classes = [TokenAuth] + + @extend_schema( + methods=['GET'], + summary=_('Get embedding model for knowledge base'), + description=_('Get embedding model for knowledge base'), + operation_id=_('Get embedding model for knowledge base'), # type: ignore + parameters=GetModelAPI.get_parameters(), + responses=GetModelAPI.get_response(), + tags=[_('Knowledge Base')] # type: ignore + ) + @has_permissions(PermissionConstants.KNOWLEDGE_EDIT.get_workspace_permission()) + def get(self, request: Request, workspace_id: str): + return result.success(ModelSerializer.Query( + data={ + 'workspace_id': workspace_id, + 'model_type': 'EMBEDDING' + } + ).list(workspace_id, True)) + class KnowledgeBaseView(APIView): authentication_classes = [TokenAuth]