fix(ai): meter synchronous generations
This commit is contained in:
@@ -20,14 +20,16 @@ public sealed class AiWorkspaceController : ControllerBase
|
||||
private readonly IConfiguration _config;
|
||||
private readonly JobTrackerApi.Data.JobTrackerContext? _db;
|
||||
private readonly AiUsageMeter? _usage;
|
||||
private readonly AiUsageExecutionScope? _usageScope;
|
||||
|
||||
public AiWorkspaceController(UserManager<ApplicationUser> users, IAiWorkspaceService workspace, IConfiguration config, JobTrackerApi.Data.JobTrackerContext? db = null, AiUsageMeter? usage = null)
|
||||
public AiWorkspaceController(UserManager<ApplicationUser> users, IAiWorkspaceService workspace, IConfiguration config, JobTrackerApi.Data.JobTrackerContext? db = null, AiUsageMeter? usage = null, AiUsageExecutionScope? usageScope = null)
|
||||
{
|
||||
_users = users;
|
||||
_workspace = workspace;
|
||||
_config = config;
|
||||
_db = db;
|
||||
_usage = usage;
|
||||
_usageScope = usageScope;
|
||||
}
|
||||
|
||||
public sealed record GenerateRequest(string Module, string? Mode, string? ExtraContext);
|
||||
@@ -71,6 +73,7 @@ public sealed class AiWorkspaceController : ControllerBase
|
||||
|
||||
try
|
||||
{
|
||||
using var metering = _usageScope?.Suppress();
|
||||
var interaction = await _workspace.GenerateAsync(
|
||||
user.Id, jobId, user.ProfileCvText ?? string.Empty, ResolveName(user),
|
||||
new AiGenerateRequest(request.Module, request.Mode, request.ExtraContext), ResolveProvider(), ct);
|
||||
|
||||
Reference in New Issue
Block a user