package com.baoerzou.chatserver.client;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.ContentType;
import cn.hutool.http.Header;
import com.baoerzou.chatserver.consts.PathConsts;
import lombok.extern.slf4j.Slf4j;
import okhttp3.*;
import java.io.IOException;
import java.util.concurrent.TimeUnit;
/**
* @author baoerzou
*/
@Slf4j
public class OpenAiApi {
/**
* http_client
*/
private static final OkHttpClient HTTP_CLIENT = new OkHttpClient();
static {
HTTP_CLIENT
.newBuilder()
.connectTimeout(60, TimeUnit.SECONDS)
.readTimeout(60, TimeUnit.SECONDS)
.writeTimeout(60, TimeUnit.SECONDS);
}
/**
* 获取模型列表
*
* @param apiKey
* @return
*/
public static String listModel(String apiKey) {
MediaType mediaType = MediaType.parse(ContentType.TEXT_PLAIN.getValue());
RequestBody body = RequestBody.create(mediaType, StrUtil.EMPTY);
Request request = new Request.Builder()
.url(PathConsts.MODEL_LIST)
.method("GET", body)
.addHeader(Header.AUTHORIZATION.getValue(), "Bearer " + apiKey)
.build();
try {
Response response = HTTP_CLIENT.newCall(request).execute();
if (response.isSuccessful()) {
return response.body().toString();
}
} catch (IOException e) {
log.error("获取模型列表失败:", e);
}
return StrUtil.EMPTY;
}
/**
* 发起聊天
*
* @param apiKey apiKey
* @param json json消息体
* @return
*/
public static String chat(String apiKey, String json) {
MediaType mediaType = MediaType.parse(ContentType.JSON.getValue());
RequestBody body = RequestBody.create(mediaType, json);
Request request = new Request.Builder()
.url(PathConsts.CREATE_CHAT_COMPLETION)
.method("POST", body)
.addHeader("Content-Type", ContentType.JSON.getValue())
.addHeader(Header.AUTHORIZATION.getValue(), "Bearer " + apiKey)
.build();
try {
Response response = HTTP_CLIENT.newCall(request).execute();
if (response.isSuccessful()) {
return response.body().toString();
}
} catch (IOException e) {
log.error("发起聊天失败:", e);
}
return StrUtil.EMPTY;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
Java聊天服务器对接多个平台
共14个文件
java:12个
yml:1个
xml:1个
需积分: 1 0 下载量 108 浏览量
2023-06-14
14:28:23
上传
评论
收藏 8KB RAR 举报
温馨提示
Java Chat-Server 是一种网络应用程序,能够在计算机之间进行实时通信。它是基于 Java 编程语言开发的,因此具有跨平台性和可移植性的优势。在 Java Chat-Server 中,服务器是中心化的,而客户端则是分散的。 Java Chat-Server 是通过开放一个端口并等待客户端连接的方式启动的。一旦客户端连接到服务器,它就可以使用各种聊天功能,如发送消息、接收消息和传送文件等。 Java Chat-Server 的整个系统是以多线程方式运行的,这使得多个用户可以同时连接并使用聊天室,而不会影响性能或导致崩溃。 Java Chat-Server 的核心代码通常由两个部分组成:客户端代码和服务器端代码。这两个部分紧密协作,以确保通信正常且信息安全。 在 Java Chat-Server 中,服务器端代码扮演着主要的角色。在启动后,服务器将监听来自客户端的连接请求,并根据已经连接的客户端将其分配到对应的聊天室中。 对于客户端而言,它的聊天室选择是通过服务器发送的命令来完成的。客户端只需要使用用户名和密码连接到聊天室即可。随后,客户端就可以使用聊天室的所有功能。
资源推荐
资源详情
资源评论
收起资源包目录
chat-server.rar (14个子文件)
pom.xml 3KB
src
test
java
com
baoerzou
chatserver
StartApplicationTests.java 223B
OpenAiApplicationTests.java 2KB
main
resources
templates
static
application.yml 21B
java
com
baoerzou
chatserver
client
OpenAiApi.java 3KB
controller
ChatController.java 2KB
consts
PathConsts.java 377B
manager
model
dto
res
ExecuteRet.java 1KB
R.java 889B
ChatCompletionChoice.java 331B
req
ChatMessage.java 396B
ChatMessageParam.java 256B
ChatCompletionRequest.java 979B
StartApplication.java 813B
共 14 条
- 1
资源评论
包耳邹
- 粉丝: 8
- 资源: 11
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功