Java SDK调用对话Chat
更新时间:2025-03-03
安装Java SDK
注意:需要Java 8及以后版本。
- Gradle
implementation("com.openai:openai-java:0.22.0")
说明:建议使用最新版本,上述版本号为示例
- Maven
<dependency>
<groupId>com.openai</groupId>
<artifactId>openai-java</artifactId>
<version>0.22.0</version> # 按需更新版本号
</dependency>
说明:建议使用最新版本,上述版本号为示例
调用示例
非流式
- 请求示例
import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.ChatCompletion;
import com.openai.models.ChatCompletionCreateParams;
import com.openai.models.ChatCompletionUserMessageParam;
public class main {
public static void main(String[] args) {
OpenAIClient client = OpenAIOkHttpClient.builder()
.apiKey("your_APIKey") //将your_APIKey替换为真实值,如何获取API Key请查看https://cloud.baidu.com/doc/WENXINWORKSHOP/s/Um2wxbaps#步骤二-获取api-key
.baseUrl("https://qianfan.baidubce.com/v2/") //千帆ModelBuilder平台地址
.build();
ChatCompletionCreateParams params = ChatCompletionCreateParams.builder()
.addUserMessage("你好") // 对话messages信息
.model("ernie-tiny-8k") // 模型对应的model值,请查看支持的模型列表:https://cloud.baidu.com/doc/WENXINWORKSHOP/s/wm7ltcvgc
.build();
ChatCompletion chatCompletion = client.chat().completions().create(params);
System.out.println(chatCompletion.choices().get(0).message().content());
}
}
- 返回示例
你好!有什么可以帮你的吗?
流式
- 请求示例
import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.core.http.StreamResponse;
import com.openai.models.ChatCompletionChunk;
import com.openai.models.ChatCompletionCreateParams;
import com.openai.models.ChatCompletionUserMessageParam;
import java.util.function.Consumer;
public class main {
public static void main(String[] args) {
OpenAIClient client = OpenAIOkHttpClient.builder()
.apiKey("your_APIKey") //将your_APIKey替换为真实值,如何获取API Key请查看https://cloud.baidu.com/doc/WENXINWORKSHOP/s/Um2wxbaps#步骤二-获取api-key
.baseUrl("https://qianfan.baidubce.com/v2/") //千帆ModelBuilder平台地址
.build();
ChatCompletionCreateParams params = ChatCompletionCreateParams.builder()
.addUserMessage("你好") // 对话messages信息
.model("ernie-tiny-8k") // 模型对应的model值,请查看支持的模型列表:https://cloud.baidu.com/doc/WENXINWORKSHOP/s/wm7ltcvgc
.build();
StreamResponse<ChatCompletionChunk> chatCompletion = client.chat().completions().createStreaming(params);
Consumer<ChatCompletionChunk> consumer = s -> System.out.println(s.choices().get(0).delta().content());
chatCompletion.stream().forEach(consumer);
}
}
- 返回示例
你好!
很高兴和你交流。
很高兴见到你,有什么想问的吗?
自定义 Headers 与自定义 Body 参数
- 请求示例
import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.core.JsonValue;
import com.openai.models.ChatCompletionCreateParams;
import com.openai.models.ChatCompletion;
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
OpenAIClient client = OpenAIOkHttpClient.builder()
.apiKey("your_APIKey") //将your_APIKey替换为真实值,如何获取API Key请查看https://cloud.baidu.com/doc/WENXINWORKSHOP/s/Um2wxbaps#步骤二-获取api-key
.baseUrl("https://qianfan.baidubce.com/v2/") //千帆ModelBuilder平台地址
.build();
Map<String, String> safetyMap = new HashMap<>();
safetyMap.put("input_level", "none");
Map<String, Boolean> websearchMap = new HashMap<>();
websearchMap.put("enable", true);
websearchMap.put("enable_trace", true);
// 创建一个 HashMap 来表示整个 JSON 对象
Map<String, Map<String, String>> extraDataMap = new HashMap<>();
extraDataMap.put("safety", safetyMap);
ChatCompletionCreateParams params = ChatCompletionCreateParams.builder()
.addUserMessage("今天上海天气怎么样") // 对话messages信息
.model("ernie-3.5-8k") //模型对应的model值,请查看支持的模型列表:https://cloud.baidu.com/doc/WENXINWORKSHOP/s/wm7ltcvgc
.putAdditionalBodyProperty("safety", JsonValue.from(safetyMap))
.putAdditionalBodyProperty("web_search", JsonValue.from(websearchMap))
.putAdditionalHeader("appid", "app-xxxxxxxx")
.build();
ChatCompletion chatCompletion = client.chat().completions().create(params);
System.out.println(chatCompletion.choices().get(0).message().content());
}
}
- 返回示例
今天上海的天气情况如下:
### 一、实时天气概况
* **天气现象**:多云。
* **温度**:当前温度为9℃,体感温度为7℃。
* **湿度**:相对湿度为84%。
* **风力**:西风2级。
* **紫外线指数**:1,属于紫外线最弱级别,外出时可轻微防护。
### 二、未来短时间天气预报(今天)
* **日间**:
+ 天气现象:中雨,降水概率为90%。
+ 风向风力:西北风3级。
+ 最高气温:11℃。
* **夜间**:
+ 天气现象:小雨,降水概率为80%。
+ 风向风力:西风3级。
+ 最低气温:7℃。
### 三、生活气象指数
* **钓鱼**:不太适宜。
* **穿衣**:建议穿大衣类衣物,因为天气较凉。
* **洗车**:不宜,因为近期有雨。
* **运动**:不适宜,可能受天气影响。
* **旅游**:一般,外出时需携带雨具以应对可能的降雨。
综上所述,今天上海天气以多云转中雨为主,夜间可能转为小雨,气温适中但略偏低,湿度较大,风力适中。建议市民外出时携带雨具并注意适当增添衣物以防感冒。%