ResponseDTO.java 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. package org.lp.medicalai.dto;
  2. import com.fasterxml.jackson.annotation.JsonProperty;
  3. import lombok.Data;
  4. import lombok.NoArgsConstructor;
  5. import java.util.List;
  6. @NoArgsConstructor
  7. @Data
  8. public class ResponseDTO {
  9. @JsonProperty("header")
  10. private HeaderDTO header;
  11. @JsonProperty("payload")
  12. private PayloadDTO payload;
  13. @NoArgsConstructor
  14. @Data
  15. public static class HeaderDTO {
  16. /**
  17. * 错误码,0表示正常,非0表示出错
  18. */
  19. @JsonProperty("code")
  20. private Integer code;
  21. /**
  22. * 会话是否成功的描述信息
  23. */
  24. @JsonProperty("message")
  25. private String message;
  26. /**
  27. * 会话的唯一id,用于讯飞技术人员查询服务端会话日志使用,出现调用错误时建议留存该字段
  28. */
  29. @JsonProperty("sid")
  30. private String sid;
  31. /**
  32. * 会话状态,取值为[0,1,2];0代表首次结果;1代表中间结果;2代表最后一个结果
  33. */
  34. @JsonProperty("status")
  35. private Integer status;
  36. }
  37. @NoArgsConstructor
  38. @Data
  39. public static class PayloadDTO {
  40. @JsonProperty("choices")
  41. private ChoicesDTO choices;
  42. /**
  43. * 在最后一次结果返回
  44. */
  45. @JsonProperty("usage")
  46. private UsageDTO usage;
  47. @NoArgsConstructor
  48. @Data
  49. public static class ChoicesDTO {
  50. /**
  51. * 文本响应状态,取值为[0,1,2]; 0代表首个文本结果;1代表中间文本结果;2代表最后一个文本结果
  52. */
  53. @JsonProperty("status")
  54. private Integer status;
  55. /**
  56. * 返回的数据序号,取值为[0,9999999]
  57. */
  58. @JsonProperty("seq")
  59. private Integer seq;
  60. /**
  61. * 响应文本
  62. */
  63. @JsonProperty("text")
  64. private List<MsgDTO> text;
  65. }
  66. @NoArgsConstructor
  67. @Data
  68. public static class UsageDTO {
  69. @JsonProperty("text")
  70. private TextDTO text;
  71. @NoArgsConstructor
  72. @Data
  73. public static class TextDTO {
  74. /**
  75. * 保留字段,可忽略
  76. */
  77. @JsonProperty("question_tokens")
  78. private Integer questionTokens;
  79. /**
  80. * 包含历史问题的总tokens大小
  81. */
  82. @JsonProperty("prompt_tokens")
  83. private Integer promptTokens;
  84. /**
  85. * 回答的tokens大小
  86. */
  87. @JsonProperty("completion_tokens")
  88. private Integer completionTokens;
  89. /**
  90. * prompt_tokens和completion_tokens的和,也是本次交互计费的tokens大小
  91. */
  92. @JsonProperty("total_tokens")
  93. private Integer totalTokens;
  94. }
  95. }
  96. }
  97. }