| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 |
- namespace OASystem.API.OAMethodLib.TokenHubAI.Models;
- /// <summary>
- /// TokenHub AI 聊天响应
- /// </summary>
- public class ChatResponse
- {
- // ============ 响应标识 ============
- /// <summary>
- /// 响应 ID
- /// </summary>
- public string? Id { get; set; }
- /// <summary>
- /// 使用的模型
- /// </summary>
- public string? Model { get; set; }
- /// <summary>
- /// 对象类型
- /// </summary>
- public string? Object { get; set; }
- /// <summary>
- /// 创建时间戳
- /// </summary>
- public long? Created { get; set; }
- // ============ 响应内容 ============
- /// <summary>
- /// 回复内容
- /// </summary>
- public string? Content { get; set; }
- /// <summary>
- /// 完整的选择列表
- /// </summary>
- public List<Choice>? Choices { get; set; }
- /// <summary>
- /// Token 使用统计
- /// </summary>
- public TokenUsage? Usage { get; set; }
- // ============ 工具调用 ============
- /// <summary>
- /// 工具调用列表(Function Calling)
- /// </summary>
- public List<ToolCall>? ToolCalls { get; set; }
- // ============ 状态信息 ============
- /// <summary>
- /// 是否成功
- /// </summary>
- public bool IsSuccess { get; set; }
- /// <summary>
- /// 错误信息(如有)
- /// </summary>
- public string? ErrorMessage { get; set; }
- /// <summary>
- /// 完成原因
- /// </summary>
- /// <remarks>
- /// - stop:正常结束
- /// - length:达到最大长度
- /// - content_filter:内容被过滤
- /// - tool_calls:工具调用
- /// </remarks>
- public string? FinishReason { get; set; }
- /// <summary>
- /// 原始响应 JSON(调试用)
- /// </summary>
- public string? RawJson { get; set; }
- // ============ 工厂方法 ============
- /// <summary>
- /// 创建成功响应
- /// </summary>
- public static ChatResponse Success(string content, string? model = null)
- {
- return new ChatResponse
- {
- IsSuccess = true,
- Content = content,
- Model = model,
- FinishReason = "stop"
- };
- }
- /// <summary>
- /// 创建失败响应
- /// </summary>
- public static ChatResponse Failure(string errorMessage)
- {
- return new ChatResponse
- {
- IsSuccess = false,
- ErrorMessage = errorMessage
- };
- }
- }
- /// <summary>
- /// 选择项
- /// </summary>
- public class Choice
- {
- /// <summary>
- /// 索引
- /// </summary>
- public int Index { get; set; }
- /// <summary>
- /// 消息
- /// </summary>
- public ChatMessage? Message { get; set; }
- /// <summary>
- /// 增量消息(流式)
- /// </summary>
- public ChatMessage? Delta { get; set; }
- /// <summary>
- /// 完成原因
- /// </summary>
- public string? FinishReason { get; set; }
- /// <summary>
- /// 日志概率
- /// </summary>
- public object? LogProbs { get; set; }
- }
- /// <summary>
- /// Token 使用统计
- /// </summary>
- public class TokenUsage
- {
- /// <summary>
- /// 输入 Token 数
- /// </summary>
- public int PromptTokens { get; set; }
- /// <summary>
- /// 输出 Token 数
- /// </summary>
- public int CompletionTokens { get; set; }
- /// <summary>
- /// 总 Token 数
- /// </summary>
- public int TotalTokens { get; set; }
- /// <summary>
- /// 获取使用详情
- /// </summary>
- public override string ToString()
- {
- return $"输入: {PromptTokens}, 输出: {CompletionTokens}, 总计: {TotalTokens}";
- }
- }
|