From fee5993c22e8b8782b8b56ba43819a4324dd569a Mon Sep 17 00:00:00 2001 From: CaptainB Date: Thu, 5 Jun 2025 18:35:31 +0800 Subject: [PATCH] feat: add SQL query for embedding text and update model API routes to remove workspace_id --- apps/common/sql/list_embedding_text.sql | 27 +++++++++++++++++++++++ apps/models_provider/urls.py | 6 ++--- apps/models_provider/views/model_apply.py | 9 +++----- 3 files changed, 33 insertions(+), 9 deletions(-) create mode 100644 apps/common/sql/list_embedding_text.sql diff --git a/apps/common/sql/list_embedding_text.sql b/apps/common/sql/list_embedding_text.sql new file mode 100644 index 000000000..600d8d44c --- /dev/null +++ b/apps/common/sql/list_embedding_text.sql @@ -0,0 +1,27 @@ +SELECT + problem_paragraph_mapping."id" AS "source_id", + paragraph.document_id AS document_id, + paragraph."id" AS paragraph_id, + problem.knowledge_id AS knowledge_id, + 0 AS source_type, + problem."content" AS "text", + paragraph.is_active AS is_active +FROM + problem problem + LEFT JOIN problem_paragraph_mapping problem_paragraph_mapping ON problem_paragraph_mapping.problem_id=problem."id" + LEFT JOIN paragraph paragraph ON paragraph."id" = problem_paragraph_mapping.paragraph_id + ${problem} + +UNION +SELECT + paragraph."id" AS "source_id", + paragraph.document_id AS document_id, + paragraph."id" AS paragraph_id, + paragraph.knowledge_id AS knowledge_id, + 1 AS source_type, + concat_ws(E'\n',paragraph.title,paragraph."content") AS "text", + paragraph.is_active AS is_active +FROM + paragraph paragraph + + ${paragraph} \ No newline at end of file diff --git a/apps/models_provider/urls.py b/apps/models_provider/urls.py index c6c6f309a..1d45eadf1 100644 --- a/apps/models_provider/urls.py +++ b/apps/models_provider/urls.py @@ -20,7 +20,7 @@ urlpatterns = [ if os.environ.get('SERVER_NAME', 'web') == 'local_model': urlpatterns += [ - path('workspace//model//embed_documents', views.ModelApply.EmbedDocuments.as_view()), - path('workspace/model//embed_query', views.ModelApply.EmbedQuery.as_view()), - path('workspace/model//compress_documents', views.ModelApply.CompressDocuments.as_view()), + path('model//embed_documents', views.ModelApply.EmbedDocuments.as_view()), + path('model//embed_query', views.ModelApply.EmbedQuery.as_view()), + path('model//compress_documents', views.ModelApply.CompressDocuments.as_view()), ] diff --git a/apps/models_provider/views/model_apply.py b/apps/models_provider/views/model_apply.py index ba87df7e8..d7e691c33 100644 --- a/apps/models_provider/views/model_apply.py +++ b/apps/models_provider/views/model_apply.py @@ -28,8 +28,7 @@ class ModelApply(APIView): responses=DefaultModelResponse.get_response(), tags=[_('Model')] # type: ignore ) - @has_permissions(PermissionConstants.MODEL_READ.get_workspace_permission()) - def post(self, request: Request, workspace_id, model_id): + def post(self, request: Request, model_id): return result.success( ModelApplySerializers(data={'model_id': model_id}).embed_documents(request.data)) @@ -41,8 +40,7 @@ class ModelApply(APIView): responses=DefaultModelResponse.get_response(), tags=[_('Model')] # type: ignore ) - @has_permissions(PermissionConstants.MODEL_READ.get_workspace_permission()) - def post(self, request: Request, workspace_id, model_id): + def post(self, request: Request, model_id): return result.success( ModelApplySerializers(data={'model_id': model_id}).embed_query(request.data)) @@ -54,7 +52,6 @@ class ModelApply(APIView): responses=DefaultModelResponse.get_response(), tags=[_('Model')] # type: ignore ) - @has_permissions(PermissionConstants.MODEL_READ.get_workspace_permission()) - def post(self, request: Request, workspace_id, model_id): + def post(self, request: Request, model_id): return result.success( ModelApplySerializers(data={'model_id': model_id}).compress_documents(request.data))