跳转到内容
返回主站

Java

Java 接入 零派智能API 可以使用 OkHttp 发送 HTTP 请求,也可以使用 OpenAI 官方 Java SDK。本页提供两种方案的完整示例。

环境变量设置

Terminal window
export API_KEY="sk-your-api-key"
export BASE_URL="https://your-domain.com"
export MODEL="gpt-4o"

方案一:使用 OkHttp

Maven 依赖

在 pom.xml 中添加 OkHttp 依赖:

<dependencies>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>4.12.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.17.0</version>
</dependency>
</dependencies>

配置说明

  • API Key:通过环境变量 API_KEY 读取
  • Base URL:通过环境变量 BASE_URL 读取,无需包含 /v1 后缀(代码中会拼接)
  • Model:通过环境变量 MODEL 读取

完整请求示例

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ArrayNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
import okhttp3.*;
import java.io.IOException;
public class NewApiExample {
private static final String API_KEY = System.getenv("API_KEY");
private static final String BASE_URL = System.getenv("BASE_URL");
private static final String MODEL = System.getenv("MODEL");
public static void main(String[] args) throws IOException {
ObjectMapper mapper = new ObjectMapper();
ObjectNode requestBody = mapper.createObjectNode();
requestBody.put("model", MODEL);
ArrayNode messages = requestBody.putArray("messages");
ObjectNode systemMsg = messages.addObject();
systemMsg.put("role", "system");
systemMsg.put("content", "你是一个有帮助的助手。");
ObjectNode userMsg = messages.addObject();
userMsg.put("role", "user");
userMsg.put("content", "用一句话解释什么是 Java。");
MediaType jsonType = MediaType.get("application/json; charset=utf-8");
RequestBody body = RequestBody.create(mapper.writeValueAsString(requestBody), jsonType);
Request request = new Request.Builder()
.url(BASE_URL + "/v1/chat/completions")
.addHeader("Authorization", "Bearer " + API_KEY)
.addHeader("Content-Type", "application/json")
.post(body)
.build();
OkHttpClient client = new OkHttpClient();
try (Response response = client.newCall(request).execute()) {
JsonNode responseJson = mapper.readTree(response.body().string());
System.out.println(responseJson.get("choices").get(0).get("message").get("content").asText());
}
}
}

方案二:使用 OpenAI Java SDK

Maven 依赖

<dependencies>
<dependency>
<groupId>com.openai</groupId>
<artifactId>openai-java</artifactId>
<version>0.28.0</version>
</dependency>
</dependencies>

完整请求示例

import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.*;
public class NewApiSdkExample {
public static void main(String[] args) {
OpenAIClient client = OpenAIOkHttpClient.builder()
.apiKey(System.getenv("API_KEY"))
.baseUrl(System.getenv("BASE_URL") + "/v1")
.build();
ChatCompletionCreateParams params = ChatCompletionCreateParams.builder()
.model(System.getenv("MODEL"))
.addMessage(ChatCompletionMessageParam.builder()
.role(ChatCompletionMessageParam.Role.SYSTEM)
.content(ChatCompletionContentPartParam.builder()
.text("你是一个有帮助的助手。")
.build())
.build())
.addMessage(ChatCompletionMessageParam.builder()
.role(ChatCompletionMessageParam.Role.USER)
.content(ChatCompletionContentPartParam.builder()
.text("用一句话解释什么是 Java。")
.build())
.build())
.build();
ChatCompletion completion = client.chat().completions().create(params);
System.out.println(completion.choices().get(0).message().content());
}
}

运行

Terminal window
mvn compile exec:java -Dexec.mainClass="NewApiExample"