Merge remote-tracking branch 'origin/develop' into develop

develop
hhb@hotmail.com 1 month ago
commit c74df513b4

@ -95,7 +95,7 @@ public class AiDeepSeekController {
* @return
*/
@PostMapping("session/userid")
@ApiOperation("查询自己的会话列表")
@ApiOperation("查询当前登录的会话列表")
public R<List<DeepSeekSession>> UserId(){
String userId = SecurityUtil.getLoginUser().getId();
List<DeepSeekSession> sessions = deepSeekSessionService.UserSessionList(userId);
@ -108,7 +108,7 @@ public class AiDeepSeekController {
* @return
*/
@GetMapping("session/history/{sessionId}")
@ApiOperation("查询我的聊天记录")
@ApiOperation("查询当前登录的某个聊天记录")
public R<List<DeepSeekMessage>> getHistory(@PathVariable String sessionId) {
String userId = ((TmdUserDetail) SecurityUtil.getAuthentication().getPrincipal()).getClaims().getSubject();
List<DeepSeekMessage> history = deepSeekSessionService.listHistory(sessionId, userId);

@ -1,5 +1,6 @@
package cn.teammodel.model.dto.ai;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@ -8,8 +9,9 @@ import javax.validation.constraints.NotBlank;
public class ChatCompletionReqDto {
private String sessionId;
/**
* id
* id
*/
@ApiModelProperty("会话id没有则为空")
private String appId;
@NotBlank(message = "请输入消息内容")
private String text;

@ -16,6 +16,4 @@ public class ChatModelDto {
public ArrayList<String> chat;
public ArrayList<String> cycleChats;
public ArrayList<String> end;
}

@ -1,6 +1,9 @@
package cn.teammodel.model.dto.ai.deepseek;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.Builder;
import lombok.Builder.Default;
import java.util.List;
@ -37,8 +40,19 @@ import java.util.List;
*/
@Data
public class ChatRequestDto {
@ApiModelProperty("会话模型")
private String model;
@ApiModelProperty("会话内容")
private List<MessageDto> messages;
/**
* 0 2 0.8使 0.2使
* top_p
*/
private int temperature;
private int max_tokens;
/**
* 1 8192 completion token token token
* max_tokens使 4096
*/
@ApiModelProperty("最大生成token数")
private int max_tokens = 2048;
}

@ -5,7 +5,7 @@ import lombok.Data;
import java.util.List;
/**
* json
* DeepSeekjson
*/
@Data
public class ChatResponseDto {

@ -0,0 +1,25 @@
package cn.teammodel.model.dto.ai.deepseek;
import cn.teammodel.model.entity.ai.DeepSeekSession.DeepSeekMessage;
import lombok.Data;
/**
*
*/
@Data
public class HistoryRequestDto {
/**
* id
*/
private String sessionId;
/**
* id
*/
private String userId;
/**
*
*/
private DeepSeekMessage message;
}

@ -1,5 +1,6 @@
package cn.teammodel.model.dto.ai.deepseek;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
@ -7,8 +8,20 @@ import lombok.Data;
*/
@Data
public class MessageDto {
/**
*
*/
@ApiModelProperty("角色")
private String role;
/**
* id
*/
@ApiModelProperty("会话id没有则为空")
private String sessionId;
/**
*
*/
@ApiModelProperty("提问内容")
private String content;
}

@ -4,6 +4,7 @@ import cn.hutool.core.lang.UUID;
import cn.teammodel.model.entity.BaseItem;
import com.azure.spring.data.cosmos.core.mapping.Container;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@ -23,31 +24,37 @@ public class DeepSeekSession extends BaseItem {
/**
* id
*/
@ApiModelProperty("用户id")
public String userId;
/**
*
*/
@ApiModelProperty("会话标题")
private String title;
/**
* completion
*/
@ApiModelProperty("模型名")
private String model;
/**
*
*/
@ApiModelProperty("创建时间")
private long createTime;
/**
* ,
*/
@ApiModelProperty("更新时间")
private Long updateTime;
/**
*
*/
@ApiModelProperty("历史记录")
private List<DeepSeekMessage> history;
@Data
@ -55,6 +62,7 @@ public class DeepSeekSession extends BaseItem {
/**
*
*/
@ApiModelProperty("该对话的唯一标识符")
private String id;
/**
@ -64,16 +72,19 @@ public class DeepSeekSession extends BaseItem {
* assistant
* system
*/
@ApiModelProperty("角色")
private String role;
/**
*
*/
@ApiModelProperty("用户提问文本")
private String userText;
/**
*
*
*/
@ApiModelProperty("模型回答的文本")
private String aiText;
/**
@ -83,11 +94,13 @@ public class DeepSeekSession extends BaseItem {
* content_filter
* insufficient_system_resource
*/
@ApiModelProperty("停止原因 [stop, length, content_filter, tool_calls, insufficient_system_resource] 模型停止生成 token 的原因")
private String finish_reason;
/**
* Unix
*/
@ApiModelProperty("提问内容创建时间")
private Long createTime;
public static DeepSeekMessage of(String userText, String aiText){

@ -25,7 +25,7 @@ import java.util.Set;
public interface AppraiseRepository extends CosmosRepository<Appraise, String> {
Appraise findBySchoolId(String schoolId, PartitionKey partitionKey);
Appraise findAppraiseBySchoolIdAndPeriodIdAndCode(String schoolId, String periodId, String code);
Appraise findAppraiseById(String id, PartitionKey partitionKey);
/**
*
*/

@ -19,6 +19,7 @@ import java.util.Map;
* @create 2023-11-20 17:46
*/
public interface EvaluationService {
Appraise getTree(GetEvaluateTreeDto getEvaluateTreeDto);
/**

@ -99,7 +99,7 @@ public class DeepSeekServiceImpl implements DeepSeekService {
session.setCreateTime(Instant.now().toEpochMilli());
session.setUpdateTime(Instant.now().toEpochMilli());
session.setHistory(history);
session =deepSeekRepository.save(session);
session = deepSeekRepository.save(session);
}else {
session.getHistory().add(savaMessage);
deepSeekService.updateSession(session, message.getSessionId());

@ -25,6 +25,7 @@ import cn.teammodel.utils.*;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.azure.cosmos.models.CosmosPatchOperations;
import com.azure.cosmos.models.PartitionKey;
import com.azure.spring.data.cosmos.core.query.CosmosPageRequest;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.pdf.PdfReader;

@ -1,3 +1,4 @@
key=sk-83b5b6dd85c745cbae2572ea01c54e44
url=https://api.deepseek.com/chat/completions
model=deepseek-chat
model=deepseek-chat
modelReasoner=deepseek-reasoner
Loading…
Cancel
Save