Title: ReadMe is out of date · Issue #166 · dashscope/dashscope-sdk-java · GitHub
Open Graph Title: ReadMe is out of date · Issue #166 · dashscope/dashscope-sdk-java
X Title: ReadMe is out of date · Issue #166 · dashscope/dashscope-sdk-java
Description: Conversation is deprecated , and QWenConversationParam is removed. Please update your doc as follows ## QuickStart ### Conversation You can create a conversation client simply by: ```java // Use http as the network protocol. Generation g...
Open Graph Description: Conversation is deprecated , and QWenConversationParam is removed. Please update your doc as follows ## QuickStart ### Conversation You can create a conversation client simply by: ```java // Use ht...
X Description: Conversation is deprecated , and QWenConversationParam is removed. Please update your doc as follows ## QuickStart ### Conversation You can create a conversation client simply by: ```java // Use ht...
Opengraph URL: https://github.com/dashscope/dashscope-sdk-java/issues/166
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"ReadMe is out of date","articleBody":"`Conversation` is deprecated , and `QWenConversationParam` is removed. Please update your doc as follows\n\n```\n## QuickStart\n\n### Conversation\n\nYou can create a conversation client simply by:\n\n```java\n// Use http as the network protocol.\nGeneration generation = new Generation();\n```\n\nThis interface also accept a protocol argument:\n\n```java\nimport com.alibaba.dashscope.common.Protocol;\nGeneration generation = new Generation(Protocol.HTTP.getValue());\nGeneration generation = new Generation(Protocol.WEBSOCKET.getValue());\n```\n\nThe generation interface supports both stream and non-stream queries. These queries all accept `GenerationParam` as input, and returns `GenerationResult` as output . Each model has a unique input structure and output structure which derives from the two data classes mentioned above. Please use these sub classes when you are using the coordinating model. \n\nHere shows the usages of each method, with the examples of `qwen-turbo` model.\n\n#### Support stream and non-stream mode, accept output from callback\n\n```java\nimport com.alibaba.dashscope.aigc.generation.Generation;\nimport com.alibaba.dashscope.aigc.generation.GenerationParam;\nimport com.alibaba.dashscope.aigc.generation.GenerationResult;\nimport com.alibaba.dashscope.common.Message;\nimport com.alibaba.dashscope.common.ResultCallback;\nimport com.alibaba.dashscope.common.Role;\nimport com.alibaba.dashscope.exception.ApiException;\nimport com.alibaba.dashscope.exception.InputRequiredException;\nimport com.alibaba.dashscope.exception.NoApiKeyException;\nimport com.alibaba.dashscope.utils.JsonUtils;\nimport java.util.Arrays;\n\npublic class Main {\n\n public static void main(String[] args) {\n Generation generation = new Generation();\n GenerationParam param = GenerationParam.builder()\n .apiKey(System.getenv(\"DASHSCOPE_API_KEY\"))\n .model(Generation.Models.QWEN_TURBO)\n .messages(Arrays.asList(\n Message.builder()\n .role(Role.USER.getValue())\n .content(\"Hello, how are you?\").build()\n )).build();\n\n class ReactCallback extends ResultCallback\u003cGenerationResult\u003e {\n\n @Override\n public void onEvent(GenerationResult message) {\n System.out.println( JsonUtils.toJson(message));\n // TODO deal with result\n }\n\n public void onComplete() {\n // TODO all messages received\n }\n\n public void onError(Exception e) {\n ApiException apiException = (ApiException) e;\n // TODO deal with exception\n }\n }\n\n generation.call(param, new ReactCallback());\n }\n}\n\n```\n\nThe Exception instance in the conversation scenario is a `ApiException` instance. This Exception may contain two parts:\n\n- A `Status` instance. This instance carries a status_code(The http error code), a code(server error code), a message(server error message), the input message id, and the usage information.\n- If an exception occurs, the `ApiException` instance may only carry an `Exception` stack trace, you can deal with it as you usually do.\n\n#### Stream only, accept by react io\n\n```java\nimport com.alibaba.dashscope.aigc.generation.Generation;\nimport com.alibaba.dashscope.aigc.generation.GenerationParam;\nimport com.alibaba.dashscope.aigc.generation.GenerationResult;\nimport com.alibaba.dashscope.common.Message;\nimport com.alibaba.dashscope.common.Role;\nimport com.alibaba.dashscope.exception.ApiException;\nimport com.alibaba.dashscope.exception.InputRequiredException;\nimport com.alibaba.dashscope.exception.NoApiKeyException;\nimport com.alibaba.dashscope.utils.JsonUtils;\nimport io.reactivex.Flowable;\nimport java.util.Arrays;\n\npublic class Main {\n\n public static void main(String[] args) {\n Generation generation = new Generation();\n\n Message systemMsg = Message.builder()\n .role(Role.SYSTEM.getValue())\n .content(\"You are a helpful assistant.\")\n .build();\n Message userMsg = Message.builder()\n .role(Role.USER.getValue())\n .content(\"你是谁?\")\n .build();\n GenerationParam param = GenerationParam.builder()\n .apiKey(System.getenv(\"DASHSCOPE_API_KEY\"))\n .model(Generation.Models.QWEN_TURBO)\n .messages(Arrays.asList(systemMsg, userMsg))\n .resultFormat(GenerationParam.ResultFormat.MESSAGE)\n .build();\n\n try {\n Flowable\u003cGenerationResult\u003e result = generation.streamCall( param);\n result.blockingForEach(msg -\u003e System.out.println(JsonUtils.toJson(msg)));\n\n } catch (ApiException | NoApiKeyException | InputRequiredException e) {\n System.err.println(\"An error occurred while calling the generation service: \" + e.getMessage());\n }\n }\n}\n```\n\nThe `streamCall` method accepts a `GenerationParam` , and returns a `Flowable`, which you can get the streaming result by `blockingForEach`, and catch the exception by the try-catch block.\n\n#### Non-stream only\n\n```java\nimport com.alibaba.dashscope.aigc.generation.Generation;\nimport com.alibaba.dashscope.aigc.generation.GenerationParam;\nimport com.alibaba.dashscope.aigc.generation.GenerationResult;\nimport com.alibaba.dashscope.common.Message;\nimport com.alibaba.dashscope.common.Role;\nimport com.alibaba.dashscope.exception.ApiException;\nimport com.alibaba.dashscope.exception.InputRequiredException;\nimport com.alibaba.dashscope.exception.NoApiKeyException;\nimport com.alibaba.dashscope.utils.JsonUtils;\nimport java.util.Arrays;\n\npublic class Main {\n\n public static void main(String[] args) {\n Generation generation = new Generation();\n\n Message systemMsg = Message.builder()\n .role(Role.SYSTEM.getValue())\n .content(\"You are a helpful assistant.\")\n .build();\n Message userMsg = Message.builder()\n .role(Role.USER.getValue())\n .content(\"你是谁?\")\n .build();\n GenerationParam param = GenerationParam.builder()\n .apiKey(System.getenv(\"DASHSCOPE_API_KEY\"))\n .model(Generation.Models.QWEN_TURBO)\n .messages(Arrays.asList(systemMsg, userMsg))\n .resultFormat(GenerationParam.ResultFormat.MESSAGE)\n .build();\n\n try {\n GenerationResult result = generation.call( param);\n System.out.println(JsonUtils.toJson(result));\n } catch (ApiException | NoApiKeyException | InputRequiredException e) {\n System.err.println(\"An error occurred while calling the generation service: \" + e.getMessage());\n }\n }\n}\n```\n\nThe `call` method accepts a `GenerationParam`, and returns a `GenerationResult`, you can also catch the exception with a try-catch block.\n","author":{"url":"https://github.com/XiaotianZha","@type":"Person","name":"XiaotianZha"},"datePublished":"2025-12-18T02:44:34.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":1},"url":"https://github.com/166/dashscope-sdk-java/issues/166"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:ad0bfcfd-f176-f592-9949-0c5d83828707 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | 95AE:D5FB4:16F057D:209F94C:6A61D63D |
| html-safe-nonce | efd87fd06eaa3ef384c8c07dca78b4a39871fbd0ccb8ca844b564053ede92424 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5NUFFOkQ1RkI0OjE2RjA1N0Q6MjA5Rjk0Qzo2QTYxRDYzRCIsInZpc2l0b3JfaWQiOiI2OTIwNTE1NDM2MTUwOTA0MzgxIiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | f953e679958204e5672a91fa3d8263ff7eb969721d227d29b78f8d2bf5b835ef |
| hovercard-subject-tag | issue:3741196861 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/dashscope/dashscope-sdk-java/166/issue_layout |
| twitter:image | https://opengraph.githubassets.com/dad7b92cabcae082edbc7085af26a9761bb50d9624e90540b0f928ea84af5846/dashscope/dashscope-sdk-java/issues/166 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/dad7b92cabcae082edbc7085af26a9761bb50d9624e90540b0f928ea84af5846/dashscope/dashscope-sdk-java/issues/166 |
| og:image:alt | Conversation is deprecated , and QWenConversationParam is removed. Please update your doc as follows ## QuickStart ### Conversation You can create a conversation client simply by: ```java // Use ht... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | XiaotianZha |
| hostname | github.com |
| expected-hostname | github.com |
| None | b2de8c74e5e61e893155ba46ee41bc66170c1644cb795adefa8386d490f7781c |
| turbo-cache-control | no-preview |
| go-import | github.com/dashscope/dashscope-sdk-java git https://github.com/dashscope/dashscope-sdk-java.git |
| octolytics-dimension-user_id | 127009744 |
| octolytics-dimension-user_login | dashscope |
| octolytics-dimension-repository_id | 882929467 |
| octolytics-dimension-repository_nwo | dashscope/dashscope-sdk-java |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 882929467 |
| octolytics-dimension-repository_network_root_nwo | dashscope/dashscope-sdk-java |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | d1866027ded575df8a15c731dd8b9986c9483ceb |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width