新知榜官方账号
2023-10-17 10:28:16
本文介绍了以Java SDK为例,基于智谱Ai(ChatGLM)开发通用SDK组件的方法,包括对接鉴权文档、接口处理文档、组件开发、组件使用和应用接入等方面。同时,也探讨了如何在项目中运用SDK开发一个自己的OpenAi服务。
详见https://open.bigmodel.cn/dev/api
详见https://open.bigmodel.cn/dev/api#chatglm_lite
在考虑到抽象和设计原则下,采用了会话模型结构进行工程框架设计。把程序的调用抽象为一次会话,而会话的创建则交给工厂。通过工厂屏蔽使用细节,在使用上简化调用,尽可能让外部最少知道原则。
工程非常注重会话的设计和使用,因为框架的根基搭建好以后,扩展各项功能就会有迹可循。大部分代码就是因为早期没有考虑好框架,最后功能来了被填充的很乱。
会话流程以工厂创建Session为入口点进行使用,其他的操作都在组件内自己处理好。
@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);
} 详见源代码中的ApiTest类。
详见源代码中的ChatGLMSDKConfig类。
微信扫码咨询
相关工具
相关文章
推荐
阿里Accio中文版上线!一键搞定复杂采购
2025-08-19 09:13
视频“用嘴编辑”的时代来了,但钱包顶得住吗?
2025-08-15 17:59
智谱新模型GLM-4.5V全面开源,玩家们有福啦!
2025-08-12 17:56
扎心文案+AI插画=爆款!揭秘8万赞视频的制作全流程
2025-08-12 10:08
GPT-5没你想的那么好,附实测体验~
2025-08-11 11:07
一站式搞定AI绘图+视频,AI短片效率飙升的秘密在这儿!
2025-08-08 09:26
打工人新神器!10款国产AI,让你告别996!
2025-08-08 09:24
豆包视觉推理深度体验,AI也能“边看边想”了!
2025-08-08 09:19
300美元的AI男友来了!马斯克的情感生意从女友做到男友
2025-08-01 17:56
Agent智能体:2025年企业新员工,月薪仅需一度电?
2025-07-30 17:49