Java SDK
Requirements
- Java 8 or higher
- Maven or Gradle
Maven Dependency
xml
<dependency>
<groupId>com.theopenai</groupId>
<artifactId>openai-java</artifactId>
<version>0.12.0</version>
</dependency>Quick Start
Configure Client
java
import com.openai.client.OpenAiApi;
import com.openai.client.OpenAiClient;
import com.openai.client.okhttp.OkHttpClientBuilder;
public class Main {
public static void main(String[] args) {
OpenAiClient client = new OkHttpClientBuilder()
.setApiKey("your_api_key_here")
.setBaseUrl("https://ai-tokenhub.com/v1")
.build();
}
}Basic Request
java
ChatCompletionRequest request = ChatCompletionRequest.builder()
.model("gpt-4o")
.messages(
Message.builder()
.role(Message.Role.USER)
.content("Hello, please introduce yourself")
.build()
)
.build();
ChatCompletionResponse response = client.chatCompletion(request);
System.out.println(response.getChoices().get(0).getMessage().getContent());Streaming
java
ChatCompletionRequest request = ChatCompletionRequest.builder()
.model("gpt-4o")
.messages(
Message.builder()
.role(Message.Role.USER)
.content("Tell me a joke about AI")
.build()
)
.stream(true)
.build();
client.streamChatCompletion(request, new EventSourceListener() {
@Override
public void onEvent(ChatCompletionChunk chunk) {
if (chunk.getChoices().get(0).getDelta().getContent() != null) {
System.out.print(chunk.getChoices().get(0).getDelta().getContent());
}
}
});Spring Boot Integration
Configuration File
yaml
# application.yml
openai:
api-key: your_api_key_here
base-url: https://ai-tokenhub.com/v1
timeout: 60Config Class
java
@Configuration
public class OpenAiConfig {
@Value("${openai.api-key}")
private String apiKey;
@Value("${openai.base-url}")
private String baseUrl;
@Bean
public OpenAiClient openAiClient() {
return new OkHttpClientBuilder()
.setApiKey(apiKey)
.setBaseUrl(baseUrl)
.build();
}
}Service Class
java
@Service
public class AiService {
private final OpenAiClient client;
public AiService(OpenAiClient client) {
this.client = client;
}
public String chat(String message) {
ChatCompletionRequest request = ChatCompletionRequest.builder()
.model("gpt-4o")
.messages(Message.builder()
.role(Message.Role.USER)
.content(message)
.build())
.build();
return client.chatCompletion(request)
.getChoices().get(0).getMessage().getContent();
}
}