API详情

重要

Dolly模型API调用需"申请体验"并通过后才可使用,否则API调用将返回错误状态码。

Dolly

说明

支持的领域 / 任务:aigc

Dolly模型是由Databricks出品的大规模语言模型,它在DashScope上中模型名称为"dolly-12b-v2"。该模型是在pythia-12b的基础上,使用databricks-dolly-15k数据集微调得到的。数据集包括头脑风暴、分类、生成、问答、信息抽取等任务的语料。更多信息可以参考Dolly的开源repo

Dolly以用户文本形式输入的指令(prompt)作为输入,返回模型生成的回复作为输出。在这一过程中,文本将被转换为语言模型可以处理的token序列。

由于模型调用的计算量与token序列长度相关,输入或输出token数量越多,模型的计算时间越长,我们将根据模型输入和输出的token数量计费。可以从API返回结果的usage字段中了解到您每次调用时使用的token数量。

模型概览

模型名

模型简介

dolly-12b-v2

Dolly超大规模语言模型,支持多语言输入,V2版本是Databricks在pythia-12b的基础上微调得到的12B参数规模大模型。

SDK使用

前提条件

文本生成

以下示例展示了调用Dolly模型对一个用户指令进行响应的代码。

说明

需要使用您的API-KEY替换示例中的 YOUR_DASHSCOPE_API_KEY,代码才能正常运行。

设置API-KEY

export DASHSCOPE_API_KEY=YOUR_DASHSCOPE_API_KEY

# For prerequisites running the following sample, visit https://help.aliyun.com/document_detail/611472.html
 
import dashscope
from dashscope import Generation
from http import HTTPStatus
import json
  
response=Generation.call(
    model='dolly-12b-v2',
    prompt='翻译一下:春天来了,花朵都开了。'
    )
 
if response.status_code==HTTPStatus.OK:
    print(json.dumps(response.output, indent=4, ensure_ascii=False))
else:
    print('Code: %d, status: %s, message: %s' % (response.status_code, response.code, response.message))
// Copyright (c) Alibaba, Inc. and its affiliates.

import com.alibaba.dashscope.aigc.generation.Generation;
import com.alibaba.dashscope.aigc.generation.GenerationResult;
import com.alibaba.dashscope.aigc.generation.models.DollyParam;
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 void dollyQuickStart()
      throws NoApiKeyException, ApiException, InputRequiredException {
    Generation gen = new Generation();
    DollyParam param = DollyParam.builder().model(Generation.Models.DOLLY_12B_V2).prompt("如何做土豆炖猪脚?").build();
    GenerationResult result = gen.call(param);
    System.out.println(JsonUtils.toJson(result));
  }

  public static void main(String[] args){
        try {
          dollyQuickStart();
        } catch (ApiException | NoApiKeyException | InputRequiredException e) {
          System.out.println(e.getMessage());
        }
        System.exit(0);
  }
}

参数配置

参数

类型

默认值

说明

model

string

-

dolly-12b-v2。

prompt

string

-

用户当前输入的期望模型执行指令。

返回结果

  • 返回结果示例

{
    "status_code": 200,
    "request_id": "39a41abe-1bed-430a-b9b5-277130c7eb82",
    "code": "",
    "message": "",
    "output": {
        "text": "Spring has come, flowers blossomed."
    },
    "usage": {
        "input_tokens": 0,
        "output_tokens": 0
    }
}
  • 返回参数说明

返回参数

类型

说明

status_code

int

200(HTTPStatus.OK)表示请求成功,否则表示请求失败,可以通过code获取错误码,通过message字段获取错误详细信息。

request_Id

string

系统生成的标志本次调用的id。

code

string

表示请求失败,表示错误码,成功忽略。

message

string

失败,表示失败详细信息,成功忽略。

output

dict

调用结果信息,对于千问模型,包含输出text。

usage

dict

计量信息,表示本次请求计量数据。

text

string

模型生成回复。

input_tokens

int

用户输入文本转换成Token后的长度。

output_tokens

int

模型生成回复转换为Token后的长度。

HTTP调用接口

功能描述

Dolly模型同时支持 HTTP 调用来完成客户的响应,目前提供普通 HTTP 和 HTTP SSE 两种协议,您可根据自己的需求自行选择。

前提条件

提交任务接口调用

POST https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation

入参描述

字段

类型

传参方式

必选

描述

示例值

version-id

string

Url Path

API 版本,此处用 v1

v1

task-group

string

Url Path

任务组,此处用 aigc

aigc

task

string

Url Path

推理任务名称,此处用 text-generation

text-generation

function-call

string

Url Path

调用模型特定功能,此处用 generation

generation

Content-Type

string

Header

请求类型:application/json 或者text/event-stream(开启 SSE 响应)

application/json

Accept

String

Header

*/*,选择text/event-stream则会开启 SSE 响应,默认无设置

text/event-stream

Authorization

string

Header

API-Key,例如:Bearer d1**2a

Bearer d1**2a

X-DashScope-SSE

string

Header

跟Accept: text/event-stream 二选一即可启用SSE响应

enable

X-DashScope-DataInspection

string

Header

接口输入和输出的信息是否通过绿网过滤。

enable/disable

model

string

Body

指明需要调用的模型。

dolly-12b-v2

input.prompt

string

Body

文本内容,支持中英文。

就当前的海洋污染的情况,写一份限塑的倡议书提纲,需要有理有据地号召大家克制地使用塑料制品

出参描述

字段

类型

描述

示例值

output.text

string

本次请求的算法输出内容。

"output":{"text": "xxxxxxx"}

usage.output_tokens

int

本次请求算法输出内容的 token 数目。

380

usage.input_tokens

int

本次请求输入内容的 token 数目。在打开了搜索的情况下,输入的 token 数目因为还需要添加搜索相关内容支持,所以会超出客户在请求中的输入。

633

request_id

string

本次请求的系统唯一码

7574ee8f-38a3-4b1e-9280-11c33ab46e51

请求示例(SSE关闭)

curl --location 'https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation' \
--header 'Authorization: Bearer <your-dashscope-api-key>' \
--header 'Content-Type: application/json' \
--data '{
    "model": "dolly-12b-v2",
    "input": {
        "prompt": "就当前的海洋污染的情况,写一份限塑的倡议书提纲,需要有理有据地号召大家克制地使用塑料制品"
    },
    "parameters": {
    }
}'

响应示例(SSE关闭)

{
    "output":{
        "text":"好的,以下是限塑的倡议书提纲... ... ... 让我们共同努力,限制塑料污染,为美丽的海洋贡献自己的力量!"
    },
    "usage":{
        "output_tokens":380,
        "input_tokens":633
    },
    "request_id":"d89c06fb-46a1-47b6-acb9-bfb17f814969"
}

请求示例(SSE开启)

如果需要的话,客户可以选择使用 HTTP SSE 接口方式得到返回结果,则服务端会将输出的内容多次推送到客户请求端。

curl --location 'https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation' \
--header 'Authorization: Bearer <your-dashscope-api-key>' \
--header 'Content-Type: application/json' \
--header 'X-DashScope-SSE: enable' \
--data '{
    "model": "dolly-12b-v2",
    "input": {
        "prompt": "就当前的海洋污染的情况,写一份限塑的倡议书提纲,需要有理有据地号召大家克制地使用塑料制品"
    },
    "parameters": {
    }
}'

响应示例(SSE开启)

id:1
event:result
data:{"output":{"text":"好的,以下是一份"},"usage":{"input_tokens":633,"output_tokens":9},"request_id":"92f2d134-f662-4f1b-9229-693dcc806eab"}

id:2
event:result
data:{"output":{"text":"好的,以下是一份限塑的倡议书提纲"},"usage":{"input_tokens":633,"output_tokens":17},"request_id":"92f2d134-f662-4f1b-9229-693dcc806eab"}

... ... ... ...
... ... ... ...

id:42
event:result
data:{"output":{"text":"好的,以下是一份限塑的倡议书提纲:... ... 希望大家能够共同努力,保护海洋生态"},"usage":{"input_tokens":633,"output_tokens":337},"request_id":"92f2d134-f662-4f1b-9229-693dcc806eab"}

异常响应示例

在访问请求出错的情况下,输出的结果中会通过 code 和 message 指明出错原因。

{
    "output":{
        "text":"好的,以下是限塑的倡议书提纲... ... ... 让我们共同努力,限制塑料污染,为美丽的海洋贡献自己的力量!"
    },
    "usage":{
        "output_tokens":380,
        "input_tokens":633
    },
    "request_id":"d89c06fb-46a1-47b6-acb9-bfb17f814969"
}

状态码说明

DashScope通用状态码请查阅:返回状态码说明