java实现chatGPT SDK
搭建一个 ChatGPT-SDK 组件工程,专门用于封装对 OpenAI 接口的使用。由于 OpenAI 接口本身较多,并有各类配置的设置,所以开发一个共用的 SDK 组件,更合适我们在各类工程中扩展使用
整个流程为:以会话模型为出口,,驱动整个服务的调用链路。并对外提供会话工厂的创建和使用。
通过工厂模式,开启一个使用okhttp3封装的OpenAi会话服务,进行流程的调用。同时这里还包括请求拦截的处理,因为我们需要对http请求设置一些必要的参数信息,如:apiKey、token。
这里还用到Retrofit2,Retrofit2可以将HTTP API转化为java接口,并通过注解的方式描述请求参数和响应结果等信息,从而方便的发送网络请求。
具体实现
工程目录
定义IOpenAiApi 接口
String v1_chat_completions = "v1/chat/completions";
/**
* 默认 GPT-3.5 问答模型
* @param chatCompletionRequest 请求信息
* @return 返回结果
*/
@POST(v1_chat_completions)
Single<ChatCompletionResponse> completions(@Body ChatCompletionRequest chatCompletionRequest);
在IOpenAiApi接口里定义访问接口,后续可直接扩展功能如画图等
会话接口
public interface OpenAiSession {
/**
* 默认 GPT-3.5 问答模型
* @param chatCompletionRequest 请