【解决todo】驼峰命名、优化字段注释

This commit is contained in:
cherishsince 2024-06-26 16:25:10 +08:00
parent 0535c294f9
commit 89db7883e3
3 changed files with 35 additions and 60 deletions

View File

@ -119,8 +119,8 @@ public class YiYanChatClient implements ChatClient, StreamingChatClient {
// 复制 YiYanOptions 属性 request 这里 options 属性和 request 基本保持一致
YiYanChatOptions useOptions = getYiYanOptions(prompt);
BeanUtil.copyProperties(useOptions, request);
request.setTop_p(useOptions.getTopP())
.setMax_output_tokens(useOptions.getMaxOutputTokens())
request.setTopP(useOptions.getTopP())
.setMaxOutputTokens(useOptions.getMaxOutputTokens())
.setTemperature(useOptions.getTemperature())
.setSystem(systemPrompt)
.setStream(stream);

View File

@ -1,6 +1,7 @@
package cn.iocoder.yudao.framework.ai.core.model.yiyan.api;
import cn.iocoder.yudao.framework.ai.core.model.yiyan.exception.YiYanApiException;
import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
import org.springframework.http.HttpStatusCode;
import org.springframework.http.ResponseEntity;
import org.springframework.web.reactive.function.client.WebClient;
@ -85,7 +86,7 @@ public class YiYanApi {
-> uriBuilder.path(useChatModel.getUri())
.queryParam("access_token", token)
.build())
.body(Mono.just(request), YiYanChatCompletionRequest.class)
.body(Mono.just(JsonUtils.toJsonString(request)), String.class)
.retrieve()
.toEntity(YiYanChatCompletionResponse.class)
.block();

View File

@ -1,10 +1,10 @@
package cn.iocoder.yudao.framework.ai.core.model.yiyan.api;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.util.List;
// TODO @fan字段驼峰字段注释都可以删除贴个链接就好
/**
* 文心一言 Completion Request
*
@ -20,96 +20,70 @@ public class YiYanChatCompletionRequest {
}
/**
* 聊天上下文信息
* 必填
* 聊天上下文信息
*/
private List<Message> messages;
/**
* 一个可触发函数的描述列表说明
* 1支持的function数量无限制
* 2长度限制最后一个message的content长度即此轮对话的问题functions和system字段总内容不能超过20480 个字符且不能超过5120 tokens
* 必填
* functions 函数
*/
private List<Function> functions;
/**
* 说明
* 1较高的数值会使输出更加随机而较低的数值会使其更加集中和确定
* 2默认0.8范围 (0, 1.0]不能为0
* 必填
* temperature
*/
private Float temperature;
/**
* 说明
* 1影响输出文本的多样性取值越大生成文本的多样性越强
* 2默认0.8取值范围 [0, 1.0]
* 必填
* topP
*/
private Float top_p;
@JsonProperty("top_p")
private Float topP;
/**
* 通过对已生成的token增加惩罚减少重复生成的现象说明
* 1值越大表示惩罚越大
* 2默认1.0取值范围[1.0, 2.0]
*
* 必填
* 通过对已生成的token增加惩罚减少重复生成的现象
*/
private Float penalty_score;
@JsonProperty("penalty_score")
private Float penaltyScore;
/**
* 是否以流式接口的形式返回数据默认false
* 必填
* stream 模式
*/
private Boolean stream;
/**
* 模型人设主要用于人设设定例如你是xxx公司制作的AI助手说明
* 1长度限制最后一个message的content长度即此轮对话的问题functions和system字段总内容不能超过20480 个字符且不能超过5120 tokens
* 2如果同时使用system和functions可能暂无法保证使用效果持续进行优化
* 必填
* system 预设角色
*/
private String system;
/**
* 生成停止标识当模型生成结果以stop中某个元素结尾时停止文本生成说明
* 1每个元素长度不超过20字符
* 2最多4个元素
* 必填
* 生成停止标识当模型生成结果以stop中某个元素结尾时停止文本生成
*/
private List<String> stop;
/**
* 是否强制关闭实时搜索功能默认false表示不关闭
* 必填
* 是否强制关闭实时搜索功能
*/
private Boolean disable_search;
@JsonProperty("disable_search")
private Boolean disableSearch;
/**
* 是否开启上角标返回说明
* 1开启后有概率触发搜索溯源信息search_infosearch_info内容见响应参数介绍
* 2默认false不开启
* 必填
* 是否开启上角标返回
*/
private Boolean enable_citation;
@JsonProperty("enable_citation")
private Boolean enableCitation;
/**
* 指定模型最大输出token数范围[2, 2048]
* 必填
* 最大输出 token
*/
private Integer max_output_tokens;
@JsonProperty("max_output_tokens")
private Integer maxOutputTokens;
/**
* 指定响应内容的格式说明
* 1可选值
* · json_object以json格式返回可能出现不满足效果情况
* · text以文本格式返回
* 2如果不填写参数response_format值默认为text
* 必填
* 返回格式 textjson_object
*/
private String response_format;
@JsonProperty("response_format")
private String responseFormat;
/**
* 表示最终用户的唯一标识符
* 必填
* 用户 id
*/
private String user_id;
@JsonProperty("user_id")
private String userId;
/**
* 在函数调用场景下提示大模型选择指定的函数非强制说明指定的函数名必须在functions中存在
* 必填
*
* ERNIE-4.0-8K 模型没有这个字段
* tip: ERNIE-4.0-8K 模型没有这个字段
*/
private String tool_choice;
@JsonProperty("tool_choice")
private String toolChoice;
@Data