Skip to content

Java SDK

环境要求

  • Java 8 或更高版本
  • Maven 或 Gradle

Maven 依赖

xml
<dependency>
    <groupId>com.theopenai</groupId>
    <artifactId>openai-java</artifactId>
    <version>0.12.0</version>
</dependency>

快速开始

配置客户端

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();
    }
}

基本调用

java
ChatCompletionRequest request = ChatCompletionRequest.builder()
    .model("gpt-4o")
    .messages(
        Message.builder()
            .role(Message.Role.USER)
            .content("你好,请介绍一下自己")
            .build()
    )
    .build();

ChatCompletionResponse response = client.chatCompletion(request);
System.out.println(response.getChoices().get(0).getMessage().getContent());

流式调用

java
ChatCompletionRequest request = ChatCompletionRequest.builder()
    .model("gpt-4o")
    .messages(
        Message.builder()
            .role(Message.Role.USER)
            .content("讲一个关于人工智能的笑话")
            .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 集成

配置文件

yaml
# application.yml
openai:
  api-key: your_api_key_here
  base-url: https://ai-tokenhub.com/v1
  timeout: 60

配置类

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();
    }
}

服务类

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();
    }
}