添加聊天对话列表

This commit is contained in:
XIE7654
2025-07-18 11:34:20 +08:00
parent aef25112f6
commit c30db7d1ca
11 changed files with 470 additions and 4 deletions

View File

@@ -8,6 +8,8 @@ router.register(r'ai_api_key', views.AIApiKeyViewSet)
router.register(r'ai_model', views.AIModelViewSet)
router.register(r'tool', views.ToolViewSet)
router.register(r'knowledge', views.KnowledgeViewSet)
router.register(r'chat_conversation', views.ChatConversationViewSet)
urlpatterns = [
path('', include(router.urls)),

View File

@@ -3,9 +3,11 @@ __all__ = [
'AIModelViewSet',
'ToolViewSet',
'KnowledgeViewSet',
'ChatConversationViewSet',
]
from ai.views.ai_api_key import AIApiKeyViewSet
from ai.views.ai_model import AIModelViewSet
from ai.views.tool import ToolViewSet
from ai.views.knowledge import KnowledgeViewSet
from ai.views.knowledge import KnowledgeViewSet
from ai.views.chat_conversation import ChatConversationViewSet

View File

@@ -0,0 +1,39 @@
from rest_framework import serializers
from ai.models import ChatConversation
from utils.serializers import CustomModelSerializer
from utils.custom_model_viewSet import CustomModelViewSet
from django_filters import rest_framework as filters
class ChatConversationSerializer(CustomModelSerializer):
username = serializers.CharField(source='user.username', read_only=True)
"""
AI 聊天对话 序列化器
"""
class Meta:
model = ChatConversation
fields = '__all__'
read_only_fields = ['id', 'create_time', 'update_time']
class ChatConversationFilter(filters.FilterSet):
class Meta:
model = ChatConversation
fields = ['id', 'remark', 'creator', 'modifier', 'is_deleted', 'title', 'pinned', 'model',
'system_message', 'max_tokens', 'max_contexts']
class ChatConversationViewSet(CustomModelViewSet):
"""
AI 聊天对话 视图集
"""
queryset = ChatConversation.objects.filter(is_deleted=False).order_by('-id')
serializer_class = ChatConversationSerializer
filterset_class = ChatConversationFilter
search_fields = ['name'] # 根据实际字段调整
ordering_fields = ['create_time', 'id']
ordering = ['-create_time']
# 移入urls中

View File

@@ -14,7 +14,7 @@ class ${model_name}Serializer(CustomModelSerializer):
read_only_fields = ['id', 'create_time', 'update_time']
class $model_nameFilter(filters.FilterSet):
class ${model_name}Filter(filters.FilterSet):
class Meta:
model = $model_name
@@ -27,10 +27,12 @@ class ${model_name}ViewSet(CustomModelViewSet):
"""
queryset = $model_name.objects.filter(is_deleted=False).order_by('-id')
serializer_class = ${model_name}Serializer
filterset_class = [$filterset_fields]
filterset_class = ${model_name}Filter
search_fields = ['name'] # 根据实际字段调整
ordering_fields = ['create_time', 'id']
ordering = ['-create_time']
# 移入urls中
# router.register(r'${model_name_snake}', views.${model_name}ViewSet)
# 移入 __init__.py
# from ${app_name}.views.${model_name_snake} import ${model_name}ViewSet