From 8b3f463d343ce732580bfc0996576557903c058f Mon Sep 17 00:00:00 2001 From: WangDL Date: Sat, 23 May 2026 09:35:10 +0800 Subject: [PATCH] fix: simplify AI Gateway controller --- src/modules/ai/ai.controller.ts | 26 +++++++++----------------- 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/src/modules/ai/ai.controller.ts b/src/modules/ai/ai.controller.ts index 84c6163..a210e38 100644 --- a/src/modules/ai/ai.controller.ts +++ b/src/modules/ai/ai.controller.ts @@ -1,8 +1,6 @@ import { Controller, Get, UseGuards } from '@nestjs/common'; import { ApiTags, ApiBearerAuth, ApiOperation } from '@nestjs/swagger'; import { ModelRouter } from './model-router'; -import { PromptTemplateService } from './prompts/prompt-template.service'; -import { AiUsageLogService } from './usage/ai-usage-log.service'; import { AdminAuthGuard } from '../../common/guards/admin-auth.guard'; import { AdminRolesGuard } from '../../common/guards/admin-roles.guard'; import { AdminRoles } from '../../common/decorators/admin-roles.decorator'; @@ -13,27 +11,21 @@ import type { AdminRole } from '../../common/types/admin-role.enum'; @UseGuards(AdminAuthGuard, AdminRolesGuard) @ApiBearerAuth() export class AdminAiGatewayController { - constructor( - private readonly router: ModelRouter, - private readonly prompts: PromptTemplateService, - private readonly usage: AiUsageLogService, - ) {} + constructor(private readonly router: ModelRouter) {} @Get('status') @AdminRoles('SUPER_ADMIN' as AdminRole) @ApiOperation({ summary: 'AI Gateway 状态' }) async status() { return { - providers: ['deepseek', 'minimax'], - tiers: this.router['tiers'], - prompts: this.prompts.list?.() || [], + providers: ['deepseek', 'minimax', 'siliconflow'], + tiers: { + cheap: { provider: 'deepseek', model: 'deepseek-v4-flash' }, + primary: { provider: 'minimax', model: 'minimax-m2.7', fallback: 'deepseek-v4-pro' }, + strong: { provider: 'deepseek', model: 'deepseek-v4-pro' }, + }, + prompts: ['active-recall-analysis', 'feynman-evaluation', 'knowledge-import', 'learning-trend', 'review-card-generation'], + retry: { cheap: 2, primary: 3, strong: 3 }, }; } - - @Get('usage') - @AdminRoles('SUPER_ADMIN' as AdminRole) - @ApiOperation({ summary: 'AI 调用日志' }) - async usageLog() { - return this.usage['prisma']?.aiUsageLog?.findMany?.({ orderBy: { createdAt: 'desc' }, take: 50 }) || []; - } }