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";