Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
KnowledgePlanet
road-map
chatglm-sdk-java
提交
064179b0
chatglm-sdk-java
项目概览
KnowledgePlanet
/
road-map
/
chatglm-sdk-java
通知
254
Star
20
Fork
10
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
chatglm-sdk-java
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
064179b0
编写于
10月 10, 2023
作者:
小傅哥
⛹
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat:会话工厂
上级
5d1f4fef
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
74 addition
and
0 deletion
+74
-0
src/main/java/cn/bugstack/chatglm/session/OpenAiSessionFactory.java
...ava/cn/bugstack/chatglm/session/OpenAiSessionFactory.java
+13
-0
src/main/java/cn/bugstack/chatglm/session/defaults/DefaultOpenAiSessionFactory.java
...chatglm/session/defaults/DefaultOpenAiSessionFactory.java
+61
-0
未找到文件。
src/main/java/cn/bugstack/chatglm/session/OpenAiSessionFactory.java
0 → 100644
浏览文件 @
064179b0
package
cn.bugstack.chatglm.session
;
/**
* @author 小傅哥,微信:fustack
* @description 工厂接口
* @github https://github.com/fuzhengwei
* @Copyright 公众号:bugstack虫洞栈 | 博客:https://bugstack.cn - 沉淀、分享、成长,让自己和他人都能有所收获!
*/
public
interface
OpenAiSessionFactory
{
OpenAiSession
openSession
();
}
src/main/java/cn/bugstack/chatglm/session/defaults/DefaultOpenAiSessionFactory.java
0 → 100644
浏览文件 @
064179b0
package
cn.bugstack.chatglm.session.defaults
;
import
cn.bugstack.chatglm.IOpenAiApi
;
import
cn.bugstack.chatglm.interceptor.OpenAiHTTPInterceptor
;
import
cn.bugstack.chatglm.session.Configuration
;
import
cn.bugstack.chatglm.session.OpenAiSession
;
import
cn.bugstack.chatglm.session.OpenAiSessionFactory
;
import
okhttp3.OkHttpClient
;
import
okhttp3.logging.HttpLoggingInterceptor
;
import
retrofit2.Retrofit
;
import
retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory
;
import
retrofit2.converter.jackson.JacksonConverterFactory
;
import
java.util.concurrent.TimeUnit
;
/**
* @author 小傅哥,微信:fustack
* @description 会话工厂
* @github https://github.com/fuzhengwei
* @Copyright 公众号:bugstack虫洞栈 | 博客:https://bugstack.cn - 沉淀、分享、成长,让自己和他人都能有所收获!
*/
public
class
DefaultOpenAiSessionFactory
implements
OpenAiSessionFactory
{
private
final
Configuration
configuration
;
public
DefaultOpenAiSessionFactory
(
Configuration
configuration
)
{
this
.
configuration
=
configuration
;
}
@Override
public
OpenAiSession
openSession
()
{
// 1. 日志配置
HttpLoggingInterceptor
httpLoggingInterceptor
=
new
HttpLoggingInterceptor
();
httpLoggingInterceptor
.
setLevel
(
configuration
.
getLevel
());
// 2. 开启 Http 客户端
OkHttpClient
okHttpClient
=
new
OkHttpClient
.
Builder
()
.
addInterceptor
(
httpLoggingInterceptor
)
.
addInterceptor
(
new
OpenAiHTTPInterceptor
(
configuration
))
.
connectTimeout
(
configuration
.
getConnectTimeout
(),
TimeUnit
.
SECONDS
)
.
writeTimeout
(
configuration
.
getWriteTimeout
(),
TimeUnit
.
SECONDS
)
.
readTimeout
(
configuration
.
getReadTimeout
(),
TimeUnit
.
SECONDS
)
.
build
();
configuration
.
setOkHttpClient
(
okHttpClient
);
// 3. 创建 API 服务
IOpenAiApi
openAiApi
=
new
Retrofit
.
Builder
()
.
baseUrl
(
configuration
.
getApiHost
())
.
client
(
okHttpClient
)
.
addCallAdapterFactory
(
RxJava2CallAdapterFactory
.
create
())
.
addConverterFactory
(
JacksonConverterFactory
.
create
())
.
build
().
create
(
IOpenAiApi
.
class
);
configuration
.
setOpenAiApi
(
openAiApi
);
return
new
DefaultOpenAiSession
(
configuration
);
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录