ChatMessage.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. namespace OASystem.API.OAMethodLib.TokenHubAI.Models;
  2. /// <summary>
  3. /// 聊天消息
  4. /// </summary>
  5. public class ChatMessage
  6. {
  7. /// <summary>
  8. /// 角色类型
  9. /// </summary>
  10. /// <remarks>
  11. /// - system: 系统提示,设定 AI 角色
  12. /// - user: 用户消息
  13. /// - assistant: AI 助手回复
  14. /// - tool: 工具调用结果
  15. /// </remarks>
  16. public string Role { get; set; } = "user";
  17. /// <summary>
  18. /// 消息内容
  19. /// </summary>
  20. public string Content { get; set; } = string.Empty;
  21. /// <summary>
  22. /// 工具调用 ID(用于 tool 角色)
  23. /// </summary>
  24. public string? ToolCallId { get; set; }
  25. /// <summary>
  26. /// 工具调用列表(用于 assistant 角色)
  27. /// </summary>
  28. public List<ToolCall>? ToolCalls { get; set; }
  29. /// <summary>
  30. /// 创建用户消息
  31. /// </summary>
  32. public static ChatMessage User(string content) => new() { Role = "user", Content = content };
  33. /// <summary>
  34. /// 创建系统消息
  35. /// </summary>
  36. public static ChatMessage System(string content) => new() { Role = "system", Content = content };
  37. /// <summary>
  38. /// 创建助手消息
  39. /// </summary>
  40. public static ChatMessage Assistant(string content) => new() { Role = "assistant", Content = content };
  41. }