Skip to content

Commit a8a19f3

Browse files
committed
feat: add endpoint to retrieve embedding model for knowledge base
1 parent af8172a commit a8a19f3

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

apps/knowledge/urls.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
path('workspace/<str:workspace_id>/knowledge/base', views.KnowledgeBaseView.as_view()),
99
path('workspace/<str:workspace_id>/knowledge/web', views.KnowledgeWebView.as_view()),
1010
path('workspace/<str:workspace_id>/knowledge/model', views.KnowledgeView.Model.as_view()),
11+
path('workspace/<str:workspace_id>/knowledge/embedding_model', views.KnowledgeView.EmbeddingModel.as_view()),
1112
path('workspace/<str:workspace_id>/knowledge/<str:knowledge_id>', views.KnowledgeView.Operate.as_view()),
1213
path('workspace/<str:workspace_id>/knowledge/<str:knowledge_id>/sync', views.KnowledgeView.SyncWeb.as_view()),
1314
path('workspace/<str:workspace_id>/knowledge/<str:knowledge_id>/generate_related', views.KnowledgeView.GenerateRelated.as_view()),

apps/knowledge/views/knowledge.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,27 @@ def get(self, request: Request, workspace_id: str):
222222
}
223223
).list(workspace_id, True))
224224

225+
class EmbeddingModel(APIView):
226+
authentication_classes = [TokenAuth]
227+
228+
@extend_schema(
229+
methods=['GET'],
230+
summary=_('Get embedding model for knowledge base'),
231+
description=_('Get embedding model for knowledge base'),
232+
operation_id=_('Get embedding model for knowledge base'), # type: ignore
233+
parameters=GetModelAPI.get_parameters(),
234+
responses=GetModelAPI.get_response(),
235+
tags=[_('Knowledge Base')] # type: ignore
236+
)
237+
@has_permissions(PermissionConstants.KNOWLEDGE_EDIT.get_workspace_permission())
238+
def get(self, request: Request, workspace_id: str):
239+
return result.success(ModelSerializer.Query(
240+
data={
241+
'workspace_id': workspace_id,
242+
'model_type': 'EMBEDDING'
243+
}
244+
).list(workspace_id, True))
245+
225246

226247
class KnowledgeBaseView(APIView):
227248
authentication_classes = [TokenAuth]

0 commit comments

Comments
 (0)