mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-26 01:33:05 +00:00
feat: The demonstration page supports modifying dialogue summaries
This commit is contained in:
parent
bb557fd187
commit
752e1ebc53
|
|
@ -66,6 +66,10 @@ def valid_model_params_setting(model_id, model_params_setting):
|
|||
credential.get_model_params_setting_form(model.model_name).valid_form(model_params_setting)
|
||||
|
||||
|
||||
class ReAbstractInstanceSerializers(serializers.Serializer):
|
||||
abstract = serializers.CharField(required=True, error_messages=ErrMessage.char(_("abstract")))
|
||||
|
||||
|
||||
class ChatSerializers(serializers.Serializer):
|
||||
class Operate(serializers.Serializer):
|
||||
chat_id = serializers.UUIDField(required=True, error_messages=ErrMessage.uuid(_("Conversation ID")))
|
||||
|
|
@ -78,6 +82,15 @@ class ChatSerializers(serializers.Serializer):
|
|||
is_deleted=True)
|
||||
return True
|
||||
|
||||
def re_abstract(self, instance, with_valid=True):
|
||||
if with_valid:
|
||||
self.is_valid(raise_exception=True)
|
||||
ReAbstractInstanceSerializers(data=instance).is_valid(raise_exception=True)
|
||||
|
||||
QuerySet(Chat).filter(id=self.data.get('chat_id'), application_id=self.data.get('application_id')).update(
|
||||
abstract=instance.get('abstract'))
|
||||
return True
|
||||
|
||||
def delete(self, with_valid=True):
|
||||
if with_valid:
|
||||
self.is_valid(raise_exception=True)
|
||||
|
|
|
|||
|
|
@ -23,6 +23,34 @@ class ChatClientHistoryApi(ApiMixin):
|
|||
description=_('Application ID'))
|
||||
]
|
||||
|
||||
class Operate(ApiMixin):
|
||||
@staticmethod
|
||||
def get_request_params_api():
|
||||
return [openapi.Parameter(name='application_id',
|
||||
in_=openapi.IN_PATH,
|
||||
type=openapi.TYPE_STRING,
|
||||
required=True,
|
||||
description=_('Application ID')),
|
||||
openapi.Parameter(name='chat_id',
|
||||
in_=openapi.IN_PATH,
|
||||
type=openapi.TYPE_STRING,
|
||||
required=True,
|
||||
description=_('Conversation ID')),
|
||||
]
|
||||
|
||||
class ReAbstract(ApiMixin):
|
||||
@staticmethod
|
||||
def get_request_body_api():
|
||||
return openapi.Schema(
|
||||
type=openapi.TYPE_OBJECT,
|
||||
required=['abstract'],
|
||||
properties={
|
||||
'abstract': openapi.Schema(type=openapi.TYPE_STRING, title=_("abstract"),
|
||||
description=_("abstract"))
|
||||
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
class OpenAIChatApi(ApiMixin):
|
||||
@staticmethod
|
||||
|
|
|
|||
|
|
@ -150,7 +150,7 @@ class ChatView(APIView):
|
|||
operation_id=_("Get the conversation list"),
|
||||
manual_parameters=ChatApi.get_request_params_api(),
|
||||
responses=result.get_api_array_response(ChatApi.get_response_body_api()),
|
||||
tags=[_("Application/Conversation Log")]
|
||||
tags=[_("Application/Conversation Log")]
|
||||
)
|
||||
@has_permissions(
|
||||
ViewPermission([RoleConstants.ADMIN, RoleConstants.USER, RoleConstants.APPLICATION_KEY],
|
||||
|
|
@ -222,6 +222,23 @@ class ChatView(APIView):
|
|||
data={'application_id': application_id, 'user_id': request.user.id,
|
||||
'chat_id': chat_id}).logic_delete())
|
||||
|
||||
@action(methods=['PUT'], detail=False)
|
||||
@swagger_auto_schema(operation_summary=_("Client modifies dialogue summary"),
|
||||
operation_id=_("Client modifies dialogue summary"),
|
||||
request_body=ChatClientHistoryApi.Operate.ReAbstract.get_request_body_api(),
|
||||
tags=[_("Application/Conversation Log")])
|
||||
@has_permissions(ViewPermission(
|
||||
[RoleConstants.APPLICATION_ACCESS_TOKEN],
|
||||
[lambda r, keywords: Permission(group=Group.APPLICATION, operate=Operate.USE,
|
||||
dynamic_tag=keywords.get('application_id'))],
|
||||
compare=CompareConstants.AND),
|
||||
compare=CompareConstants.AND)
|
||||
def put(self, request: Request, application_id: str, chat_id: str):
|
||||
return result.success(
|
||||
ChatSerializers.Operate(
|
||||
data={'application_id': application_id, 'user_id': request.user.id,
|
||||
'chat_id': chat_id}).re_abstract(request.data))
|
||||
|
||||
class Page(APIView):
|
||||
authentication_classes = [TokenAuth]
|
||||
|
||||
|
|
|
|||
|
|
@ -6753,3 +6753,5 @@ msgstr ""
|
|||
msgid "Image download failed, check network"
|
||||
msgstr ""
|
||||
|
||||
msgid "Client modifies dialogue summary"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -6892,4 +6892,5 @@ msgstr "超出许可证使用限制。"
|
|||
msgid "Image download failed, check network"
|
||||
msgstr "图片下载失败,请检查网络"
|
||||
|
||||
|
||||
msgid "Client modifies dialogue summary"
|
||||
msgstr "客户端修改对话摘要"
|
||||
|
|
|
|||
|
|
@ -6902,4 +6902,7 @@ msgid "License usage limit exceeded."
|
|||
msgstr "超出許可證使用限制。"
|
||||
|
||||
msgid "Image download failed, check network"
|
||||
msgstr "圖片下載失敗,檢查網絡"
|
||||
msgstr "圖片下載失敗,檢查網絡"
|
||||
|
||||
msgid "Client modifies dialogue summary"
|
||||
msgstr "用戶端修改對話摘要"
|
||||
Loading…
Reference in New Issue