已經支持OpenAI官方的全部api,有bug歡迎朋友們指出,互相學習。 源碼地址:https://github.com/Grt1228/chatgpt-java 不對之處歡迎指正。 註意:由於這個介面: https://platform.openai.com/docs/api-reference/ ...
已經支持OpenAI官方的全部api,有bug歡迎朋友們指出,互相學習。
源碼地址:https://github.com/Grt1228/chatgpt-java 不對之處歡迎指正。
註意:由於這個介面:
https://platform.openai.com/docs/api-reference/files/retrieve-content
免費用戶無法使用,所以並未經過測試!!!(哪位朋友有收費版keys也可以提供下)
工程簡介
ChatGPT的Java客戶端
OpenAI官方Api的Java SDK
目前支持api-keys的方式調用,獲取api-keys可以百度或者csdn查一下。
api-keys的方式調用目前不用梯子即可訪問。
OpenAi官方文檔地址:https://platform.openai.com/docs/api-reference
已完成介面列表:
快速開始
有兩種調用方式
方式一(推薦方式)
這種調用方式除了 ++Fine-tune++相關的幾個介面,其他介面全部支持調用
調用方式和上面類似,創建客戶端配置api-key
完整測試案例參考:com.unfbx.chatgpt.OpenAiClientTest
public class OpenAiClientTest {
private OpenAiClient v2;
@Before
public void before() {
v2 = new OpenAiClient("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");
}
@Test
public void models() {
List<Model> models = v2.models();
System.out.println(models.toString());
}
@Test
public void model() {
Model model = v2.model("code-davinci-002");
System.out.println(model.toString());
}
@Test
public void completions() {
CompletionResponse completions = v2.completions("Java Stream list to map");
Arrays.stream(completions.getChoices()).forEach(System.out::println);
}
@Test
public void completionsv2() {
Completion q = Completion.builder()
.prompt("三體人是什麼?")
.build();
CompletionResponse completions = v2.completions(q);
System.out.println(completions);
}
}
方式二
目前ChatGPTClient只支持Completions相關api
創建客戶端配置api-key
public class ChatGPTTest {
public static void main(String[] args) {
//輸入官方申請的api-keys
ChatGPTClient client = new ChatGPTClient("sk-****************");
//輸入問題描述
String body = client.askQuestion("簡單描述下三體這本書");
System.out.println(body);
}
}
輸出:
《三體》是中國作家劉慈欣創作的科幻小說,書中描寫了一個存在於三體星系的中心神秘文明——「三體文明」的興衰歷程,敘述了它與地球文明之間的碰撞歷史。
Completions介面的model目前官方支持的三種模型,參考代碼
enum Model {
DAVINCI_003("text-davinci-003"),
DAVINCI_002("text-davinci-002"),
DAVINCI("davinci"),
;
private String name;
}