搜索本产品文档关键词
Java SDK调用对话Chat
所有文档
menu
没有找到结果,请重新输入

千帆大模型服务与开发平台ModelBuilder

Java SDK调用对话Chat

安装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℃。
### 三、生活气象指数
* **钓鱼**:不太适宜。
* **穿衣**:建议穿大衣类衣物,因为天气较凉。
* **洗车**:不宜,因为近期有雨。
* **运动**:不适宜,可能受天气影响。
* **旅游**:一般,外出时需携带雨具以应对可能的降雨。
综上所述,今天上海天气以多云转中雨为主,夜间可能转为小雨,气温适中但略偏低,湿度较大,风力适中。建议市民外出时携带雨具并注意适当增添衣物以防感冒。%           
上一篇
Python SDK调用对话Chat
下一篇
Go SDK调用对话Chat