Go to file
YuCheng Hu 09aa7fdeb6 Update README file 2023-01-06 18:40:06 -05:00
.idea update the maven repo 2023-01-06 16:17:12 -05:00
api update the maven repo 2023-01-06 16:17:12 -05:00
client update the maven repo 2023-01-06 16:17:12 -05:00
openai-j-example New code for maven 2023-01-06 12:36:47 -05:00
.gitignore update the git file 2023-01-06 13:27:55 -05:00
LICENSE update the git file 2023-01-06 13:27:55 -05:00
README.md Update README file 2023-01-06 18:40:06 -05:00
pom.xml update the maven repo 2023-01-06 16:17:12 -05:00

README.md

OpenAI-J


This project builds by JDK 11 and OpenJ9 for JVM.

Java libraries for using OpenAI's GPT-3 api.

We forked this API from: https://github.com/TheoKanning/openai-java/.

The major reason we rebuild this API was OpenAI-JAVA include lombok, we think it is better build this in plain java code.

Deprecated OpenAI API Endpoint

The Answers, Classifications, and Searches APIs are deprecated, and will stop working on December 3rd, 2022.

OpenAI has deprecated all Engine-based APIs. See Deprecated Endpoints below for more info.

How To Use

Includes the following artifacts:

  • api : request/response POJOs for the GPT-3 engine, completion, and search APIs.
  • client : a basic retrofit client for the GPT-3 endpoints, includes the api module

as well as an example project using the client.

Usage

Importing into a gradle project

implementation 'com.theokanning.openai-gpt3-java:api:<version>'
or
implementation 'com.theokanning.openai-gpt3-java:client:<version>'

Using OpenAiService

If you're looking for the fastest solution, import the client and use OpenAiService.

OpenAiService service = new OpenAiService("your_token");
CompletionRequest completionRequest = CompletionRequest.builder()
        .prompt("Somebody once told me the world is gonna roll me")
        .model("ada")
        .echo(true)
        .build();
service.createCompletion(completionRequest).getChoices().forEach(System.out::println);

Using OpenAiApi Retrofit client

If you're using retrofit, you can import the client module and use the OpenAiApi.
You'll have to add your auth token as a header ( see AuthenticationInterceptor) and set your converter factory to use snake case and only include non-null fields.

Using data classes only

If you want to make your own client, just import the POJOs from the api module.
Your client will need to use snake case to work with the OpenAI API.

Running the example project

All the example project requires is your OpenAI api token

export OPENAI_TOKEN="sk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
./gradlew example:run

Deprecated Endpoints

OpenAI has deprecated engine-based endpoints in favor of model-based endpoints. For example, instead of using v1/engines/{engine_id}/completions, switch to v1/completions and specify the model in the CompletionRequest. The code includes upgrade instructions for all deprecated endpoints.

I won't remove the old endpoints from this library until OpenAI shuts them down.

#FAQ

Supported APIs

Deprecated by OpenAI

联系方式

请使用下面的联系方式和我们联系。

联系方式名称 联系方式
电子邮件Email yhu@ossez.com
QQ 或微信WeChat 103899765
QQ 交流群 15186112
社区论坛 Community https://www.ossez.com/c/computer-technology/7

公众平台

我们建议您通过社区论坛来和我们进行沟通,请关注我们公众平台上的账号

微信公众号

头条号

我们也在头条号上创建了我们的公众号,请扫描下面的 QR 关注我们的头条号。

知乎

请关注我们的知乎:https://www.zhihu.com/people/huyuchengus

License

OpenAI-J is licensed under the MIT License