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

网站建设目标文档模板网站修改

网站建设目标文档,模板网站修改,本地架设wordpress,自助建站系统php一、需要良好的网络 二、需要在OpenAI官网https://openai.com/注册用户,并获取一个api-key,sk开头的 验证是否可用网站:http://tools.lbbit.top/check_key_valid/ 三、spring boot 配置文件 openai.proxyHost127.0.0.1 openai.proxyPort7890…

一、需要良好的网络
二、需要在OpenAI官网https://openai.com/注册用户,并获取一个api-key,sk开头的
验证是否可用网站:http://tools.lbbit.top/check_key_valid/
三、spring boot 配置文件

openai.proxyHost=127.0.0.1
openai.proxyPort=7890
openai.keys=sk-xxxxxxxxxx
openai.proxy=https://xxxxxxx/

四、新建配置类AiServiceFactory

import com.fasterxml.jackson.databind.ObjectMapper;
import com.theokanning.openai.client.OpenAiApi;
import com.theokanning.openai.service.OpenAiService;
import okhttp3.OkHttpClient;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import retrofit2.Retrofit;import java.net.InetSocketAddress;
import java.net.Proxy;
import java.time.Duration;@Component
public class AiServiceFactory {@Value("${openai.proxyHost}")private String proxyHost;/*** 代理端口*/@Value("${openai.proxyPort}")private Integer proxyPort;/*** openai apikey*/@Value("${openai.keys}")private String token;@Value("${openai.proxy}")private String proxyIp;private static final Duration DEFAULT_TIMEOUT = Duration.ofSeconds(10L);public OpenAiService createService() {ObjectMapper mapper = OpenAiService.defaultObjectMapper();// 设置代理Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyHost, proxyPort));OkHttpClient client = OpenAiService.defaultClient(token, DEFAULT_TIMEOUT).newBuilder().proxy(proxy).build();Retrofit retrofit = OpenAiService.defaultRetrofit(client, mapper).newBuilder().baseUrl(proxyIp).build();return new OpenAiService(retrofit.create(OpenAiApi.class), client.dispatcher().executorService());}
}

如果需要中转站代理的话,该类里面的方法如下

public OpenAiService createService() {ObjectMapper mapper = OpenAiService.defaultObjectMapper();// 设置代理
//        Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyHost, proxyPort));
//        Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyIp, 8080));OkHttpClient client = OpenAiService.defaultClient(token, DEFAULT_TIMEOUT).newBuilder()
//                .proxy(proxy).build();Retrofit retrofit = OpenAiService.defaultRetrofit(client, mapper).newBuilder().baseUrl(proxyIp).build();//代理服务器,中转站return new OpenAiService(retrofit.create(OpenAiApi.class), client.dispatcher().executorService());}

五、测试控制器,当然也可以写进service层

package com.example.springbootest3_2.controller;import com.example.springbootest3_2.config.AiServiceFactory;
import com.theokanning.openai.completion.chat.*;
import com.theokanning.openai.service.OpenAiService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;import javax.annotation.Resource;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;@RestController
public class OpenAiController {@Resourceprivate AiServiceFactory aiServiceFactory;@PostMapping("/testChat")public String testChat(@RequestBody Map<String,String> params) throws UnsupportedEncodingException {OpenAiService service = aiServiceFactory.createService();final List<ChatMessage> messages = new ArrayList<>();final ChatMessage systemMessage = new ChatMessage(ChatMessageRole.USER.value(),URLDecoder.decode(params.get("contents"),"UTF-8"));messages.add(systemMessage);ChatCompletionRequest chatCompletionRequest = ChatCompletionRequest.builder().model("gpt-3.5-turbo").messages(messages).temperature(0.5)
//                .n(1)
//                .maxTokens(50)
//                .logitBias(new HashMap<>()).build();ChatCompletionResult chatCompletionResult=service.createChatCompletion(chatCompletionRequest);List<ChatCompletionChoice> compList=chatCompletionResult.getChoices();StringBuilder sb = new StringBuilder();for (ChatCompletionChoice comp : compList) {sb.append(comp.getMessage().getContent());}return sb.toString();}}
http://www.yayakq.cn/news/332288/

相关文章:

  • photoshop+做网站logo济南网站制作厂家
  • 中小企业网站建设济南兴田德润电话网站开发大作业报告
  • php做网站如何配置域名的行业网站作用
  • 南昌免费做网站网站建设首页面
  • 内网做网站网站建设意识形态工作
  • 网站更换服务器如何做镜像网站维护中是怎么回事
  • 做网站的公司主要是干啥哪个网站内链建设好
  • 做的网站如何更换网站模板做绿化生意有什么网站
  • 个人网站建设月租抵30元app界面模板免费下载
  • 成都网站制作中国互联建设论坛网站自学
  • 网上购物网站建设论文6产品包装设计网
  • 游乐网站设计做网站时数据库要创建几个表
  • mvc5网站开发之美如何自助建站
  • 免费提供网站建设网站建设a云世家网络
  • 一键免费建站网站会员注册系统源码
  • 网站认证免费中国互联网设计公司
  • 招聘网站数据分析要怎么做余姚做百度网站
  • 网站优化的主要目的是什么创建wordpress数据库
  • 手机网站 分辨率广州网页制作公司排名
  • python 营销型网站建设wordpress 中文标签插件下载
  • 网站域名更改邢台168交友最新信息
  • 网站建设进度的问题wordpress 快递插件
  • 高端大气的科技网站模板公司网站需要备案么
  • 我要建设一个网站大良营销网站建设服务
  • 岑溪网站开发工作室兰州企业网站建设公司价格
  • 公司以前做的免费网站太多_新网站搜索不到甘肃做网站价格
  • 购物网站常用的多组图左右轮播的js图片特效代码河北省保定市唐县城乡建设网站
  • 学校网站建设要点深圳做网站公司有哪些企业
  • 企业微信下载临清聊城网站优化
  • 公司网站维护分工wordpress!资源