Node.js SDK调用对话Chat
更新时间:2025-09-19
安装Java SDK
注意:需要Java 8及以后版本。
- Gradle
Plain Text
1implementation("com.openai:openai-java:0.22.0")
说明:建议使用最新版本,上述版本号为示例
- Maven
Plain Text
1<dependency>
2 <groupId>com.openai</groupId>
3 <artifactId>openai-java</artifactId>
4 <version>0.22.0</version> # 按需更新版本号
5</dependency>
说明:建议使用最新版本,上述版本号为示例
调用示例
非流式
- 请求示例
Java
1import com.openai.client.OpenAIClient;
2import com.openai.client.okhttp.OpenAIOkHttpClient;
3import com.openai.models.ChatCompletion;
4import com.openai.models.ChatCompletionCreateParams;
5import com.openai.models.ChatCompletionUserMessageParam;
6
7public class main {
8 public static void main(String[] args) {
9 OpenAIClient client = OpenAIOkHttpClient.builder()
10 .apiKey("your_APIKey") //将your_APIKey替换为真实值,如何获取API Key请查看:https://console.bce.baidu.com/iam/#/iam/apikey/list
11 .baseUrl("https://qianfan.baidubce.com/v2/") //千帆ModelBuilder平台地址
12 .build();
13
14 ChatCompletionCreateParams params = ChatCompletionCreateParams.builder()
15 .addUserMessage("你好") // 对话messages信息
16 .model("ernie-x1.1-preview") // 模型对应的model值,请查看支持的模型列表:https://cloud.baidu.com/doc/qianfan-docs/s/7m95lyy43
17 .build();
18
19 ChatCompletion chatCompletion = client.chat().completions().create(params);
20 System.out.println(chatCompletion.choices().get(0).message().content());
21 }
22}
- 返回示例
Text
1你好!有什么可以帮你的吗?
流式
- 请求示例
Java
1import com.openai.client.OpenAIClient;
2import com.openai.client.okhttp.OpenAIOkHttpClient;
3import com.openai.core.http.StreamResponse;
4import com.openai.models.ChatCompletionChunk;
5import com.openai.models.ChatCompletionCreateParams;
6import com.openai.models.ChatCompletionUserMessageParam;
7
8import java.util.function.Consumer;
9
10public class main {
11 public static void main(String[] args) {
12 OpenAIClient client = OpenAIOkHttpClient.builder()
13 .apiKey("your_APIKey") //将your_APIKey替换为真实值,如何获取API Key请查看:https://console.bce.baidu.com/iam/#/iam/apikey/list
14 .baseUrl("https://qianfan.baidubce.com/v2/") //千帆ModelBuilder平台地址
15 .build();
16
17 ChatCompletionCreateParams params = ChatCompletionCreateParams.builder()
18 .addUserMessage("你好") // 对话messages信息
19 .model("ernie-x1.1-preview") // 模型对应的model值,请查看支持的模型列表:https://cloud.baidu.com/doc/qianfan-docs/s/7m95lyy43
20 .build();
21
22 StreamResponse<ChatCompletionChunk> chatCompletion = client.chat().completions().createStreaming(params);
23 Consumer<ChatCompletionChunk> consumer = s -> System.out.println(s.choices().get(0).delta().content());
24 chatCompletion.stream().forEach(consumer);
25 }
26}
- 返回示例
Text
1你好!
2很高兴和你交流。
3很高兴见到你,有什么想问的吗?
自定义 Headers 与自定义 Body 参数
- 请求示例
Java
1import com.openai.client.OpenAIClient;
2import com.openai.client.okhttp.OpenAIOkHttpClient;
3import com.openai.core.JsonValue;
4import com.openai.models.ChatCompletionCreateParams;
5import com.openai.models.ChatCompletion;
6import java.util.HashMap;
7import java.util.Map;
8
9public class Main {
10 public static void main(String[] args) {
11 OpenAIClient client = OpenAIOkHttpClient.builder()
12 .apiKey("your_APIKey") //将your_APIKey替换为真实值,如何获取API Key请查看:https://console.bce.baidu.com/iam/#/iam/apikey/list
13 .baseUrl("https://qianfan.baidubce.com/v2/") //千帆ModelBuilder平台地址
14 .build();
15
16 Map<String, String> safetyMap = new HashMap<>();
17 safetyMap.put("input_level", "standard");
18
19 Map<String, Boolean> websearchMap = new HashMap<>();
20 websearchMap.put("enable", true);
21 websearchMap.put("enable_trace", true);
22
23
24 // 创建一个 HashMap 来表示整个 JSON 对象
25 Map<String, Map<String, String>> extraDataMap = new HashMap<>();
26 extraDataMap.put("safety", safetyMap);
27
28 ChatCompletionCreateParams params = ChatCompletionCreateParams.builder()
29 .addUserMessage("今天上海天气怎么样") // 对话messages信息
30 .model("ernie-x1.1-preview") //模型对应的model值,请查看支持的模型列表:https://cloud.baidu.com/doc/qianfan-docs/s/7m95lyy43
31 .putAdditionalBodyProperty("safety", JsonValue.from(safetyMap))
32 .putAdditionalBodyProperty("web_search", JsonValue.from(websearchMap))
33 .putAdditionalHeader("appid", "app-xxxxxxxx")
34 .build();
35
36 ChatCompletion chatCompletion = client.chat().completions().create(params);
37 System.out.println(chatCompletion.choices().get(0).message().content());
38 }
39}
- 返回示例