1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- using System.Net;
- using System.Text.Json;
- namespace HTEXGpt.Models
- {
- public class ChatRequest
- {
- /// <summary>
- /// @ApiModelProperty(value = "聊天上下文信息", notes = "
- /// (1)最后一个message为当前请求的信息,前面的message为历史对话信息\n
- /// (2)成员数目必须为奇数\n
- /// (3)示例中message中的role值分别为user、assistant;
- /// 奇数位message中的role值为user;
- /// 偶数位值为assistant example = "[{\"role\":\"user\",\"content\":\"你好\"},{\"role\":\"assistant\",\"content\":\"需要什么帮助\"},{\"role\":\"user\",\"content\":\"自我介绍下\"}]")
- /// @NotNull(message = "聊天上下文信息不能为空")
- /// </summary>
- public List<MessageDTO> messages{ get; set; }= new List<MessageDTO>();
- /// <summary>
- /// @ApiModelProperty(value = "模型人设", notes = "主要用于人设设定,例如,你是xxx公司制作的AI助手,最大20000字符", example = "你是一名天气助手,需要提供天气查询服务")
- /// </summary>
- public string? system { get; set; }
- /// <summary>
- /// @ApiModelProperty(value = "请求参数", notes = "请求参数", example = "{\"key\":\"value\"}")
- /// </summary>
- public ChatParam @params { get; set; }
- /// <summary>
- /// 模型类型
- /// </summary>
- public string? modelType { get; set; }
- public string? uid { get; set; }
- }
- public class MessageDTO
- {
- /// <summary>
- /// @ApiModelProperty(value = "角色", notes = "说明: user-用户, assistant-助手", example = "user")
- /// </summary>
- public string? role { get; set; }
- /// <summary>
- /// @ApiModelProperty(value = "消息内容", notes = "说明: 消息内容", example = "你好")
- /// </summary>
- public string? content { get; set; }
- }
- public class ChatParam
- {
- // public int max_tokens { get; set; }
- /// <summary>
- /// 通义千问0-2 ,讯飞星火0-1,默认0.5 ,文心一言 0-1,默认0.95
- /// </summary>
- public double temperature { get; set; }
- /// <summary>
- /// 通义千问0-2 ,讯飞星火0-1,文心一言 0-1,默认0.7
- /// </summary>
- public double top_p { get; set; }
- // public double presencePenalty { get; set; }
- // public double frequencyPenalty { get; set; }
- }
- public class ChatResponse
- {
- public string? result{ get; set; }
- /// <summary>
- /// 总花费
- /// </summary>
- public double total_tokens { get; set; }
- /// <summary>
- /// 输出花费
- /// </summary>
- public double completion_tokens { get; set; }
- /// <summary>
- /// 输入花费
- /// </summary>
- public double prompt_tokens { get; set; }
- public long time { get; set; }
- public string? error { get; set; }
- public HttpStatusCode statusCode { get; set; }
- }
- }
|