add api model

This commit is contained in:
xie7654
2025-07-11 10:24:38 +08:00
parent c6e41c92ee
commit bd9f9c39e3
12 changed files with 498 additions and 5 deletions

View File

@@ -54,7 +54,7 @@ class AIModel(CoreModel):
class Meta:
db_table = "ai_model"
verbose_name = "AI 模型"
verbose_name = "模型配置"
verbose_name_plural = verbose_name
def __str__(self):

View File

@@ -5,6 +5,8 @@ from . import views
router = routers.DefaultRouter()
router.register(r'ai_api_key', views.AIApiKeyViewSet)
router.register(r'ai_model', views.AIModelViewSet)
urlpatterns = [
path('', include(router.urls)),

View File

@@ -1,5 +1,7 @@
__all__ = [
'AIApiKeyViewSet'
'AIApiKeyViewSet',
'AIModelViewSet',
]
from ai.views.ai_api_key import AIApiKeyViewSet
from ai.views.ai_api_key import AIApiKeyViewSet
from ai.views.ai_model import AIModelViewSet

View File

@@ -0,0 +1,28 @@
from rest_framework import serializers
from ai.models import AIModel
from utils.serializers import CustomModelSerializer
from utils.custom_model_viewSet import CustomModelViewSet
class AIModelSerializer(CustomModelSerializer):
api_key_name = serializers.CharField(source='key.name', read_only=True)
"""
AI 模型 序列化器
"""
class Meta:
model = AIModel
fields = '__all__'
read_only_fields = ['id', 'create_time', 'update_time']
class AIModelViewSet(CustomModelViewSet):
"""
AI 模型 视图集
"""
queryset = AIModel.objects.filter(is_deleted=False).select_related('key').order_by('-id')
serializer_class = AIModelSerializer
filterset_fields = ['id', 'remark', 'creator', 'modifier', 'is_deleted', 'name', 'sort', 'status', 'platform',
'model', 'max_tokens', 'max_contexts']
search_fields = ['name'] # 根据实际字段调整
ordering_fields = ['create_time', 'id']
ordering = ['-create_time']