Merge pull request #58 from winkeylucky/winkey-0407-02
修改应用使用,通过配置的应用的appid modelname字段关联 0407 02
| | |
| | | sb.append("\n####").append(prompt); |
| | | } |
| | | sb.append( (nearestList.size() > 0 ? "\n\n注æï¼åçé®é¢æ¶ï¼é¡»ä¸¥æ ¼æ ¹æ®æç»ä½ çç³»ç»ä¸ä¸æå
容åæè¿è¡åçï¼è¯·ä¸è¦èªå·±åæ¥,åçæ¶ä¿æåæ¥ææ¬çæ®µè½å±çº§" : "")); |
| | | message.setRole(Message.Role.USER.getName()); |
| | | message.setContent(sb.toString()); |
| | | return sseService.sseChat(chatRequest, request); |
| | | } |
| | |
| | | private String kid; |
| | | |
| | | private String userId; |
| | | |
| | | /** |
| | | * 1 èç½æç´¢ |
| | | */ |
| | | private int chat_type; |
| | | |
| | | /** |
| | | * åºç¨ID |
| | | */ |
| | | private String appId; |
| | | // |
| | | |
| | | // |
| | |
| | | */ |
| | | private String updateIp; |
| | | |
| | | /** |
| | | * 模ååç§° |
| | | */ |
| | | private String modelName; |
| | | |
| | | |
| | | /** |
| | | * 模åsystem |
| | | */ |
| | | private String systemPrompt; |
| | | |
| | | } |
| | |
| | | */ |
| | | private String updateIp; |
| | | |
| | | /** |
| | | * 模ååç§° |
| | | */ |
| | | private String modelName; |
| | | |
| | | /** |
| | | * 模åsystem |
| | | */ |
| | | private String systemPrompt; |
| | | |
| | | } |
| | |
| | | @ExcelProperty(value = "æ´æ°IP") |
| | | private String updateIp; |
| | | |
| | | /** |
| | | * 模ååç§° |
| | | */ |
| | | @ExcelProperty(value = "模ååç§°") |
| | | private String modelName; |
| | | |
| | | /** |
| | | * 模åsystem |
| | | */ |
| | | private String systemPrompt; |
| | | |
| | | |
| | | } |
| | |
| | | import org.ruoyi.system.domain.SysModel; |
| | | import org.ruoyi.system.domain.bo.ChatMessageBo; |
| | | import org.ruoyi.system.domain.request.translation.TranslationRequest; |
| | | import org.ruoyi.system.domain.vo.ChatGptsVo; |
| | | import org.ruoyi.system.listener.SSEEventSourceListener; |
| | | import org.ruoyi.system.service.*; |
| | | import org.springframework.core.io.InputStreamResource; |
| | |
| | | private final ISysModelService sysModelService; |
| | | |
| | | private final ConfigService configService; |
| | | |
| | | private final IChatGptsService chatGptsService; |
| | | |
| | | static final OkHttpClient HTTP_CLIENT = new OkHttpClient().newBuilder().build(); |
| | | |
| | |
| | | chatMessageBo.setContent(chatString); |
| | | |
| | | String model = chatRequest.getModel(); |
| | | // 妿æ¯gptsç³»åæ¨¡å |
| | | if (chatRequest.getModel().startsWith("gpt-4-gizmo")) { |
| | | model = "gpt-4-gizmo"; |
| | | } |
| | | SysModel sysModel = sysModelService.selectModelByName(model); |
| | | if (sysModel == null) { |
| | | // å¦ææ¨¡åä¸åå¨é»è®¤ä½¿ç¨tokenæ£è´¹æ¹å¼ |
| | | processByToken(chatRequest.getModel(), chatString, chatMessageBo); |
| | | } else { |
| | | openAiStreamClient = chatConfig.createOpenAiStreamClient(sysModel.getApiHost(), sysModel.getApiKey()); |
| | | if (StringUtils.isNotEmpty(chatRequest.getAppId())) { // 设置åºç¨çç³»ç»è§è²ä¸ºæè¿° |
| | | ChatGptsVo chatGptsVo = chatGptsService.queryById(Long.valueOf(chatRequest.getAppId())); |
| | | Message sysMessage = Message.builder().content(chatGptsVo.getSystemPrompt()).role(Message.Role.SYSTEM).build(); |
| | | messages.add(0,sysMessage); |
| | | } else { |
| | | // 模å设置é»è®¤æç¤ºè¯ |
| | | if (StringUtils.isNotEmpty(sysModel.getSystemPrompt())) { |
| | | Message sysMessage = Message.builder().content(sysModel.getSystemPrompt()).role(Message.Role.SYSTEM).build(); |
| | | messages.add(sysMessage); |
| | | messages.add(0,sysMessage); |
| | | } |
| | | } |
| | | // 计费类å: 1 tokenæ£è´¹ 2 æ¬¡æ°æ£è´¹ |
| | | if ("2".equals(sysModel.getModelType())) { |
¶Ô±ÈÐÂÎļþ |
| | |
| | | SET FOREIGN_KEY_CHECKS=0; |
| | | |
| | | ALTER TABLE `ruoyi-org`.`chat_gpts` ADD COLUMN `model_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模ååç§°' AFTER `tenant_id`; |
| | | |
| | | ALTER TABLE `ruoyi-org`.`chat_gpts` ADD COLUMN `system_prompt` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'ç³»ç»æç¤ºè¯' AFTER `model_name`; |
| | | |
| | | INSERT INTO `ruoyi-ai`.`chat_gpts` (`id`, `gid`, `name`, `logo`, `info`, `author_id`, `author_name`, `use_cnt`, `bad`, `type`, `create_dept`, `create_time`, `create_by`, `update_by`, `update_time`, `remark`, `version`, `del_flag`, `update_ip`, `tenant_id`, `model_name`, `system_prompt`) VALUES (1810602934286237698, 'gpt-4-gizmo-g-RQAWjtI6u', 'ç¿»è¯å©æ', 'https://external-content.duckduckgo.com/ip3/chat.openai.com.ico', 'ä¸è±åè±ä¸ç¿»è¯ä¸å®¶', 'winkey', 'winkey', 0, 0, 'vector', 103, '2024-07-09 17:12:34', '1', '1', '2025-04-07 21:44:11', 'Ms. Smith, the AI-powered Language Teacher, is a revolutionary GPT-based bot that offers personalized language learning experiences in over 20 languages, including Spanish, German, French, English, Chinese, Korean, Japanese, and more\n', NULL, '0', '127.0.0.1', 0, 'deepseek-r1:1.5b', 'ä½ æ¯ä¸ä½ç²¾éåå½è¯è¨çç¿»è¯å¤§å¸\r\n\r\n请å°ç¨æ·è¾å
¥è¯è¯ç¿»è¯æè±ææä¸æ\r\n\r\n==示ä¾è¾åº==\r\n**åæ** : <è¿éæ¾ç¤ºè¦ç¿»è¯çåæä¿¡æ¯>\r\n**ç¿»è¯** : <è¿éæ¾ç¤ºç¿»è¯æè±è¯çç»æ>\r\n==示ä¾ç»æ==\r\n\r\n注æï¼è¯·ä¸¥æ ¼æç¤ºä¾è¿è¡è¾åºï¼è¿åmarkdownæ ¼å¼'); |
| | | INSERT INTO `ruoyi-ai`.`chat_gpts` (`id`, `gid`, `name`, `logo`, `info`, `author_id`, `author_name`, `use_cnt`, `bad`, `type`, `create_dept`, `create_time`, `create_by`, `update_by`, `update_time`, `remark`, `version`, `del_flag`, `update_ip`, `tenant_id`, `model_name`, `system_prompt`) VALUES (1811668415990931458, 'gpt-4-gizmo-g-XbReEL4Uq', 'æ¸
åå
¨ç§å»ç', 'https://external-content.duckduckgo.com/ip3/chat.openai.com.ico', '坿åæ
å¿çå
¨ç§å»çæä¾å¥åº·æå¯¼', NULL, NULL, 0, 0, NULL, 103, '2024-07-12 15:46:24', '1', '1', '2024-07-12 15:46:24', NULL, NULL, '0', NULL, 0, 'deepseek-r1:1.5b', '坿åæ
å¿çå
¨ç§å»çæä¾å¥åº·æå¯¼'); |
| | | INSERT INTO `ruoyi-ai`.`chat_gpts` (`id`, `gid`, `name`, `logo`, `info`, `author_id`, `author_name`, `use_cnt`, `bad`, `type`, `create_dept`, `create_time`, `create_by`, `update_by`, `update_time`, `remark`, `version`, `del_flag`, `update_ip`, `tenant_id`, `model_name`, `system_prompt`) VALUES (1811670922074988545, 'gpt-4-gizmo-g-AphhNRLxt', 'æç¤ºè¯ä¼å', 'https://external-content.duckduckgo.com/ip3/chat.openai.com.ico', 'æ
é¿ä¸ºPrompt æåæ¸
æ°åº¦ååé åç大å¸', NULL, NULL, 0, 0, NULL, 103, '2024-07-12 15:56:22', '1', '1', '2024-07-12 15:56:22', NULL, NULL, '0', NULL, 0, 'deepseek-r1:1.5b', 'æ
é¿ä¸ºPrompt æåæ¸
æ°åº¦ååé åç大å¸'); |
| | | INSERT INTO `ruoyi-ai`.`chat_gpts` (`id`, `gid`, `name`, `logo`, `info`, `author_id`, `author_name`, `use_cnt`, `bad`, `type`, `create_dept`, `create_time`, `create_by`, `update_by`, `update_time`, `remark`, `version`, `del_flag`, `update_ip`, `tenant_id`, `model_name`, `system_prompt`) VALUES (1811815442062188545, 'gpt-4-gizmo-g-ThuHxKi7e', 'å°çº¢ä¹¦ææ¡çæå¨', 'https://external-content.duckduckgo.com/ip3/chat.openai.com.ico', 'å°çº¢ä¹¦ææ¡çæå¨', NULL, NULL, 0, 0, NULL, 103, '2024-07-13 01:30:38', '1', '1', '2024-07-13 01:30:38', NULL, NULL, '0', NULL, 0, 'deepseek-r1:1.5b', 'å°çº¢ä¹¦ææ¡çæå¨'); |
| | | INSERT INTO `ruoyi-ai`.`chat_gpts` (`id`, `gid`, `name`, `logo`, `info`, `author_id`, `author_name`, `use_cnt`, `bad`, `type`, `create_dept`, `create_time`, `create_by`, `update_by`, `update_time`, `remark`, `version`, `del_flag`, `update_ip`, `tenant_id`, `model_name`, `system_prompt`) VALUES (1811817605668741121, 'gpt-4-gizmo-g-AsQCd3k8', 'ä¸å½æ³å¾å©æ', 'https://external-content.duckduckgo.com/ip3/chat.openai.com.ico', 'å
¨é¢ææ¡ä¸å½æ³å¾çæºè½å©æï¼å¯å¸®å©èµ·èæä¹¦ï¼åææ¡ä»¶ï¼è¿è¡æ³å¾å¨è¯¢', NULL, NULL, 0, 0, NULL, 103, '2024-07-13 01:39:14', '1', '1', '2024-07-13 01:39:14', NULL, NULL, '2', NULL, 0, 'deepseek-r1:1.5b', 'å
¨é¢ææ¡ä¸å½æ³å¾çæºè½å©æï¼å¯å¸®å©èµ·èæä¹¦ï¼åææ¡ä»¶ï¼è¿è¡æ³å¾å¨è¯¢'); |
| | | INSERT INTO `ruoyi-ai`.`chat_gpts` (`id`, `gid`, `name`, `logo`, `info`, `author_id`, `author_name`, `use_cnt`, `bad`, `type`, `create_dept`, `create_time`, `create_by`, `update_by`, `update_time`, `remark`, `version`, `del_flag`, `update_ip`, `tenant_id`, `model_name`, `system_prompt`) VALUES (1811817605668741122, 'gpt-4-gizmo-g-IXwub6dJu', 'è±è¯èå¸', 'https://external-content.duckduckgo.com/ip3/chat.openai.com.ico', 'è±è¯å¦ä¹ GPTæ¯ä¸ä¸ªä¸é¨è®¾è®¡æ¥å¸®å©ç¨æ·æé«ä»ä»¬çè±è¯æè½ç人工æºè½å©æ', NULL, NULL, 0, 0, NULL, NULL, NULL, '', '', NULL, NULL, NULL, '0', NULL, 0, 'deepseek-r1:1.5b', 'è±è¯å¦ä¹ GPTæ¯ä¸ä¸ªä¸é¨è®¾è®¡æ¥å¸®å©ç¨æ·æé«ä»ä»¬çè±è¯æè½ç人工æºè½å©æ'); |
| | | |
| | | SET FOREIGN_KEY_CHECKS=1; |