feat: 完成模型api改造
This commit is contained in:
@@ -50,6 +50,7 @@ public class AiChatService : ApplicationService
|
||||
private readonly IAccountService _accountService;
|
||||
private readonly ISqlSugarRepository<AgentStoreAggregateRoot> _agentStoreRepository;
|
||||
private readonly ISqlSugarRepository<AiModelEntity> _aiModelRepository;
|
||||
private const string FreeModelId = "DeepSeek-V3";
|
||||
|
||||
public AiChatService(IHttpContextAccessor httpContextAccessor,
|
||||
AiBlacklistManager aiBlacklistManager,
|
||||
@@ -58,7 +59,8 @@ public class AiChatService : ApplicationService
|
||||
ModelManager modelManager,
|
||||
PremiumPackageManager premiumPackageManager,
|
||||
ChatManager chatManager, TokenManager tokenManager, IAccountService accountService,
|
||||
ISqlSugarRepository<AgentStoreAggregateRoot> agentStoreRepository, ISqlSugarRepository<AiModelEntity> aiModelRepository)
|
||||
ISqlSugarRepository<AgentStoreAggregateRoot> agentStoreRepository,
|
||||
ISqlSugarRepository<AiModelEntity> aiModelRepository)
|
||||
{
|
||||
_httpContextAccessor = httpContextAccessor;
|
||||
_aiBlacklistManager = aiBlacklistManager;
|
||||
@@ -94,9 +96,9 @@ public class AiChatService : ApplicationService
|
||||
public async Task<List<ModelGetListOutput>> GetModelAsync()
|
||||
{
|
||||
var output = await _aiModelRepository._DbQueryable
|
||||
.Where(x=>x.IsEnabled==true)
|
||||
.Where(x => x.IsEnabled == true)
|
||||
.Where(x => x.ModelType == ModelTypeEnum.Chat)
|
||||
.Where(x => x.ModelApiType == ModelApiTypeEnum.OpenAi)
|
||||
.Where(x => x.ModelApiType == ModelApiTypeEnum.Completions)
|
||||
.OrderByDescending(x => x.OrderNum)
|
||||
.Select(x => new ModelGetListOutput
|
||||
{
|
||||
@@ -105,8 +107,19 @@ public class AiChatService : ApplicationService
|
||||
ModelName = x.Name,
|
||||
ModelDescribe = x.Description,
|
||||
Remark = x.Description,
|
||||
IsPremiumPackage = x.IsPremium
|
||||
IsPremiumPackage = x.IsPremium,
|
||||
ModelApiType = x.ModelApiType,
|
||||
}).ToListAsync();
|
||||
|
||||
output.ForEach(x =>
|
||||
{
|
||||
if (x.ModelId == FreeModelId)
|
||||
{
|
||||
x.IsPremiumPackage = false;
|
||||
x.IsFree = true;
|
||||
}
|
||||
});
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
@@ -122,7 +135,7 @@ public class AiChatService : ApplicationService
|
||||
CancellationToken cancellationToken)
|
||||
{
|
||||
//除了免费模型,其他的模型都要校验
|
||||
if (!input.Model.Contains("DeepSeek-R1"))
|
||||
if (input.Model!=FreeModelId)
|
||||
{
|
||||
//有token,需要黑名单校验
|
||||
if (CurrentUser.IsAuthenticated)
|
||||
@@ -173,22 +186,10 @@ public class AiChatService : ApplicationService
|
||||
{
|
||||
throw new BusinessException("当前接口不支持第三方使用");
|
||||
}
|
||||
|
||||
input.Model = "gpt-5-chat";
|
||||
if (CurrentUser.IsAuthenticated)
|
||||
{
|
||||
await _aiBlacklistManager.VerifiyAiBlacklist(CurrentUser.GetId());
|
||||
if (CurrentUser.IsAiVip())
|
||||
{
|
||||
input.Model = "gpt-5-chat";
|
||||
}
|
||||
else
|
||||
{
|
||||
input.Model = "gpt-4.1-mini";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
input.Model = "DeepSeek-R1-0528";
|
||||
}
|
||||
|
||||
//ai网关代理httpcontext
|
||||
|
||||
Reference in New Issue
Block a user