MaxKB/apps/models_provider/views/model_apply.py
wxg0103 40df595173
Some checks are pending
sync2gitee / repo-sync (push) Waiting to run
refactor: model
2025-06-05 18:39:35 +08:00

58 lines
2.5 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# coding=utf-8
"""
@project: MaxKB
@Author
@file model_apply.py
@date2024/8/20 20:38
@desc:
"""
from urllib.request import Request
from django.utils.translation import gettext_lazy as _
from drf_spectacular.utils import extend_schema
from rest_framework.views import APIView
from common.auth.authentication import has_permissions
from common.constants.permission_constants import PermissionConstants
from common.result import result
from models_provider.api.model import DefaultModelResponse
from models_provider.serializers.model_apply_serializers import ModelApplySerializers
class ModelApply(APIView):
class EmbedDocuments(APIView):
@extend_schema(methods=['POST'],
summary=_('Vectorization documentation'),
description=_('Vectorization documentation'),
operation_id=_('Vectorization documentation'), # type: ignore
responses=DefaultModelResponse.get_response(),
tags=[_('Model')] # type: ignore
)
def post(self, request: Request, model_id):
return result.success(
ModelApplySerializers(data={'model_id': model_id}).embed_documents(request.data))
class EmbedQuery(APIView):
@extend_schema(methods=['POST'],
summary=_('Vectorization documentation'),
description=_('Vectorization documentation'),
operation_id=_('Vectorization documentation'), # type: ignore
responses=DefaultModelResponse.get_response(),
tags=[_('Model')] # type: ignore
)
def post(self, request: Request, model_id):
return result.success(
ModelApplySerializers(data={'model_id': model_id}).embed_query(request.data))
class CompressDocuments(APIView):
@extend_schema(methods=['POST'],
summary=_('Reorder documents'),
description=_('Reorder documents'),
operation_id=_('Reorder documents'), # type: ignore
responses=DefaultModelResponse.get_response(),
tags=[_('Model')] # type: ignore
)
def post(self, request: Request, model_id):
return result.success(
ModelApplySerializers(data={'model_id': model_id}).compress_documents(request.data))