当前位置: 首页 > news >正文

400电话安装佛山营销网站建设成品网站w灬源码在线看

400电话安装佛山营销网站建设,成品网站w灬源码在线看,唐尧文化 网站建设工作总结,淄博网站制作网页营销需求#xff1a; 使用java封装kimi接口为http接口#xff0c;并把调用kimi时的传参和返回数据#xff0c;保存到mysql数据库中 自己记录一下#xff0c;以做备忘。 具体步骤如下#xff1a; 1.申请apiKey 访问#xff1a;Moonshot AI - 开放平台使用手机号手机号验证…需求 使用java封装kimi接口为http接口并把调用kimi时的传参和返回数据保存到mysql数据库中 自己记录一下以做备忘。 具体步骤如下 1.申请apiKey 访问Moonshot AI - 开放平台使用手机号手机号验证码登录 登录后在如下界面申请 最多可以保留 5 个 API 密钥密钥只会在新建后显示一次请妥善保存。不要与他人共享 API Key或将其暴露在客户端代码中。为了账户安全一旦 API 密钥被发现泄露Moonshot AI 可能会将其禁用。 默认token数量如下 2.编写Java代码对接kimi 2.1对接kimi日志表 CREATE TABLE ai_api_log (id int(11) NOT NULL AUTO_INCREMENT COMMENT 主键,api_key varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT app_key,api_ip varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT API调用外网IP,api_method varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT API方法,api_para text COLLATE utf8mb4_unicode_ci COMMENT API参数,api_result text COLLATE utf8mb4_unicode_ci COMMENT API返回消息,create_time datetime DEFAULT NULL COMMENT 创建时间 ,PRIMARY KEY (id),KEY open_api_log_creat_time (create_time),KEY open_api_log_method (api_method),KEY open_api_log_app_key (api_key) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_unicode_ci COMMENTapi日志表对应的实体类 package com.example.ai.domain;import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode;import java.util.Date; Data EqualsAndHashCode(callSuper true) TableName(ai_api_log) public class AIApiLog extends BaseEntity {private static final long serialVersionUID1L;public static String METHOD_KIMI_CHATkimi_chat;private Integer id;private String apiKey;private String apiIp;private String apiMethod;private String apiPara;private String apiResult;private Date createTime;}2.2对接kimi核心代码 package com.example.ai.service;import cn.hutool.core.util.StrUtil; import cn.hutool.http.ContentType; import cn.hutool.json.JSONObject; import com.example.ai.config.AiConfig; import com.example.ai.constant.PathConstant; import com.example.ai.network.ChatMessage; import com.example.ai.util.JsonUtil; import com.example.ai.network.ChoicesInfo; import com.example.ai.network.HttpResponse; import com.example.ai.network.ResponseType; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import okhttp3.*; import org.apache.commons.lang3.StringEscapeUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.reactive.function.client.WebClient; import reactor.core.publisher.Flux;import javax.annotation.PostConstruct; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.concurrent.TimeUnit;/*** date 2023/2/13**/ Service public class AiKimiService {AutowiredAiConfig aiConfig;AutowiredAIApiLogService aIApiLogService;//webflux的clientprivate WebClient webClient;//用于读取第三方的返回结果private ObjectMapper objectMapper new ObjectMapper();public String completions( String content)throws IOException{HttpResponse response this.getJsonResponse(content);ChoicesInfo choicesInfo response.getChoices().get(0);return StringEscapeUtils.unescapeJava(choicesInfo.getMessage().getContent());}public HttpResponse getJsonResponse(String message) throws IOException {ListChatMessage messagesnew ArrayList();ChatMessage chatMessagenew ChatMessage();chatMessage.setRole(user);chatMessage.setContent(message);messages.add(chatMessage);String requestBody new JSONObject().putOpt(model, moonshot-v1-8k).putOpt(messages, messages).putOpt(response_format,new ResponseType()).putOpt(frequency_penalty,0.5).putOpt(stream, false).toString();Request okhttpRequest new Request.Builder().url(aiConfig.getBaseUrl() PathConstant.COMPLETIONS.CREATE_CHAT_COMPLETION).post(RequestBody.create(requestBody, okhttp3.MediaType.get(ContentType.JSON.getValue()))).addHeader(Authorization, Bearer aiConfig.getApiKey()).build();OkHttpClient okHttpClient new OkHttpClient.Builder().connectTimeout(20, TimeUnit.SECONDS).readTimeout(60,TimeUnit.SECONDS).writeTimeout(60,TimeUnit.SECONDS).build();Call call okHttpClient.newCall(okhttpRequest);Response okhttpResponse call.execute();String json okhttpResponse.body().string();aIApiLogService.saveOrUpdate(requestBody,json);System.out.println(new SimpleDateFormat(yyyy-MM-dd HH:mm:ss).format(new Date())----json);return JsonUtil.jsonToClass(json,HttpResponse.class);}PostConstructpublic void postConstruct() {this.webClient WebClient.builder()//创建webflux的client.baseUrl(aiConfig.getBaseUrl())//填写对应的api地址.defaultHeader(Content-Type, application/json)//设置默认请求类型.build();}private FluxHttpResponse handleWebClientResponse(String resp) {if (StrUtil.equals([DONE],resp)){//[DONE]是消息结束标识return Flux.empty();}try {JsonNode jsonNode objectMapper.readTree(resp);HttpResponse result objectMapper.treeToValue(jsonNode, HttpResponse.class);//将获得的结果转成对象return Flux.just(result);//返回获得的结果} catch (Exception e) {throw new RuntimeException(e.getMessage());}} }2.3运行效果 3.完整项目源码 下载地址 Java对接kimi完整项目源码
http://www.dnsts.com.cn/news/11265.html

相关文章:

  • 佛山中小企业网站制作wordpress收费主体
  • 城建亚泰建设集团网站北京哪家做网站优化
  • 重新建设网站的申请报告企业网站自助建设
  • 做网站为什么选择竞网智赢福州网络科技公司有哪些
  • 手机端网站开发框架郑州软件开发定制
  • dw做的网站链接阿里巴巴网站建设基本内容
  • 个人网站课程设计报告网站的代理页面怎么做的
  • 做淘宝客的网站怎么备案wordpress去标题版权
  • 网页制作制作网站加入网站帮忙做网站
  • 网站可以换虚拟主机吗普宁市做网站
  • 同类色相的网站营销怎么做
  • 个人如何制作网站源码大学生做的网站
  • 新乡网站建设哪家权威design网站
  • 泰安哪里有做网站app的api导入wordpress
  • 网站 做购物车关键词 优化 网站
  • 金融网站开发文档下载聊城企业网站建设费用
  • 东莞网站建设设计公司哪家好最好的网站建设机构
  • 辽宁城乡建设集团 网站网上搞钱的野路子
  • 网站建设收益分析温州 网站建设
  • 黄页网站推广软件专业做网站咨询
  • 建设机械官方网站wordpress weekly
  • 遵义网站开发培训百度引擎入口
  • 帮齐家网做的网站做网站建网站
  • 域名服务器的作用东莞关键词排名seo
  • 建设银行官方网站链接注册360建筑网平台
  • 网站的流程图wordpress 百万级数据
  • 响应式网站的开发常州手机网站效果
  • 做国际网站一般做什么风格海洋cms怎么做电影网站
  • 如何更新网站网线制作的标准及方法
  • 网站建设英语翻译资料百度网盘如何获得2t免费空间