mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-26 10:12:51 +00:00
148 lines
3.6 KiB
Python
148 lines
3.6 KiB
Python
# coding=utf-8
|
||
"""
|
||
@project: MaxKB
|
||
@Author:虎虎
|
||
@file: chat_api.py
|
||
@date:2025/6/9 15:23
|
||
@desc:
|
||
"""
|
||
from drf_spectacular.types import OpenApiTypes
|
||
from drf_spectacular.utils import OpenApiParameter
|
||
|
||
from application.serializers.application_chat_record import ChatRecordSerializerModel
|
||
from chat.serializers.chat import ChatMessageSerializers, GeneratePromptSerializers
|
||
from chat.serializers.chat_record import HistoryChatModel, EditAbstractSerializer
|
||
from common.mixins.api_mixin import APIMixin
|
||
from common.result import ResultSerializer, ResultPageSerializer, DefaultResultSerializer
|
||
|
||
|
||
class PromptGenerateAPI(APIMixin):
|
||
@staticmethod
|
||
def get_parameters():
|
||
return [OpenApiParameter(
|
||
name="workspace_id",
|
||
description="工作空间id",
|
||
type=OpenApiTypes.STR,
|
||
location='path',
|
||
required=True,
|
||
),
|
||
OpenApiParameter(
|
||
name="model_id",
|
||
description="模型id",
|
||
type=OpenApiTypes.STR,
|
||
location='path',
|
||
required=True,)
|
||
]
|
||
|
||
@staticmethod
|
||
def get_request():
|
||
return GeneratePromptSerializers
|
||
|
||
|
||
class ChatAPI(APIMixin):
|
||
@staticmethod
|
||
def get_parameters():
|
||
return [OpenApiParameter(
|
||
name="chat_id",
|
||
description="对话id",
|
||
type=OpenApiTypes.STR,
|
||
location='path',
|
||
required=True,
|
||
)]
|
||
|
||
@staticmethod
|
||
def get_request():
|
||
return ChatMessageSerializers
|
||
|
||
|
||
class ApplicationCreateResponse(ResultSerializer):
|
||
def get_data(self):
|
||
return HistoryChatModel(many=True)
|
||
|
||
|
||
class PageApplicationCreateResponse(ResultPageSerializer):
|
||
def get_data(self):
|
||
return HistoryChatModel(many=True)
|
||
|
||
|
||
class ApplicationRecordResponse(ResultSerializer):
|
||
def get_data(self):
|
||
return ChatRecordSerializerModel(many=True)
|
||
|
||
|
||
class PageApplicationRecordResponse(ResultPageSerializer):
|
||
def get_data(self):
|
||
return ChatRecordSerializerModel(many=True)
|
||
|
||
|
||
class HistoricalConversationAPI(APIMixin):
|
||
@staticmethod
|
||
def get_parameters():
|
||
return []
|
||
|
||
@staticmethod
|
||
def get_response():
|
||
return ApplicationCreateResponse
|
||
|
||
|
||
class PageHistoricalConversationAPI(APIMixin):
|
||
@staticmethod
|
||
def get_parameters():
|
||
return []
|
||
|
||
@staticmethod
|
||
def get_response():
|
||
return PageApplicationCreateResponse
|
||
|
||
|
||
class HistoricalConversationOperateAPI(APIMixin):
|
||
@staticmethod
|
||
def get_parameters():
|
||
return [OpenApiParameter(
|
||
name="chat_id",
|
||
description="对话id",
|
||
type=OpenApiTypes.STR,
|
||
location='path',
|
||
required=True
|
||
)]
|
||
|
||
@staticmethod
|
||
def get_request():
|
||
return EditAbstractSerializer
|
||
|
||
@staticmethod
|
||
def get_response():
|
||
return DefaultResultSerializer
|
||
|
||
|
||
class HistoricalConversationRecordAPI(APIMixin):
|
||
@staticmethod
|
||
def get_parameters():
|
||
return [OpenApiParameter(
|
||
name="chat_id",
|
||
description="对话id",
|
||
type=OpenApiTypes.STR,
|
||
location='path',
|
||
required=True,
|
||
)]
|
||
|
||
@staticmethod
|
||
def get_response():
|
||
return ApplicationRecordResponse
|
||
|
||
|
||
class PageHistoricalConversationRecordAPI(APIMixin):
|
||
@staticmethod
|
||
def get_parameters():
|
||
return [OpenApiParameter(
|
||
name="chat_id",
|
||
description="对话id",
|
||
type=OpenApiTypes.STR,
|
||
location='path',
|
||
required=True,
|
||
)]
|
||
|
||
@staticmethod
|
||
def get_response():
|
||
return PageApplicationRecordResponse
|