feat: 修改chat
This commit is contained in:
@@ -1,4 +1,6 @@
|
||||
from rest_framework import serializers
|
||||
from rest_framework.decorators import action
|
||||
from rest_framework.serializers import ModelSerializer
|
||||
|
||||
from ai.models import ChatConversation
|
||||
from utils.serializers import CustomModelSerializer
|
||||
@@ -25,6 +27,14 @@ class ChatConversationFilter(filters.FilterSet):
|
||||
'system_message', 'max_tokens', 'max_contexts']
|
||||
|
||||
|
||||
class ConversationsSerializer(ModelSerializer):
|
||||
"""
|
||||
AI 聊天对话 列表序列化器
|
||||
"""
|
||||
class Meta:
|
||||
model = ChatConversation
|
||||
fields = ['id', 'title', 'update_time']
|
||||
|
||||
class ChatConversationViewSet(CustomModelViewSet):
|
||||
"""
|
||||
AI 聊天对话 视图集
|
||||
@@ -36,4 +46,22 @@ class ChatConversationViewSet(CustomModelViewSet):
|
||||
ordering_fields = ['create_time', 'id']
|
||||
ordering = ['-create_time']
|
||||
|
||||
# 移入urls中
|
||||
def create(self, request, *args, **kwargs):
|
||||
request.data['max_tokens'] = 2048
|
||||
request.data['max_contexts'] = 10
|
||||
if request.data['platform'] == 'tongyi':
|
||||
model = 'qwen-plus'
|
||||
else:
|
||||
model = 'deepseek-chat'
|
||||
request.data['model'] = model
|
||||
request.data['temperature'] = 0.7
|
||||
return super().create(request, *args, **kwargs)
|
||||
|
||||
@action(methods=['get'], detail=False)
|
||||
def conversations(self):
|
||||
queryset = self.get_queryset().filter(creator=self.request.user.username).values('id', 'title', 'update_time')
|
||||
serializer = ConversationsSerializer(queryset, many=True)
|
||||
return self._build_response(
|
||||
data=serializer.data,
|
||||
message="ok"
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user