diff --git a/java/README.md b/java/README.md index b31f7864..1a2ac814 100644 --- a/java/README.md +++ b/java/README.md @@ -2,32 +2,32 @@ ## 安装 -> 使用千帆JavaSDK,需要Java版本>=8 +> 使用千帆JavaSDK,需要Java版本>=8。 ### Maven -在pom.xml的dependencies中添加依赖 +在pom.xml的dependencies中添加依赖。 ```xml com.baidubce qianfan - 0.0.8 + 0.0.9 ``` ### Gradle -对于Kotlin DSL,在build.gradle.kts的dependencies中添加依赖 +对于Kotlin DSL,在build.gradle.kts的dependencies中添加依赖。 ```kotlin -implementation("com.baidubce:qianfan:0.0.8") +implementation("com.baidubce:qianfan:0.0.9") ``` -对于Groovy DSL,在build.gradle的dependencies中添加依赖 +对于Groovy DSL,在build.gradle的dependencies中添加依赖。 ```groovy -implementation 'com.baidubce:qianfan:0.0.8' +implementation 'com.baidubce:qianfan:0.0.9' ``` > 我们提供了一些 [示例](./examples),可以帮助快速了解 SDK 的使用方法并完成常见功能。 @@ -60,7 +60,7 @@ export QIANFAN_AK=your_ak export QIANFAN_SK=your_sk ``` -也可以在代码中通过如下方式配置 +也可以在代码中通过如下方式配置。 ```java Qianfan qianfan = new Qianfan(Auth.TYPE_OAUTH, "your_ak", "your_sk"); @@ -82,7 +82,9 @@ ChatResponse response = new Qianfan().chatCompletion() System.out.println(response.getResult()); ``` -也可以调用 `executeStream` 方法发起流式请求,会返回`Iterator`,即`ChatResponse`的迭代器,通过`hasNext`检查是否有新的消息片段,并通过`next`获取下一个消息片段。 +也可以调用 `executeStream` 方法发起流式请求,会返回`StreamIterator`,即`ChatResponse`的迭代器,推荐使用`forEachRemaining`来迭代流式数据。 + +**注意**:在使用`hasNext`/`next`迭代数据时,如果希望提前停止迭代,**必须**显式调用`close`方法,否则可能导致**连接泄露**。 示例如下: @@ -107,15 +109,16 @@ CompletionResponse response = new Qianfan().completion() System.out.println(response.getResult()); ``` -也可以调用 `executeStream` 方法实现流式返回 +也可以调用 `executeStream` 方法实现流式返回。 ```java -Iterator response = new Qianfan().completion() +try (StreamIterator response = new Qianfan().completion() .model("CodeLlama-7b-Instruct") .prompt("hello") - .executeStream(); -while (response.hasNext()) { - System.out.print(response.next().getResult()); + .executeStream()) { + while (response.hasNext()) { + System.out.print(response.next().getResult()); + } } ``` @@ -193,4 +196,4 @@ PluginResponse response = new Qianfan().plugin() .query("这个图片是什么") .execute(); System.out.println(response.getResult()); -``` +``` \ No newline at end of file diff --git a/java/example/pom.xml b/java/example/pom.xml index 9a83448d..52509fba 100644 --- a/java/example/pom.xml +++ b/java/example/pom.xml @@ -18,7 +18,7 @@ com.baidubce qianfan - 0.0.7 + 0.0.9 diff --git a/java/pom.xml b/java/pom.xml index 606e0aff..d1b6e285 100644 --- a/java/pom.xml +++ b/java/pom.xml @@ -4,7 +4,7 @@ com.baidubce qianfan - 0.0.8 + 0.0.9 jar qianfan diff --git a/java/src/main/java/com/baidubce/qianfan/QianfanClient.java b/java/src/main/java/com/baidubce/qianfan/QianfanClient.java index aa71d4ec..c3d938a9 100644 --- a/java/src/main/java/com/baidubce/qianfan/QianfanClient.java +++ b/java/src/main/java/com/baidubce/qianfan/QianfanClient.java @@ -32,7 +32,7 @@ import com.baidubce.qianfan.util.http.*; class QianfanClient { - private static final String SDK_VERSION = "0.0.8"; + private static final String SDK_VERSION = "0.0.9"; private static final String QIANFAN_URL_TEMPLATE = "%s/rpc/2.0/ai_custom/v1/wenxinworkshop%s"; private static final String EXTRA_PARAM_REQUEST_SOURCE = "request_source"; private static final String REQUEST_SOURCE_PREFIX = "qianfan_java_sdk_v";