UnisKB/apps/setting/views/model_apply.py

50 lines
2.1 KiB
Python
Raw Normal View History

2024-08-21 06:46:11 +00:00
# coding=utf-8
"""
@project: MaxKB
@Author
@file model_apply.py
@date2024/8/20 20:38
@desc:
"""
from urllib.request import Request
from drf_yasg.utils import swagger_auto_schema
from rest_framework.decorators import action
from rest_framework.views import APIView
from common.response import result
from setting.serializers.model_apply_serializers import ModelApplySerializers
2025-01-13 03:15:51 +00:00
from django.utils.translation import gettext_lazy as _
2024-08-21 06:46:11 +00:00
class ModelApply(APIView):
class EmbedDocuments(APIView):
@action(methods=['POST'], detail=False)
2025-01-13 03:15:51 +00:00
@swagger_auto_schema(operation_summary=_('Vectorization documentation'),
operation_id=_('Vectorization documentation'),
2024-08-21 06:46:11 +00:00
responses=result.get_default_response(),
2025-01-13 03:15:51 +00:00
tags=[_('model')])
2024-08-21 06:46:11 +00:00
def post(self, request: Request, model_id):
return result.success(
ModelApplySerializers(data={'model_id': model_id}).embed_documents(request.data))
class EmbedQuery(APIView):
@action(methods=['POST'], detail=False)
2025-01-13 03:15:51 +00:00
@swagger_auto_schema(operation_summary=_('Vectorization documentation'),
operation_id=_('Vectorization documentation'),
2024-08-21 06:46:11 +00:00
responses=result.get_default_response(),
2025-01-13 03:15:51 +00:00
tags=[_('model')])
2024-08-21 06:46:11 +00:00
def post(self, request: Request, model_id):
return result.success(
ModelApplySerializers(data={'model_id': model_id}).embed_query(request.data))
2024-09-05 03:28:21 +00:00
class CompressDocuments(APIView):
@action(methods=['POST'], detail=False)
2025-01-13 03:15:51 +00:00
@swagger_auto_schema(operation_summary=_('Reorder documents'),
operation_id=_('Reorder documents'),
2024-09-05 03:28:21 +00:00
responses=result.get_default_response(),
2025-01-13 03:15:51 +00:00
tags=[_('model')])
2024-09-05 03:28:21 +00:00
def post(self, request: Request, model_id):
return result.success(
ModelApplySerializers(data={'model_id': model_id}).compress_documents(request.data))