forked from dashscope/dashscope-sdk-java
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTestEncryption.java
More file actions
60 lines (55 loc) · 2.56 KB
/
TestEncryption.java
File metadata and controls
60 lines (55 loc) · 2.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
import java.security.NoSuchAlgorithmException;
import java.util.Arrays;
import com.alibaba.dashscope.aigc.generation.Generation;
import com.alibaba.dashscope.aigc.generation.GenerationParam;
import com.alibaba.dashscope.aigc.generation.GenerationResult;
import com.alibaba.dashscope.common.Message;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.protocol.Protocol;
import com.alibaba.dashscope.utils.EncryptionKey;
import com.alibaba.dashscope.utils.EncryptionKeys;
import com.alibaba.dashscope.utils.JsonUtils;
import io.reactivex.Flowable;
public class TestEncryption {
public static void qwenQuickStartStream()
throws NoApiKeyException, ApiException, InputRequiredException {
Generation gen = new Generation(Protocol.HTTP.getValue());
Message userMsg =
Message.builder().role(Role.USER.getValue()).content("Tell me something about AI.").build();
GenerationParam param = GenerationParam.builder().model("qwen-plus").resultFormat("message")
.messages(Arrays.asList(userMsg)).enableEncrypt(true).build();
Flowable<GenerationResult> result = gen.streamCall(param);
result.blockingForEach(msg -> {
System.out.println(msg);
});
}
public static void qwenQuickStartGeneral()
throws NoApiKeyException, ApiException, InputRequiredException {
Generation gen = new Generation(Protocol.HTTP.getValue());
Message userMsg = Message.builder().role(Role.USER.getValue())
.content("Tell me something about AI.").build();
GenerationParam param = GenerationParam.builder().model("qwen-turbo").enableEncrypt(true).resultFormat("message")
.messages(Arrays.asList(userMsg)).build();
GenerationResult result = gen.call(param);
System.out.println(JsonUtils.toJson(result));
}
/**
* Get encrypt key from server.
* @return
* @throws ApiException
* @throws NoApiKeyException
*/
public static EncryptionKey getEncryptKey() throws ApiException, NoApiKeyException {
EncryptionKeys encryptionKeys = new EncryptionKeys();
return encryptionKeys.get();
}
public static void main(String[] args) throws ApiException, NoApiKeyException,
InputRequiredException, NoSuchAlgorithmException {
qwenQuickStartGeneral();
qwenQuickStartStream();
System.exit(0);
}
}