BELLE-LLaMA
支持的领域 / 任务:aigc
BELLE-LLaMA模型是由BELLE出品的大规模语言模型,它在DashScope上的模型名称为"belle-llama-13b-2m-v1"。BELLE(BE Large Language Model Engine),一款基于BLOOM和LLAMA针对中文优化、模型调优切仅使用由ChatGPT生成的数据,为中文指令提供更好的支持。促进中文对话大模型开源社区的发展,愿景是成为能够帮到每一个人的LLM Engine。相比如何做好大语言模型的预训练,BELLE更关注如何在开源预训练大语言模型的基础上,帮助每一个人都能够得到一个属于自己的、效果尽可能好的具有指令表现能力的语言模型,降低大语言模型、特别是中文大语言模型的研究和应用门槛。为此,BELLE项目会持续开放指令训练数据、相关模型、训练代码、应用场景等,也会持续评估不同训练数据、训练算法等对模型表现的影响。BELLE针对中文做了优化,模型调优仅使用由ChatGPT生产的数据(不包含任何其他数据)。
当前在DashScope部署服务时使用的ModelScope社区模型id:AI-ModelScope/BELLE-LLaMA-13B-2M,模型版本:v1.0.1。
更多信息可以参考ModelScope上BELLE-LLaMA的开源repo。
BELLE-LLaMA以用户文本形式输入的指令(prompt)作为输入,返回模型生成的回复作为输出。在这一过程中,文本将被转换为语言模型可以处理的token序列。Token是模型用来表示自然语言文本的基本单位,可以直观的理解为“字”或“词”。对于中文文本来说,1个token通常对应一个汉字;对于英文文本来说,1个token通常对应3至4个字母或1个单词。例如,中文文本“你好。”会被转换成序列['你', '好', '。'],而英文文本"Nice to meet you."则会被转换成['Nice', ' to', ' meet', ' you', '.']。
由于模型调用的计算量与token序列长度相关,输入或输出token数量越多,模型的计算时间越长,我们将根据模型输入和输出的token数量计费。可以从API返回结果的 usage 字段中了解到您每次调用时使用的token数量。
模型概览
模型名 | 模型简介 |
belle-llama-13b-2m-v1 | BELLE中文对话大规模语言模型,支持中文英文等不同语言输入。 |
SDK使用
前提条件
已开通服务并获得API-KEY:API-KEY的获取与配置。
已安装最新版SDK:安装DashScope SDK。
文本生成
以下示例展示了调用BELLE-LLaMA模型对一个用户指令进行响应的代码。
需要使用您的API-KEY替换示例中的 your-dashscope-api-key ,代码才能正常运行。
设置API KEY
export DASHSCOPE_API_KEY=YOUR_DASHSCOPE_API_KEY
# coding=utf-8
# 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='belle-llama-13b-2m-v1',
prompt='Human:你好\n\nAssistant:'
)
if response.status_code==HTTPStatus.OK:
print(json.dumps(response, 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.GenerationParam;
import com.alibaba.dashscope.aigc.generation.GenerationResult;
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 usage()
throws NoApiKeyException, ApiException, InputRequiredException {
Generation gen = new Generation();
GenerationParam param = GenerationParam
.builder()
.model("belle-llama-13b-2m-v1")
.prompt("Human:你好\n\nAssistant:")
.build();
GenerationResult result = gen.call(param);
System.out.println(JsonUtils.toJson(result));
}
public static void main(String[] args){
try {
usage();
} catch (ApiException | NoApiKeyException | InputRequiredException e) {
System.out.println(e.getMessage());
}
System.exit(0);
}
}
参数配置
参数 | 类型 | 默认值 | 说明 |
model | string | - | 指定用于调用的模型,目前BELLE仅支持,目前仅支持 belle-llama-13b-2m-v1 。 |
prompt | string | - | 用户当前输入的期望模型执行指令。 |
返回结果
返回结果示例
{
"status_code": 200,
"request_id": "4230777c-d45c-9856-8629-4cbe5d4f301c",
"code": "",
"message": "",
"output": {
"text": "你好!有什么我能帮助你的吗?"
},
"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。 |
text | string | 模型生成回复。 |
usage | dict | 计量信息,表示本次请求计量数据,当前模型无计量信息,此处为默认值。 |
input_tokens | int | 用户输入文本转换成Token后的长度。 |
output_tokens | int | 模型生成回复转换为Token后的长度。 |
HTTP调用接口
功能描述
belle-llama-13b-2m-v1 模型同时支持 HTTP 调用来完成客户的响应。
前提条件
已开通服务并获得API-KEY:API-KEY的获取与配置。
提交接口调用
POST https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation
入参描述
传参方式 | 字段 | 类型 | 必选 | 描述 | 示例值 |
Header | Content-Type | String | 是 | 请求类型:application/json | application/json |
Accept | String | 否 | */*,选择text/event-stream则会开启 SSE 响应,默认无设置 | text/event-stream | |
Authorization | String | 是 | API-Key,例如:Bearer d1**2a | Bearer d1**2a | |
X-DashScope-SSE | String | 否 | 跟Accept: text/event-stream 二选一即可启用SSE响应 | enable | |
Body | model | String | 是 | 指明需要调用的模型,固定值belle-llama-13b-2m-v1 | belle-llama-13b-2m-v1 |
input.prompt | String | 是 | 文本内容,支持中英文。 | Human:你好\n\nAssistant: |
出参描述
字段 | 类型 | 描述 | 示例值 |
output.text | String | 本次请求的算法输出内容。 | 你好,欢迎来到我们的国家/城市。有什么我可以帮你的吗 |
request_id | String | 本次请求的系统唯一码 | 7574ee8f-38a3-4b1e-9280-11c33ab46e51 |
请求示例
以下示例展示通过CURL命令来调用 belle-llama-13b-2m-v1 模型的脚本(SSE 关闭)。
需要使用您的API-KEY替换示例中的 your-dashscope-api-key ,代码才能正常运行。
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": "belle-llama-13b-2m-v1",
"input": {
"prompt": "Human:你好\n\nAssistant:"
},
"parameters":{
}
}'
响应示例
{
"output":{
"text":"你好,欢迎来到我们的国家/城市。有什么我可以帮你的吗"
},
"request_id":"d89c06fb-46a1-47b6-acb9-bfb17f814969"
}
异常响应示例
在访问请求出错的情况下,输出的结果中会通过 code 和 message 指明出错原因。
{
"code":"InvalidApiKey",
"message":"Invalid API-key provided.",
"request_id":"fb53c4ec-1c12-4fc4-a580-cdb7c3261fc1"
}
状态码说明
DashScope通用状态码请查阅:返回状态码说明