DeepSeekDataModel.cs 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. using System.Collections.Generic;
  2. #region DeepSeek API Key 配置数据模型
  3. public class Configuration
  4. {
  5. public string ApiKey { get; }
  6. public Configuration(string apiKey)
  7. {
  8. ApiKey = apiKey;
  9. }
  10. }
  11. #endregion
  12. #region DeepSeek 请求数据模型
  13. /// <summary>
  14. /// 聊天对话消息完成请求
  15. /// </summary>
  16. public class ChatCompletionRequest
  17. {
  18. /// <summary>
  19. /// 消息列表
  20. /// </summary>
  21. public List<ChatMessage> messages;
  22. /// <summary>
  23. /// AI模型,是聊天模型还是推理模型
  24. /// </summary>
  25. public string model;
  26. /// <summary>
  27. /// 如果设置为 True,将会以 SSE(server-sent events)的形式以流式发送消息增量。消息流以 data: [DONE] 结尾。 unity一般设置false
  28. /// </summary>
  29. public bool stream;
  30. //最大token
  31. public int max_tokens;
  32. }
  33. public class ChatMessage
  34. {
  35. /// <summary>
  36. /// 消息内容
  37. /// </summary>
  38. public string content;
  39. /// <summary>
  40. /// 角色,是哪个角色的消息(是用户消息还是DP系统消息又或者是我们自定义的NPC角色消息)
  41. /// </summary>
  42. public string role;
  43. }
  44. #endregion
  45. # region DeepSeek 响应数据模型
  46. public class ChatCompletionResponse
  47. {
  48. /// <summary>
  49. /// iD
  50. /// </summary>
  51. public string id;
  52. /// <summary>
  53. /// 创建时间
  54. /// </summary>
  55. public long created;
  56. /// <summary>
  57. /// AI模型,是聊天模型还是推理模型
  58. /// </summary>
  59. public string model;
  60. /// <summary>
  61. /// 可选择的消息内容
  62. /// </summary>
  63. public List<ChatResponseMessage> choices;
  64. }
  65. public class ChatResponseMessage
  66. {
  67. /// <summary>
  68. /// 消息索引
  69. /// </summary>
  70. public int index;
  71. /// <summary>
  72. /// 消息列表
  73. /// </summary>
  74. public ChatMessage message;
  75. /// <summary>
  76. /// AI模型,是聊天模型还是推理模型
  77. /// </summary>
  78. public string finish_reason;
  79. }
  80. #endregion