本文以通义千问大模型(qwen-turbo)为例,介绍通过DashScope玩转大语言模型的基本使用方法。
大语言模型可以与人类就几乎任何话题进行海阔天空的聊天。小明周末在家想做一顿美餐,但由于他是厨房新手,不知道该怎么烹饪。他希望聊天大模型能够帮到他,于是向大模型提出:“用萝卜、土豆、茄子做饭,给我个菜谱”。
前提条件
请您参考API-KEY的获取与配置,开通DashScope并获得API-KEY。
您可以使用OpenAI SDK、DashScope SDK或HTTP接口调用通义千问模型,请您根据您的需求,参考以下方式准备您的计算环境。
说明如果您之前使用OpenAI SDK以及HTTP方式调用OpenAI的服务,只需在原有框架下调整API-KEY、base_url、model等参数,就可以直接调用通义千问模型。
调用方式
准备条件
通过OpenAI Python SDK调用
您可以通过以下命令安装或更新OpenAI SDK:
# 如果下述命令报错,请将pip替换为pip3 pip install -U openai
您需要配置的base_url如下:
https://dashscope.aliyuncs.com/compatible-mode/v1
通过OpenAI兼容-HTTP调用
如果您需要通过OpenAI兼容的HTTP方式进行调用,需要配置的完整访问endpoint如下:
POST https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
通过DashScope SDK调用
DashScope SDK提供了Python和Java两个版本,请参考安装SDK,安装最新版SDK。
通过DashScope HTTP调用
如果您需要通过DashScope的HTTP方式进行调用,需要配置的完整访问endpoint如下:
POST https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation
我们推荐您将API-KEY配置到环境变量中以降低API-KEY的泄漏风险,详情可参考通过环境变量设置API-KEY。您也可以在代码中配置API-KEY,但是会存在泄露风险。
从最简单的指令开始
OpenAI兼容
您可以通过OpenAI SDK或OpenAI兼容的HTTP方式调用通义千问模型。
Python
示例代码
from openai import OpenAI
import os
def get_response():
client = OpenAI(
api_key=os.getenv("DASHSCOPE_API_KEY"), # 如果您没有配置环境变量,请在此处用您的API Key进行替换
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1", # 填写DashScope服务的base_url
)
completion = client.chat.completions.create(
model="qwen-turbo",
messages=[
{'role': 'system', 'content': 'You are a helpful assistant.'},
{'role': 'user', 'content': '用萝卜、土豆、茄子做饭,给我个菜谱。'}],
temperature=0.8,
top_p=0.8
)
print(completion.model_dump_json())
if __name__ == '__main__':
get_response()
返回结果
{
"id": "chatcmpl-cb68d043-fc6d-9b3b-87d2-151e2a0f6ac4",
"choices": [
{
"finish_reason": "stop",
"index": 0,
"logprobs": null,
"message": {
"content": "当然可以,这里有一个简单的三菜合一的菜品建议:蔬菜炖豆腐。这道菜结合了萝卜、土豆和茄子,营养丰富,做法也相当简单:\n\n**材料:**\n1. 萝卜半个\n2. 土豆1个\n3. 茄子2个\n4. 嫩豆腐1块\n5. 大葱1根\n6. 生姜适量\n7. 大蒜2瓣\n8. 食用油适量\n9. 盐适量\n10. 料酒适量\n11. 鸡精或味精适量\n12. 清水适量\n\n**步骤:**\n1. 萝卜、土豆去皮切块,茄子洗净去蒂,切成滚刀块。大葱切段,生姜切片,大蒜切末。\n2. 豆腐切块,放入开水中焯水,捞出沥干备用,这样可以去腥并使豆腐更加嫩滑。\n3. 热锅凉油,放入葱姜蒜爆香。\n4. 放入土豆块,翻煎至微黄色,再加入萝卜块和茄子块,继续翻炒均匀。\n5. 加入料酒,翻炒均匀后,倒入足够的清水,水量要没过所有蔬菜。\n6. 煮沸后转小火,慢慢炖煮15-20分钟,让蔬菜充分吸收汤汁。\n7. 加入焯过水的豆腐,再次煮沸后转小火,盖上锅盖炖5分钟左右,让豆腐充分入味。\n8. 最后加入适量的盐和鸡精(或其他调味品),搅拌均匀,尝一下味道,根据需要调整。\n9. 关火,撒上一些葱花点缀,即可出锅。\n\n这道菜色彩丰富,营养均衡,是一道适合家常的健康菜肴。",
"role": "assistant",
"function_call": null,
"tool_calls": null
}
}
],
"created": 1721636832,
"model": "qwen-turbo",
"object": "chat.completion",
"service_tier": null,
"system_fingerprint": null,
"usage": {
"completion_tokens": 398,
"prompt_tokens": 32,
"total_tokens": 430
}
}
curl
示例代码
curl --location "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions" \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"model": "qwen-turbo",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "用萝卜、土豆、茄子做饭,给我个菜谱。"
}
]
}'
返回结果
{
"choices": [
{
"message": {
"role": "assistant",
"content": "当然可以,这里有一个简单的三菜合一的菜品建议——“蔬菜炖锅”。这道菜不仅营养丰富,而且烹饪过程简单,非常适合家庭晚餐或周末烹饪。以下是具体的步骤:\n\n**材料:**\n- 萝卜 1 根\n- 土豆 2 个\n- 茄子 2 个\n- 洋葱 半个\n- 大蒜 3 瓣\n- 香菇 5-6 朵(可选)\n- 番茄酱 2 汤匙\n- 盐 适量\n- 黑胡椒粉 适量\n- 橄榄油 适量\n- 清水 适量\n\n**步骤:**\n1. **准备食材:**萝卜切块,土豆去皮切块,茄子去蒂切滚刀块,洋葱切片,大蒜剁碎,香菇洗净切片(如果使用)。\n\n2. **预热锅子:**在锅中加入适量橄榄油,加热后放入洋葱和大蒜炒香。\n\n3. **加入蔬菜:**将土豆和萝卜块放入锅中,翻煎几分钟让它们表面微焦,这样可以增加口感。\n\n4. **加入茄子:**将茄子块加入锅中,继续翻煎至所有蔬菜都稍微软化。\n\n5. **调入番茄酱:**倒入番茄酱,轻轻搅拌均匀,让蔬菜充分吸收番茄酱的味道。\n\n6. **加水:**加入足够的清水,水量要没过蔬菜,大火烧开后转小火慢慢炖煮,盖上锅盖。\n\n7. **调味:**根据个人口味添加盐和黑胡椒粉调味,炖煮约20-30分钟,直到蔬菜熟透且汤汁浓郁。\n\n8. **出锅:**最后撒上香菇片(如果使用),再炖煮5分钟左右即可出锅。\n\n这道“蔬菜炖锅”既美味又健康,你可以根据自己的口味调整食材和调料,例如添加一些香料如迷迭香或百里香来提升风味。享受你的美食!"
},
"finish_reason": "stop",
"index": 0,
"logprobs": null
}
],
"object": "chat.completion",
"usage": {
"prompt_tokens": 32,
"completion_tokens": 441,
"total_tokens": 473
},
"created": 1721636938,
"system_fingerprint": null,
"model": "qwen-turbo",
"id": "chatcmpl-31cc1e14-7ab4-9fd5-b831-57d2ee25f4bb"
}
DashScope
您可以通过DashScope SDK或HTTP方式调用通义千问模型。
Python
示例代码
import random
from http import HTTPStatus
# 建议dashscope SDK 的版本 >= 1.14.0
from dashscope import Generation
def call_with_messages():
messages = [{'role': 'system', 'content': 'You are a helpful assistant.'},
{'role': 'user', 'content': '用萝卜、土豆、茄子做饭,给我个菜谱。'}]
response = Generation.call(model="qwen-turbo",
messages=messages,
# 设置随机数种子seed,如果没有设置,则随机数种子默认为1234
seed=random.randint(1, 10000),
temperature=0.8,
top_p=0.8,
top_k=50,
# 将输出设置为"message"格式
result_format='message')
if response.status_code == HTTPStatus.OK:
print(response)
else:
print('Request id: %s, Status code: %s, error code: %s, error message: %s' % (
response.request_id, response.status_code,
response.code, response.message
))
if __name__ == '__main__':
call_with_messages()
返回结果
{
"status_code": 200,
"request_id": "8925018f-3ab3-9da9-a783-4866e4254e9a",
"code": "",
"message": "",
"output": {
"text": null,
"finish_reason": null,
"choices": [
{
"finish_reason": "stop",
"message": {
"role": "assistant",
"content": "当然可以,这里有一个简单的蔬菜炖煮菜谱,名为\"三蔬炖豆腐\",你可以试试看:\n\n**材料:**\n1. 萝卜半个\n2. 土豆一个\n3. 茄子一个\n4. 嫩豆腐一块\n5. 大葱适量\n6. 生姜适量\n7. 大蒜瓣适量\n8. 食盐适量\n9. 食用油适量\n10. 料酒适量\n11. 高汤或者清水适量\n12. 白胡椒粉适量(可选)\n\n**步骤:**\n1. 萝卜、土豆和茄子清洗干净,去皮切块。注意土豆要先切块后浸泡在水中防止氧化变色。\n2. 嫩豆腐切成厚片,大葱切段,生姜切片,大蒜瓣切末备用。\n3. 热锅凉油,放入葱姜蒜末炒香。\n4. 加入土豆块翻炒均匀,然后加入适量的料酒,继续翻炒让土豆吸收一些酒香。\n5. 放入萝卜块和茄子块,继续翻炒至蔬菜稍微软化。\n6. 倒入高汤或清水,水量没过蔬菜即可。如果用清水,可以适当加些鸡精或者鸡粉增加鲜味。\n7. 加入食盐调味,盖上锅盖,转小火慢慢炖煮,直到蔬菜熟软。\n8. 最后加入豆腐片,轻轻搅拌,让豆腐吸收汤汁的味道。如果喜欢,可以撒一些白胡椒粉增添风味。\n9. 炖煮几分钟,让豆腐充分入味后,就可以出锅了。\n\n这道菜营养丰富,颜色搭配也很好看,非常适合素食者或者想吃清淡健康菜肴的人。Enjoy your meal!"
}
}
]
},
"usage": {
"input_tokens": 32,
"output_tokens": 391,
"total_tokens": 423
}
}
Java
示例代码
// Copyright (c) Alibaba, Inc. and its affiliates.
// 建议dashscope SDK的版本 >= 2.12.0
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.utils.JsonUtils;
public class Main {
public static GenerationResult callWithMessage() throws ApiException, NoApiKeyException, InputRequiredException {
Generation gen = new Generation();
Message systemMsg = Message.builder()
.role(Role.SYSTEM.getValue())
.content("You are a helpful assistant.")
.build();
Message userMsg = Message.builder()
.role(Role.USER.getValue())
.content("用萝卜、土豆、茄子做饭,给我个菜谱。")
.build();
GenerationParam param = GenerationParam.builder()
.model("qwen-turbo")
.messages(Arrays.asList(systemMsg, userMsg))
.resultFormat(GenerationParam.ResultFormat.MESSAGE)
.topK(50)
.temperature(0.8f)
.topP(0.8)
.seed(1234)
.build();
return gen.call(param);
}
public static void main(String[] args) {
try {
GenerationResult result = callWithMessage();
System.out.println(JsonUtils.toJson(result));
} catch (ApiException | NoApiKeyException | InputRequiredException e) {
// 使用日志框架记录异常信息
// Logger.error("An error occurred while calling the generation service", e);
System.err.println("An error occurred while calling the generation service: " + e.getMessage());
}
System.exit(0);
}
}
返回结果
{
"requestId": "02edfe6d-26ce-9bed-a30e-f61803bcbaea",
"usage": {
"input_tokens": 32,
"output_tokens": 398,
"total_tokens": 430
},
"output": {
"choices": [
{
"finish_reason": "stop",
"message": {
"role": "assistant",
"content": "当然可以,这里有一个简单的三菜合一的菜品建议:蔬菜炖豆腐。这道菜结合了萝卜、土豆和茄子,营养丰富,口感也很好。以下是制作步骤:\n\n**材料:**\n1. 萝卜半个\n2. 土豆1个\n3. 茄子2个\n4. 嫩豆腐1块\n5. 大葱1根\n6. 生姜适量\n7. 大蒜3瓣\n8. 食用油适量\n9. 盐适量\n10. 料酒适量\n11. 鸡精或味精少许\n12. 清水适量\n\n**步骤:**\n1. 萝卜去皮切块,土豆去皮切滚刀块,茄子去蒂切段,豆腐切块备用。\n2. 大葱切段,生姜切片,大蒜切末。\n3. 热锅凉油,放入葱姜蒜爆香。\n4. 加入切好的萝卜和土豆,翻炒均匀,让它们吸收一些油分,这样煮出来的蔬菜会更甜。\n5. 当土豆边缘开始微微变软时,加入茄子,继续翻炒均匀。\n6. 倒入适量料酒,略煮一会儿去去腥味。\n7. 加入清水,水量大约没过蔬菜,大火烧开后转小火慢慢炖煮,让蔬菜充分熟透并吸收汤汁。\n8. 待蔬菜差不多软烂时,加入豆腐,轻轻搅拌以免破坏豆腐形状。\n9. 炖煮5分钟左右,让豆腐充分入味。\n10. 最后加盐调味,撒上一点鸡精或味精提鲜,即可出锅。\n\n这道菜可以根据个人口味调整调料的量,如果喜欢更浓郁的汤底,可以适当增加一些酱油或者番茄酱。希望你会喜欢!"
}
}
]
}
}
curl
示例代码
curl --location "https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation" \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"model": "qwen-turbo",
"input":{
"messages":[
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "用萝卜、土豆、茄子做饭,给我个菜谱。"
}
]
},
"parameters": {
"result_format": "message"
}
}'
返回结果
{
"output": {
"choices": [
{
"finish_reason": "stop",
"message": {
"role": "assistant",
"content": "当然可以,这里有一个简单的三菜合一的菜品建议——“蔬菜炖锅”。这道菜不仅营养丰富,而且烹饪过程简单,非常适合家庭晚餐或周末烹饪。以下是具体的步骤:\n\n**材料:**\n- 萝卜 1 根\n- 土豆 2 个\n- 茄子 2 个\n- 洋葱 半个\n- 大蒜 3 瓣\n- 香菇 5-6 朵(可选)\n- 番茄酱 2 汤匙\n- 盐 适量\n- 黑胡椒粉 适量\n- 橄榄油 适量\n- 清水 适量\n\n**步骤:**\n1. **准备食材:**萝卜切块,土豆去皮切块,茄子去蒂切滚刀块,洋葱切片,大蒜剁碎,香菇洗净切片(如果使用)。\n\n2. **预热锅子:**在锅中加入适量橄榄油,加热后放入洋葱和大蒜炒香。\n\n3. **加入蔬菜:**将土豆和萝卜块放入锅中,翻煎几分钟让它们表面微焦,这样可以增加口感。\n\n4. **加入茄子:**将茄子块加入锅中,继续翻煎至所有蔬菜都稍微软化。\n\n5. **调入番茄酱:**倒入番茄酱,轻轻搅拌均匀,让蔬菜充分吸收番茄酱的味道。\n\n6. **加水:**加入足够的清水,水量要没过蔬菜,大火烧开后转小火慢慢炖煮,盖上锅盖。\n\n7. **调味:**根据个人口味添加盐和黑胡椒粉调味,炖煮约20-30分钟,直到蔬菜熟透且汤汁浓郁。\n\n8. **出锅:**最后撒上香菇片(如果使用),再炖煮5分钟左右即可出锅。\n\n这道“蔬菜炖锅”既美味又健康,你可以根据自己的口味调整食材和调料,例如添加一些香料如迷迭香或百里香提升风味。享受你的美食时间吧!"
}
}
]
},
"usage": {
"total_tokens": 474,
"output_tokens": 442,
"input_tokens": 32
},
"request_id": "2e03b68f-2636-9227-a223-9c623c47c23e"
}
接收流式输出
上述代码的会在整体文本生成完成后,一次性返回所有输出结果。小明修改了代码,让大模型一边生成一边输出,通过流式输出的方式尽快的将中间结果显示在屏幕上。
OpenAI兼容
您可以通过OpenAI SDK或OpenAI兼容的HTTP方式调用通义千问模型,体验流式输出的功能。
Python
示例代码
from openai import OpenAI
import os
def get_response():
client = OpenAI(
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
model="qwen-turbo",
messages=[{'role': 'system', 'content': 'You are a helpful assistant.'},
{'role': 'user', 'content': '用萝卜、土豆、茄子做饭,给我个菜谱。'}],
stream=True,
# 可选,配置以后会在流式输出的最后一行展示token使用信息
stream_options={"include_usage": True}
)
for chunk in completion:
print(chunk.model_dump_json())
if __name__ == '__main__':
get_response()
返回结果
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":"","function_call":null,"role":"assistant","tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":"当然","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":"可以","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":",","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":"这里有一个简单的三菜","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":"合一的菜品建议——“蔬菜炖","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":"锅”。这道菜不仅营养丰富","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":",而且烹饪过程简单,非常适合家庭","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":"晚餐或周末烹饪。\n\n**材料:","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":"**\n- 萝卜半个\n","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":"- 土豆2个\n-","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":" 茄子2个\n-","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":" 洋葱1/2个","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":"\n- 大蒜3瓣\n","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":"- 鸡汤或蔬菜汤","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":" 4杯\n- 番","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":"茄酱 2大勺\n-","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":" 橄榄油 2大","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":"勺\n- 盐适量\n-","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":" 黑胡椒粉适量\n-","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":" 百里香或者迷迭香","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":"少许(可选)\n\n**步骤:","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":"**\n1. **准备食材:**","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":" 萝卜、土豆和茄子","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":"洗净去皮,切成块状;","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":"洋葱和大蒜剁碎备用。\n\n2","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":". **预热锅子:**","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":" 在锅中加入橄榄油,中","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":"火加热。\n\n3. **炒香","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":"洋葱和大蒜:** 当油热","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":"后,放入洋葱和大蒜炒至","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":"微黄色,散发出香味。\n\n4","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":". **加入蔬菜:** 加入","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":"切好的萝卜、土豆和茄子,","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":"翻煎均匀,让蔬菜表面稍微","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":"焦香,这样能提升口感。\n\n","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":"5. **调入调料:**","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":" 倒入番茄酱,加入","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":"鸡汤或蔬菜汤,搅拌均匀。","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":"如果喜欢的话,可以撒上一些","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":"百里香或迷迭香增加","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":"风味。\n\n6. **煮炖:","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":"** 盖上锅盖,转","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":"小火慢炖20-2","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":"5分钟,直到蔬菜变得软烂","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":",汤汁浓稠。\n\n7.","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":" **调味:** 根据口味","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":"加盐和黑胡椒粉调味","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":",最后尝一下味道,根据需要","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":"再做调整。\n\n8. **出","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":"锅:** 关火,让菜肴","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":"稍微冷却几分钟,然后就可以享用了","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":"。\n\n这道\"蔬菜炖锅\"","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":"既健康又美味,适合搭配米饭","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":"或者面包食用,是一道家常","function_call":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[{"delta":{"content":"的好菜。","function_call":null,"role":null,"tool_calls":null},"finish_reason":"stop","index":0,"logprobs":null}],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-7de61ea7-afba-9baf-8708-6bb9a197a35d","choices":[],"created":1721637291,"model":"qwen-turbo","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":{"completion_tokens":411,"prompt_tokens":32,"total_tokens":443}}
curl
示例代码
curl --location "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions" \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"model": "qwen-turbo",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "用萝卜、土豆、茄子做饭,给我个菜谱。"
}
],
"stream":true
}'
返回结果
data: {"choices":[{"delta":{"content":"","role":"assistant"},"index":0,"logprobs":null,"finish_reason":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"finish_reason":null,"delta":{"content":"当然"},"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"可以"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":","},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"这里有一个简单的三菜"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"合一的菜品建议——“蔬菜炖"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"锅”。这道菜不仅营养丰富"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":",而且烹饪过程简单,非常适合家庭"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"晚餐或周末烹饪。以下是具体的步骤"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":":\n\n**材料:**\n- "},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"萝卜 1 根\n-"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":" 土豆 2 个\n"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"- 茄子 2 "},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"个\n- 洋葱 "},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"半个\n- 大蒜 "},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"3 瓣\n- "},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"香菇 5-6 朵"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"(可选)\n- 番"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"茄酱 2 汤匙"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"\n- 盐 适量\n-"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":" 黑胡椒粉 适量\n"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"- 橄榄油 适量"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"\n- 清水 适量\n\n"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"**步骤:**\n1. **准备"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"食材:**萝卜切块,土豆"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"去皮切块,茄子去蒂"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"切滚刀块,洋葱切片"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":",大蒜剁碎,香菇洗净切"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"片(如果使用)。\n\n2."},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":" **预热锅子:**在"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"锅中加入适量橄榄油,加热"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"后放入洋葱和大蒜炒香。\n\n"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"3. **加入蔬菜:**将"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"土豆和萝卜块放入锅中,"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"翻煎几分钟让它们表面微焦"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":",这样可以增加口感。\n\n4."},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":" **加入茄子:**将茄子块"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"加入锅中,继续翻煎至"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"所有蔬菜都稍微软化。\n\n5"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":". **调入番茄酱:**"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"倒入番茄酱,轻轻搅拌均匀,"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"让蔬菜充分吸收番茄酱的味道。\n\n"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"6. **加水:**加入"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"足够的清水,水量要没过蔬菜"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":",大火烧开后转小火"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"慢慢炖煮,盖上锅盖"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"。\n\n7. **调味:**根据"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"个人口味添加盐和黑胡椒"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"粉调味,炖煮约20"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"-30分钟,直到蔬菜熟"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"透且汤汁浓郁。\n\n8."},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":" **出锅:**最后撒上"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"香菇片(如果使用),再炖"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"煮5分钟左右即可出锅。\n\n这"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"道“蔬菜炖锅”既美味"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"又健康,你可以根据自己的口味调整"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"食材和调料,例如添加一些香"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"料如迷迭香或百里"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"香来提升风味。享受你的美食"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: {"choices":[{"delta":{"content":"!"},"finish_reason":"stop","index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1721637415,"system_fingerprint":null,"model":"qwen-turbo","id":"chatcmpl-edcf5357-8253-92b3-85d2-a91da241e108"}
data: [DONE]
DashScope
您可以通过DashScope SDK或HTTP方式调用通义千问模型,体验流式输出的功能。
Python
示例代码
from http import HTTPStatus
from dashscope import Generation
def call_with_stream():
messages = [
{'role':'system','content':'you are a helpful assistant'},
{'role': 'user','content': '用萝卜、土豆、茄子做饭,给我个菜谱。'}
]
responses = Generation.call(
model="qwen-turbo",
messages=messages,
# 设置输出为'message'格式
result_format='message',
# 设置输出方式为流式输出
stream=True,
# 增量式流式输出
incremental_output=True
)
for response in responses:
if response.status_code == HTTPStatus.OK:
print(response)
else:
print('Request id: %s, Status code: %s, error code: %s, error message: %s' % (
response.request_id, response.status_code,
response.code, response.message
))
if __name__ == '__main__':
call_with_stream()
返回结果
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "当然"}}]}, "usage": {"input_tokens": 31, "output_tokens": 1, "total_tokens": 32}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "可以"}}]}, "usage": {"input_tokens": 31, "output_tokens": 2, "total_tokens": 33}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": ","}}]}, "usage": {"input_tokens": 31, "output_tokens": 3, "total_tokens": 34}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "这里有一个简单的三菜"}}]}, "usage": {"input_tokens": 31, "output_tokens": 8, "total_tokens": 39}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "一汤的菜谱,使用萝卜"}}]}, "usage": {"input_tokens": 31, "output_tokens": 16, "total_tokens": 47}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "、土豆和茄子:\n\n**菜品:"}}]}, "usage": {"input_tokens": 31, "output_tokens": 24, "total_tokens": 55}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "红烧萝卜土豆**\n1. "}}]}, "usage": {"input_tokens": 31, "output_tokens": 32, "total_tokens": 63}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "材料:萝卜半个,土豆2"}}]}, "usage": {"input_tokens": 31, "output_tokens": 40, "total_tokens": 71}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "个,葱姜适量,生抽"}}]}, "usage": {"input_tokens": 31, "output_tokens": 48, "total_tokens": 79}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "、老抽、糖、盐各"}}]}, "usage": {"input_tokens": 31, "output_tokens": 56, "total_tokens": 87}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "适量,清水适量。\n2. "}}]}, "usage": {"input_tokens": 31, "output_tokens": 64, "total_tokens": 95}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "做法:\n - "}}]}, "usage": {"input_tokens": 31, "output_tokens": 71, "total_tokens": 102}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "萝卜和土豆去皮切块"}}]}, "usage": {"input_tokens": 31, "output_tokens": 80, "total_tokens": 111}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": ",葱切段,姜切片"}}]}, "usage": {"input_tokens": 31, "output_tokens": 88, "total_tokens": 119}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "备用。\n - 热锅"}}]}, "usage": {"input_tokens": 31, "output_tokens": 96, "total_tokens": 127}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "凉油,放入糖小火炒"}}]}, "usage": {"input_tokens": 31, "output_tokens": 104, "total_tokens": 135}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "至红色,加入葱姜炒香"}}]}, "usage": {"input_tokens": 31, "output_tokens": 112, "total_tokens": 143}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "。\n - 加入萝卜和土豆"}}]}, "usage": {"input_tokens": 31, "output_tokens": 120, "total_tokens": 151}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "块翻炒均匀,加入生抽"}}]}, "usage": {"input_tokens": 31, "output_tokens": 128, "total_tokens": 159}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "、老抽上色。\n -"}}]}, "usage": {"input_tokens": 31, "output_tokens": 136, "total_tokens": 167}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": " 倒入足够的清水,水量"}}]}, "usage": {"input_tokens": 31, "output_tokens": 144, "total_tokens": 175}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "要没过食材,大火烧开"}}]}, "usage": {"input_tokens": 31, "output_tokens": 152, "total_tokens": 183}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "后转中小火慢炖30"}}]}, "usage": {"input_tokens": 31, "output_tokens": 160, "total_tokens": 191}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "分钟左右,直到萝卜和土豆熟软"}}]}, "usage": {"input_tokens": 31, "output_tokens": 168, "total_tokens": 199}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "。\n - 最后加盐调味"}}]}, "usage": {"input_tokens": 31, "output_tokens": 176, "total_tokens": 207}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": ",收汁即可。\n\n**菜品:"}}]}, "usage": {"input_tokens": 31, "output_tokens": 184, "total_tokens": 215}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "茄汁土豆泥**\n1. "}}]}, "usage": {"input_tokens": 31, "output_tokens": 192, "total_tokens": 223}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "材料:土豆2个,茄子"}}]}, "usage": {"input_tokens": 31, "output_tokens": 200, "total_tokens": 231}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "1个,洋葱半个,蒜瓣"}}]}, "usage": {"input_tokens": 31, "output_tokens": 208, "total_tokens": 239}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "2-3个,牛奶或植物"}}]}, "usage": {"input_tokens": 31, "output_tokens": 216, "total_tokens": 247}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "奶适量,盐、黑胡椒"}}]}, "usage": {"input_tokens": 31, "output_tokens": 224, "total_tokens": 255}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "粉适量。\n2. 做"}}]}, "usage": {"input_tokens": 31, "output_tokens": 232, "total_tokens": 263}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "法:\n - 土豆和"}}]}, "usage": {"input_tokens": 31, "output_tokens": 240, "total_tokens": 271}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "茄子切块,洋葱切末,"}}]}, "usage": {"input_tokens": 31, "output_tokens": 248, "total_tokens": 279}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "蒜瓣切片备用。\n -"}}]}, "usage": {"input_tokens": 31, "output_tokens": 256, "total_tokens": 287}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": " 先将土豆煮熟,捣"}}]}, "usage": {"input_tokens": 31, "output_tokens": 264, "total_tokens": 295}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "成泥,保留一些水分,备用"}}]}, "usage": {"input_tokens": 31, "output_tokens": 272, "total_tokens": 303}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "。\n - 炒锅加油"}}]}, "usage": {"input_tokens": 31, "output_tokens": 280, "total_tokens": 311}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": ",放入洋葱末和蒜片炒"}}]}, "usage": {"input_tokens": 31, "output_tokens": 288, "total_tokens": 319}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "香,加入茄子块煎至两"}}]}, "usage": {"input_tokens": 31, "output_tokens": 296, "total_tokens": 327}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "面微黄。\n - 加入"}}]}, "usage": {"input_tokens": 31, "output_tokens": 304, "total_tokens": 335}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "适量水,煮至茄子变软"}}]}, "usage": {"input_tokens": 31, "output_tokens": 312, "total_tokens": 343}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": ",然后倒入土豆泥中,加入"}}]}, "usage": {"input_tokens": 31, "output_tokens": 320, "total_tokens": 351}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "牛奶搅拌均匀。\n - 最后"}}]}, "usage": {"input_tokens": 31, "output_tokens": 328, "total_tokens": 359}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "加盐、黑胡椒粉调味"}}]}, "usage": {"input_tokens": 31, "output_tokens": 336, "total_tokens": 367}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": ",再小火煮一会儿让味道"}}]}, "usage": {"input_tokens": 31, "output_tokens": 344, "total_tokens": 375}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "融合。\n\n**汤品:萝卜土豆"}}]}, "usage": {"input_tokens": 31, "output_tokens": 352, "total_tokens": 383}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "炖排骨汤**\n1. 材"}}]}, "usage": {"input_tokens": 31, "output_tokens": 360, "total_tokens": 391}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "料:排骨500克,"}}]}, "usage": {"input_tokens": 31, "output_tokens": 368, "total_tokens": 399}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "萝卜1个,土豆2个,"}}]}, "usage": {"input_tokens": 31, "output_tokens": 376, "total_tokens": 407}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "生姜2片,料酒、盐"}}]}, "usage": {"input_tokens": 31, "output_tokens": 384, "total_tokens": 415}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "适量,清水适量。\n2. "}}]}, "usage": {"input_tokens": 31, "output_tokens": 392, "total_tokens": 423}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "做法:\n - 排"}}]}, "usage": {"input_tokens": 31, "output_tokens": 400, "total_tokens": 431}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "骨洗净,焯水去血水"}}]}, "usage": {"input_tokens": 31, "output_tokens": 408, "total_tokens": 439}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": ",萝卜和土豆切块。\n "}}]}, "usage": {"input_tokens": 31, "output_tokens": 416, "total_tokens": 447}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": " - 锅中加水,放入"}}]}, "usage": {"input_tokens": 31, "output_tokens": 424, "total_tokens": 455}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "排骨、姜片和料酒,"}}]}, "usage": {"input_tokens": 31, "output_tokens": 432, "total_tokens": 463}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "大火烧开后撇去浮沫"}}]}, "usage": {"input_tokens": 31, "output_tokens": 440, "total_tokens": 471}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": ",转小火炖煮1小时"}}]}, "usage": {"input_tokens": 31, "output_tokens": 448, "total_tokens": 479}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "。\n - 加入萝卜和土豆"}}]}, "usage": {"input_tokens": 31, "output_tokens": 456, "total_tokens": 487}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "块,继续炖煮30分钟"}}]}, "usage": {"input_tokens": 31, "output_tokens": 464, "total_tokens": 495}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": ",直至萝卜土豆熟透。\n "}}]}, "usage": {"input_tokens": 31, "output_tokens": 472, "total_tokens": 503}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": " - 最后加盐调味即可。\n\n"}}]}, "usage": {"input_tokens": 31, "output_tokens": 480, "total_tokens": 511}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "这是一份基础的组合,你可以"}}]}, "usage": {"input_tokens": 31, "output_tokens": 488, "total_tokens": 519}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "根据个人口味调整调料和烹饪时间"}}]}, "usage": {"input_tokens": 31, "output_tokens": 496, "total_tokens": 527}}
{"status_code": 200, "request_id": "f4b247aa-871f-9819-89e0-89b6cc8c7108", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "stop", "message": {"role": "assistant", "content": "。祝你做菜愉快!"}}]}, "usage": {"input_tokens": 31, "output_tokens": 503, "total_tokens": 534}}
Java
示例代码
// Copyright (c) Alibaba, Inc. and its affiliates.
import java.util.Arrays;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
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.utils.JsonUtils;
import io.reactivex.Flowable;
import java.lang.System;
public class Main {
private static final Logger logger = LoggerFactory.getLogger(Main.class);
private static void handleGenerationResult(GenerationResult message) {
System.out.println(JsonUtils.toJson(message));
}
public static void streamCallWithMessage(Generation gen, Message userMsg)
throws NoApiKeyException, ApiException, InputRequiredException {
GenerationParam param = buildGenerationParam(userMsg);
Flowable<GenerationResult> result = gen.streamCall(param);
result.blockingForEach(message -> handleGenerationResult(message));
}
private static GenerationParam buildGenerationParam(Message userMsg) {
return GenerationParam.builder()
.model("qwen-turbo")
.messages(Arrays.asList(userMsg))
.resultFormat(GenerationParam.ResultFormat.MESSAGE)
.topP(0.8)
.incrementalOutput(true)
.build();
}
public static void main(String[] args) {
try {
Generation gen = new Generation();
Message userMsg = Message.builder().role(Role.USER.getValue()).content("用萝卜、土豆、茄子做饭,给我个菜谱。").build();
streamCallWithMessage(gen, userMsg);
} catch (ApiException | NoApiKeyException | InputRequiredException e) {
logger.error("An exception occurred: {}", e.getMessage());
}
}
}
返回结果
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":1,"total_tokens":22},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"当然"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":2,"total_tokens":23},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"可以"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":3,"total_tokens":24},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":","}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":8,"total_tokens":29},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"这里有一个简单的三菜"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":16,"total_tokens":37},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"合一的菜品建议——“蔬菜炖"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":24,"total_tokens":45},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"锅”。这道菜不仅营养丰富"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":32,"total_tokens":53},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":",而且烹饪过程简单,非常适合家庭"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":40,"total_tokens":61},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"晚餐或周末烹饪。以下是具体的步骤"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":47,"total_tokens":68},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":":\n\n**材料:**\n- "}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":56,"total_tokens":77},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"萝卜 1 根\n-"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":64,"total_tokens":85},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":" 土豆 2 个\n"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":72,"total_tokens":93},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"- 茄子 2 "}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":80,"total_tokens":101},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"个\n- 洋葱 "}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":88,"total_tokens":109},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"半个\n- 大蒜 "}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":95,"total_tokens":116},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"3 瓣\n- "}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":104,"total_tokens":125},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"香菇 5-6 朵"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":112,"total_tokens":133},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"(可选)\n- 番"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":120,"total_tokens":141},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"茄酱 2 汤匙"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":128,"total_tokens":149},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"\n- 盐 适量\n-"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":136,"total_tokens":157},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":" 黑胡椒粉 适量\n"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":144,"total_tokens":165},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"- 橄榄油 适量"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":152,"total_tokens":173},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"\n- 清水 适量\n\n"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":160,"total_tokens":181},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"**步骤:**\n1. **准备"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":168,"total_tokens":189},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"食材:**萝卜切块,土豆"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":176,"total_tokens":197},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"去皮切块,茄子去蒂"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":184,"total_tokens":205},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"切滚刀块,洋葱切片"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":192,"total_tokens":213},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":",大蒜剁碎,香菇洗净切"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":200,"total_tokens":221},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"片(如果使用)。\n\n2."}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":208,"total_tokens":229},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":" **预热锅子:**在"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":216,"total_tokens":237},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"锅中加入适量橄榄油,加热"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":224,"total_tokens":245},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"后放入洋葱和大蒜炒香。\n\n"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":232,"total_tokens":253},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"3. **加入蔬菜:**将"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":240,"total_tokens":261},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"土豆和萝卜块放入锅中,"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":248,"total_tokens":269},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"翻煎几分钟让它们表面微焦"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":256,"total_tokens":277},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":",这样可以增加口感。\n\n4."}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":264,"total_tokens":285},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":" **加入茄子:**将茄子块"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":272,"total_tokens":293},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"加入锅中,继续翻煎至"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":280,"total_tokens":301},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"所有蔬菜都稍微软化。\n\n5"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":288,"total_tokens":309},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":". **调入番茄酱:**"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":296,"total_tokens":317},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"倒入番茄酱,轻轻搅拌均匀,"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":304,"total_tokens":325},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"让蔬菜充分吸收番茄酱的味道。\n\n"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":312,"total_tokens":333},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"6. **加水:**加入"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":320,"total_tokens":341},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"足够的清水,水量要没过蔬菜"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":328,"total_tokens":349},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":",大火烧开后转小火"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":336,"total_tokens":357},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"慢慢炖煮,盖上锅盖"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":344,"total_tokens":365},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"。\n\n7. **调味:**根据"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":352,"total_tokens":373},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"个人口味添加盐和黑胡椒"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":360,"total_tokens":381},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"粉调味,炖煮约20"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":368,"total_tokens":389},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"-30分钟,直到蔬菜熟"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":376,"total_tokens":397},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"透且汤汁浓郁。\n\n8."}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":384,"total_tokens":405},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":" **出锅:**最后撒上"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":392,"total_tokens":413},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"香菇片(如果使用),再炖"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":400,"total_tokens":421},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"煮5分钟左右即可出锅。\n\n这"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":408,"total_tokens":429},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"道“蔬菜炖锅”既美味"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":416,"total_tokens":437},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"又健康,你可以根据自己的口味调整"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":424,"total_tokens":445},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"食材和调料,例如添加一些香"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":432,"total_tokens":453},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"料如迷迭香或百里"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":440,"total_tokens":461},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":"香来提升风味。享受你的美食"}}]}}
{"requestId":"b858aa05-4d67-9132-9d88-022d714374d5","usage":{"input_tokens":21,"output_tokens":441,"total_tokens":462},"output":{"choices":[{"finish_reason":"stop","message":{"role":"assistant","content":"!"}}]}}
curl
示例代码
curl --location "https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation" \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json" \
--header "X-DashScope-SSE: enable" \
--data '{
"model": "qwen-turbo",
"input":{
"messages":[
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "用萝卜、土豆、茄子做饭,给我个菜谱。"
}
]
},
"parameters": {
"result_format": "message",
"incremental_output":true
}
}'
返回结果
id:1
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"当然","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":33,"input_tokens":32,"output_tokens":1},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:2
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"可以","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":34,"input_tokens":32,"output_tokens":2},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:3
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":",","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":35,"input_tokens":32,"output_tokens":3},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:4
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"这里有一个简单的三菜","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":40,"input_tokens":32,"output_tokens":8},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:5
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"合一的菜品建议——“蔬菜炖","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":48,"input_tokens":32,"output_tokens":16},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:6
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"锅”。这道菜不仅营养丰富","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":56,"input_tokens":32,"output_tokens":24},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:7
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":",而且烹饪过程简单,非常适合家庭","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":64,"input_tokens":32,"output_tokens":32},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:8
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"晚餐或周末烹饪。以下是具体的步骤","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":72,"input_tokens":32,"output_tokens":40},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:9
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":":\n\n**材料:**\n- ","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":79,"input_tokens":32,"output_tokens":47},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:10
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"萝卜 1 根\n-","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":88,"input_tokens":32,"output_tokens":56},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:11
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":" 土豆 2 个\n","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":96,"input_tokens":32,"output_tokens":64},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:12
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"- 茄子 2 ","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":104,"input_tokens":32,"output_tokens":72},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:13
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"个\n- 洋葱 ","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":112,"input_tokens":32,"output_tokens":80},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:14
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"半个\n- 大蒜 ","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":120,"input_tokens":32,"output_tokens":88},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:15
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"3 瓣\n- ","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":127,"input_tokens":32,"output_tokens":95},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:16
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"香菇 5-6 朵","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":136,"input_tokens":32,"output_tokens":104},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:17
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"(可选)\n- 番","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":144,"input_tokens":32,"output_tokens":112},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:18
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"茄酱 2 汤匙","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":152,"input_tokens":32,"output_tokens":120},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:19
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"\n- 盐 适量\n-","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":160,"input_tokens":32,"output_tokens":128},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:20
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":" 黑胡椒粉 适量\n","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":168,"input_tokens":32,"output_tokens":136},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:21
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"- 橄榄油 适量","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":176,"input_tokens":32,"output_tokens":144},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:22
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"\n- 清水 适量\n\n","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":184,"input_tokens":32,"output_tokens":152},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:23
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"**步骤:**\n1. **准备","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":192,"input_tokens":32,"output_tokens":160},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:24
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"食材:**萝卜切块,土豆","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":200,"input_tokens":32,"output_tokens":168},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:25
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"去皮切块,茄子去蒂","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":208,"input_tokens":32,"output_tokens":176},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:26
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"切滚刀块,洋葱切片","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":216,"input_tokens":32,"output_tokens":184},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:27
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":",大蒜剁碎,香菇洗净切","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":224,"input_tokens":32,"output_tokens":192},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:28
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"片(如果使用)。\n\n2.","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":232,"input_tokens":32,"output_tokens":200},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:29
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":" **预热锅子:**在","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":240,"input_tokens":32,"output_tokens":208},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:30
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"锅中加入适量橄榄油,加热","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":248,"input_tokens":32,"output_tokens":216},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:31
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"后放入洋葱和大蒜炒香。\n\n","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":256,"input_tokens":32,"output_tokens":224},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:32
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"3. **加入蔬菜:**将","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":264,"input_tokens":32,"output_tokens":232},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:33
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"土豆和萝卜块放入锅中,","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":272,"input_tokens":32,"output_tokens":240},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:34
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"翻煎几分钟让它们表面微焦","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":280,"input_tokens":32,"output_tokens":248},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:35
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":",这样可以增加口感。\n\n4.","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":288,"input_tokens":32,"output_tokens":256},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:36
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":" **加入茄子:**将茄子块","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":296,"input_tokens":32,"output_tokens":264},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:37
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"加入锅中,继续翻煎至","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":304,"input_tokens":32,"output_tokens":272},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:38
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"所有蔬菜都稍微软化。\n\n5","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":312,"input_tokens":32,"output_tokens":280},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:39
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":". **调入番茄酱:**","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":320,"input_tokens":32,"output_tokens":288},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:40
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"倒入番茄酱,轻轻搅拌均匀,","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":328,"input_tokens":32,"output_tokens":296},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:41
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"让蔬菜充分吸收番茄酱的味道。\n\n","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":336,"input_tokens":32,"output_tokens":304},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:42
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"6. **加水:**加入","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":344,"input_tokens":32,"output_tokens":312},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:43
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"足够的清水,水量要没过蔬菜","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":352,"input_tokens":32,"output_tokens":320},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:44
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":",大火烧开后转小火","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":360,"input_tokens":32,"output_tokens":328},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:45
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"慢慢炖煮,盖上锅盖","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":368,"input_tokens":32,"output_tokens":336},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:46
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"。\n\n7. **调味:**根据","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":376,"input_tokens":32,"output_tokens":344},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:47
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"个人口味添加盐和黑胡椒","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":384,"input_tokens":32,"output_tokens":352},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:48
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"粉调味,炖煮约20","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":392,"input_tokens":32,"output_tokens":360},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:49
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"-30分钟,直到蔬菜熟","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":400,"input_tokens":32,"output_tokens":368},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:50
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"透且汤汁浓郁。\n\n8.","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":408,"input_tokens":32,"output_tokens":376},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:51
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":" **出锅:**最后撒上","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":416,"input_tokens":32,"output_tokens":384},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:52
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"香菇片(如果使用),再炖","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":424,"input_tokens":32,"output_tokens":392},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:53
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"煮5分钟左右即可出锅。\n\n这","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":432,"input_tokens":32,"output_tokens":400},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:54
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"道“蔬菜炖锅”既美味","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":440,"input_tokens":32,"output_tokens":408},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:55
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"又健康,你可以根据自己的口味调整","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":448,"input_tokens":32,"output_tokens":416},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:56
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"食材和调料,例如添加一些香","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":456,"input_tokens":32,"output_tokens":424},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:57
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"料如迷迭香或百里","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":464,"input_tokens":32,"output_tokens":432},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:58
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"香来提升风味。享受你的美食","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":472,"input_tokens":32,"output_tokens":440},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
id:59
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"!","role":"assistant"},"finish_reason":"stop"}]},"usage":{"total_tokens":473,"input_tokens":32,"output_tokens":441},"request_id":"6438745a-694e-9d89-812a-fc4bc29eaf08"}
在屏幕上显示美观的格式
上面的代码可以接收流式输出,但打印在屏幕上却并不美观。小明希望让用户在屏幕上看到美观的结果。因此他修改了代码,让模型的回复美观地展示出来。
OpenAI兼容
from openai import OpenAI
import os
def get_response():
client = OpenAI(
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
model="qwen-turbo",
messages=[{'role': 'system', 'content': 'You are a helpful assistant.'},
{'role': 'user', 'content': '用萝卜、土豆、茄子做饭,给我个菜谱。'}],
stream=True,
# 可选,配置以后会在流式输出的最后一行展示token使用信息
stream_options={"include_usage": True}
)
for chunk in completion:
try:
print(chunk.choices[0].delta.content, end="", flush=True)
except:
pass
if __name__ == '__main__':
get_response()
DashScope
from http import HTTPStatus
from dashscope import Generation
def call_with_stream():
messages = [
{'role':'system','content':'you are a helpful assistant'},
{'role': 'user','content': '用萝卜、土豆、茄子做饭,给我个菜谱。'}
]
responses = Generation.call(
model="qwen-turbo",
messages=messages,
# 设置输出为'message'格式
result_format='message',
# 设置输出方式为流式输出
stream=True,
# 增量式流式输出
incremental_output=True
)
for response in responses:
if response.status_code == HTTPStatus.OK:
print(response.output.choices[0].message.content,end="",flush=True)
else:
print('Request id: %s, Status code: %s, error code: %s, error message: %s' % (
response.request_id, response.status_code,
response.code, response.message
))
if __name__ == '__main__':
call_with_stream()
// Copyright (c) Alibaba, Inc. and its affiliates.
import java.util.Arrays;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
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.utils.JsonUtils;
import io.reactivex.Flowable;
import java.lang.System;
public class Main {
private static final Logger logger = LoggerFactory.getLogger(Main.class);
private static void handleGenerationResult(GenerationResult message) {
System.out.print(message.getOutput().getChoices().get(0).getMessage().getContent());
}
public static void streamCallWithMessage(Generation gen, Message userMsg)
throws NoApiKeyException, ApiException, InputRequiredException {
GenerationParam param = buildGenerationParam(userMsg);
Flowable<GenerationResult> result = gen.streamCall(param);
result.blockingForEach(message -> handleGenerationResult(message));
}
private static GenerationParam buildGenerationParam(Message userMsg) {
return GenerationParam.builder()
.model("qwen-turbo")
.messages(Arrays.asList(userMsg))
.resultFormat(GenerationParam.ResultFormat.MESSAGE)
.topP(0.8)
.incrementalOutput(true)
.build();
}
public static void main(String[] args) {
try {
Generation gen = new Generation();
Message userMsg = Message.builder().role(Role.USER.getValue()).content("用萝卜、土豆、茄子做饭,给我个菜谱。").build();
streamCallWithMessage(gen, userMsg);
System.exit(0);
} catch (ApiException | NoApiKeyException | InputRequiredException e) {
logger.error("An exception occurred: {}", e.getMessage());
}
}
}
最终,小明获得了满意的结果。
了解更多
有关通义千问模型API的详细调用文档可前往通过API使用通义千问进行了解。