Llama 3.3、Llama 3.2、Llama 3.1、Llama 3及Llama 2模型即将下线,请您及时切换至其他模型,以免影响您的业务。
Llama是Meta开发并公开发布的大语言模型。
Llama 大语言模型介绍
Llama 3.3 大语言模型是一个预训练并经过指令调优的生成模型,参数量为 70B(文本输入/文本输出)。Llama 3.3 指令调优的纯文本模型针对多语言对话用例进行了优化,在常见的行业基准测试中优于许多可用的开源和闭源聊天模型。
当前在大模型服务平台部署的服务来自于ModelScope社区模型:
Llama-3.3-70B-Instruct,模型版本:master
Meta在Llama 3.2 系列模型中首次推出了支持视觉任务的模型,有11B和90B两种模型。
当前在大模型服务平台部署的服务来自于ModelScope社区模型:
Llama-3.2-11B-Vision-Instruct,模型版本 : master
Llama-3.2-90B-Vision-Instruct,模型版本 : master
Llama 3.2 指令调优的纯文本模型针对多语言对话应用场景进行了优化,包括代理检索和摘要任务。在常见的行业基准测试中,它们的表现优于许多现有的开源和闭源聊天模型。
当前在大模型服务平台部署的服务来自于ModelScope社区模型:
Llama-3.2-1B-Instruct,模型版本 : master
Llama-3.2-3B-Instruct,模型版本 : master
Llama 3.1 系列是Meta推出的开源大语言模型,其 405B 版本是首个媲美顶级商业模型的开源大语言模型。
当前在大模型服务平台部署的服务来自于ModelScope社区模型:
Llama-3.1-8B-Instruct,模型版本 : master
Llama-3.1-70B-Instruct,模型版本 : master
Llama-3.1-405B-Instruct,模型版本 : master
Llama3系列是来自Meta开发并公开发布的最新大型语言模型(LLMs)。该系列模型提供了多种参数大小(8B、70B等)的版本。相较于Llama2系列模型,Llama3系列在模型结构上没有重大变化,但是训练数据量进行了极大扩充,从 Llama2系列的2T Tokens扩大到了Llama3的15T Tokens,其中代码数据扩充了4倍。
当前在大模型服务平台部署的服务来自于ModelScope社区模型:
Llama-3-8B-Instruct,模型版本 : master
Llama-3-70B-Instruct,模型版本 : master
Llama 2系列是来自Meta开发并公开发布的大型语言模型(LLMs)。该系列模型提供了多种参数大小(7B、13B和70B等)的版本,并同时提供了预训练和针对对话场景的微调版本。Llama 2系列使用了2T token进行训练,相比于Llama多出40%,上下文长度从Llama的2048增加到4096,可以理解更长的文本,在多个公开基准测试上超过了已有的开源模型。采用了高质量的数据进行微调和基于人工反馈的强化学习训练,具有较高的可靠性和安全性。
当前在大模型服务平台部署的服务来自于ModelScope社区模型:
Llama-2-7B-Chat-v2,模型版本 : v1.0.2
Llama-2-13B-Chat-v2,模型版本:v1.0.2
模型列表、计费和免费额度
模型名称 | 上下文长度 | 最大输入 | 输入输出成本 | 免费额度 |
(Token数) |
模型名称 | 上下文长度 | 最大输入 | 输入输出成本 | 免费额度 |
(Token数) | ||||
llama3.3-70b-instruct | 32,000 | 30,000 | 目前仅供免费体验。 免费额度用完后不可调用,敬请关注后续动态。 | 各100万Token(需申请) 有效期:百炼开通后180天内。 |
llama3.2-3b-instruct | ||||
llama3.2-1b-instruct | ||||
llama3.1-405b-instruct | ||||
llama3.1-70b-instruct | ||||
llama3.1-8b-instruct | ||||
llama3-70b-instruct | 8,000 | 8,000 | ||
llama3-8b-instruct | ||||
llama2-13b-chat-v2 | 4,000 | 4,000 | ||
llama2-7b-chat-v2 |
SDK使用
前提条件
您需要已获取API Key并配置API Key到环境变量。如果通过SDK调用,还需要安装DashScope SDK。
当您使用DashScope Java SDK时,为了效率您应该尽可能复用Generation以及其他请求对象,但对象(如Generation)不是线程安全的,您应该采取一定的措施,比如及时关闭进程、管理同步机制等,来确保对象安全。
简单示例
以下示例展示了调用Llama系列模型对一个用户指令进行响应的代码。
from http import HTTPStatus
import os
import dashscope
def call_with_messages():
messages = [{'role': 'system', 'content': 'You are a helpful assistant.'},
{'role': 'user', 'content': '介绍一下自己'}]
response = dashscope.Generation.call(
# 若没有配置环境变量,请用百炼API Key将下行替换为:api_key="sk-xxx",
api_key=os.getenv('DASHSCOPE_API_KEY'),
model='llama3.3-70b-instruct', # 此处以llama3.3-70b-instruct为例,可按需更换模型名称。模型列表:https://www.alibabacloud.com/help/zh/model-studio/getting-started/models
messages=messages,
result_format='message', # set the result to be "message" format.
)
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()
import java.util.ArrayList;
import java.util.List;
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 void usage()
throws NoApiKeyException, ApiException, InputRequiredException {
List<Message> messages = new ArrayList<>();
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();
messages.add(systemMsg);
messages.add(userMsg);
GenerationParam param = GenerationParam.builder()
// 若没有配置环境变量,请用百炼API Key将下行替换为:.apiKey("sk-xxx")
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
// 此处以llama3.3-70b-instruct为例,可按需更换模型名称。模型列表:https://www.alibabacloud.com/help/zh/model-studio/getting-started/models
.model("llama3.3-70b-instruct")
.messages(messages)
.resultFormat("message")
.build();
Generation gen = new Generation();
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);
}
}
返回结果
{
"status_code": 200,
"request_id": "abb41194-1320-9794-822c-d7f62955bb8f",
"code": "",
"message": "",
"output": {
"text": null,
"finish_reason": null,
"choices": [
{
"finish_reason": "stop",
"message": {
"role": "assistant",
"content": "你好,我是一个人工智能语言模型,我可以帮助回答问题、提供信息和完成任务。我接受过大量文本数据的训练,可以理解和生成类似人类的语言。我在这里帮助您解决任何问题或完成任何任务,请随时问我任何问题!"
}
}
]
},
"usage": {
"input_tokens": 44,
"output_tokens": 60,
"total_tokens": 104
}
}
输入参数
参数 | 类型 | 默认值 | 说明 |
参数 | 类型 | 默认值 | 说明 |
model | string | - | 模型名称,可配置为已申请的Llama-仅文本输入模型。 |
messages | list[dict] | - | 用户输入的内容,dict内主要包含2个key:role和content,其中role支持user、assistant、system,content为对应role的文本输入。 |
result_format | string | - | 用户返回的内容类型,默认为text,当输入格式为messages时可配置为message。 |
返回参数
返回参数 | 类型 | 说明 |
返回参数 | 类型 | 说明 |
status_code | integer | 200(HTTPStatus.OK)表示请求成功,否则表示请求失败,可以通过code获取错误码,通过message字段获取错误详细信息。 |
request_Id | string | 系统生成的标志本次调用的id。 |
code | string | 表示请求失败,表示错误码,成功忽略。 |
message | string | 失败,表示失败详细信息,成功忽略。 |
output | object | 调用结果信息,对于Llama2模型,包含输出text。 |
output.text | string | 模型生成回复。 |
usage.input_tokens | integer | 用户输入文本转换成Token后的长度。 |
usage.output_tokens | integer | 模型生成回复转换为Token后的长度。 |
HTTP调用接口
功能描述
Llama系列模型也同时提供了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 |
Authorization | string | 是 | API-Key,例如:Bearer d1**2a | Bearer d1**2a | |
X-DashScope-WorkSpace | string | 否 | 指明本次调用需要使用的workspace;需要注意的是,对于子账号Apikey调用,此参数为必选项,子账号必须归属于某个workspace才能调用;对于主账号Apikey此项为可选项,添加则使用对应的workspace身份,不添加则使用主账号身份。 | ws_QTggmeAxxxxx | |
Body | model | string | 是 | 模型名称,可配置为已申请的Llama-仅文本输入模型。 | Llama2-7b-chat-v2 |
input.prompt | string | 是 | 用户当前输入的期望模型执行指令,7b模型最长不超过2048 tokens,13b模型最长不超过4096 tokens。 | hello, who are you? |
出参描述
字段 | 类型 | 描述 | 示例值 |
字段 | 类型 | 描述 | 示例值 |
output.text | string | 本次请求的算法输出内容。 | hello, who are you?\n\nI am an artificial intelligence designed to assist and communicate ... ... |
usage.output_tokens | integer | 本次请求算法输出内容的 token 数目。 | 104 |
usage.input_tokens | integer | 本次请求用户输入内容的 token 数目。 | 41 |
request_id | string | 本次请求的系统唯一码。 | fbd7e41a-363c-938a-81be-8ae0f9fbdb3d |
请求示例
以下示例展示通过CURL命令来调用Llama系列模型的脚本。
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": "llama3.3-70b-instruct",
"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\n* 回答问题和提供信息\n* 生成文本和摘要\n* 翻译语言\n* 提供建议和推荐\n* 参与对话和讨论\n\n我是一个大型语言模型,我没有个人经历、情感或意见,但我可以提供信息、帮助和支持。如果你有任何问题或需要帮助,请随时问我!"
}
}
]
},
"usage": {
"total_tokens": 200,
"output_tokens": 155,
"input_tokens": 45
},
"request_id": "774a769d-b49e-9e25-8f49-5f6277cc6f8c"
}
异常响应示例
在访问请求出错的情况下,输出的结果中会通过 code 和 message 指明出错原因。
{
"code":"InvalidApiKey",
"message":"Invalid API-key provided.",
"request_id":"fb53c4ec-1c12-4fc4-a580-cdb7c3261fc1"
}
状态码说明
大模型服务平台通用状态码请查阅:错误信息
- 本页导读 (1)
- Llama 大语言模型介绍
- 模型列表、计费和免费额度
- SDK使用
- 前提条件
- 简单示例
- 返回结果
- 输入参数
- 返回参数
- HTTP调用接口
- 功能描述
- 前提条件
- 提交接口调用
- 入参描述
- 出参描述
- 请求示例
- 响应示例
- 异常响应示例
- 状态码说明