feat: add endpoint to retrieve embedding model for knowledge base

This commit is contained in:
CaptainB 2025-06-03 11:57:14 +08:00
parent af8172a7b5
commit a8a19f357a
2 changed files with 22 additions and 0 deletions

View File

@ -8,6 +8,7 @@ urlpatterns = [
path('workspace/<str:workspace_id>/knowledge/base', views.KnowledgeBaseView.as_view()),
path('workspace/<str:workspace_id>/knowledge/web', views.KnowledgeWebView.as_view()),
path('workspace/<str:workspace_id>/knowledge/model', views.KnowledgeView.Model.as_view()),
path('workspace/<str:workspace_id>/knowledge/embedding_model', views.KnowledgeView.EmbeddingModel.as_view()),
path('workspace/<str:workspace_id>/knowledge/<str:knowledge_id>', views.KnowledgeView.Operate.as_view()),
path('workspace/<str:workspace_id>/knowledge/<str:knowledge_id>/sync', views.KnowledgeView.SyncWeb.as_view()),
path('workspace/<str:workspace_id>/knowledge/<str:knowledge_id>/generate_related', views.KnowledgeView.GenerateRelated.as_view()),

View File

@ -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]