使用 maf重构
This commit is contained in:
141
Service/AgentFramework/AgentResult.cs
Normal file
141
Service/AgentFramework/AgentResult.cs
Normal file
@@ -0,0 +1,141 @@
|
||||
namespace Service.AgentFramework;
|
||||
|
||||
/// <summary>
|
||||
/// Agent 执行结果的标准化输出模型
|
||||
/// </summary>
|
||||
/// <typeparam name="T">数据类型</typeparam>
|
||||
public record AgentResult<T>
|
||||
{
|
||||
/// <summary>
|
||||
/// Agent 执行的主要数据结果
|
||||
/// </summary>
|
||||
public T Data { get; init; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 多轮提炼后的总结信息(3-5 句,包含关键指标)
|
||||
/// </summary>
|
||||
public string Summary { get; init; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Agent 执行的步骤链(用于可视化和调试)
|
||||
/// </summary>
|
||||
public List<ExecutionStep> Steps { get; init; } = new();
|
||||
|
||||
/// <summary>
|
||||
/// 元数据(统计信息、性能指标等)
|
||||
/// </summary>
|
||||
public Dictionary<string, object?> Metadata { get; init; } = new();
|
||||
|
||||
/// <summary>
|
||||
/// 执行是否成功
|
||||
/// </summary>
|
||||
public bool Success { get; init; } = true;
|
||||
|
||||
/// <summary>
|
||||
/// 错误信息(如果有的话)
|
||||
/// </summary>
|
||||
public string? Error { get; init; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Agent 执行步骤
|
||||
/// </summary>
|
||||
public record ExecutionStep
|
||||
{
|
||||
/// <summary>
|
||||
/// 步骤名称
|
||||
/// </summary>
|
||||
public string Name { get; init; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 步骤描述
|
||||
/// </summary>
|
||||
public string Description { get; init; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 步骤状态:Pending, Running, Completed, Failed
|
||||
/// </summary>
|
||||
public string Status { get; init; } = "Pending";
|
||||
|
||||
/// <summary>
|
||||
/// 执行耗时(毫秒)
|
||||
/// </summary>
|
||||
public long DurationMs { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 步骤输出数据(可选)
|
||||
/// </summary>
|
||||
public object? Output { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 错误信息(如果步骤失败)
|
||||
/// </summary>
|
||||
public string? Error { get; init; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 分类结果模型
|
||||
/// </summary>
|
||||
public record ClassificationResult
|
||||
{
|
||||
/// <summary>
|
||||
/// 原始摘要
|
||||
/// </summary>
|
||||
public string Reason { get; init; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 分类名称
|
||||
/// </summary>
|
||||
public string Classify { get; init; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 交易类型
|
||||
/// </summary>
|
||||
public TransactionType Type { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// AI 置信度评分 (0-1)
|
||||
/// </summary>
|
||||
public double Confidence { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 影响的交易记录 ID
|
||||
/// </summary>
|
||||
public List<long> TransactionIds { get; init; } = new();
|
||||
|
||||
/// <summary>
|
||||
/// 参考的相似记录
|
||||
/// </summary>
|
||||
public List<string> References { get; init; } = new();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 账单解析结果模型
|
||||
/// </summary>
|
||||
public record TransactionParseResult
|
||||
{
|
||||
/// <summary>
|
||||
/// 金额
|
||||
/// </summary>
|
||||
public decimal Amount { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 摘要
|
||||
/// </summary>
|
||||
public string Reason { get; init; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 日期
|
||||
/// </summary>
|
||||
public DateTime Date { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 交易类型
|
||||
/// </summary>
|
||||
public TransactionType Type { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 分类
|
||||
/// </summary>
|
||||
public string? Classify { get; init; }
|
||||
}
|
||||
Reference in New Issue
Block a user