快速开始

ChatGLM

说明

支持的领域 / 任务:aigc

目前在DashScope上对外提供的ChatGLM模型服务主要包含ChatGLM2和ChatGLM3模型,均是由智谱AI出品的大规模语言模型。

ChatGLM2是开源中英双语对话模型ChatGLM-6B的第二代版本,在保留了初代模型对话流畅、部署门槛较低等众多优秀特性的基础之上,ChatGLM2-6B引入了如下新特性:

  1. 更强大的性能:基于 ChatGLM 初代模型的开发经验,全面升级了 ChatGLM2-6B 的基座模型。ChatGLM2-6B 使用了GLM的混合目标函数,经过了 1.4T 中英标识符的预训练与人类偏好对齐训练,评测结果显示,相比于初代模型,ChatGLM2-6B 在 MMLU(+23%)、CEval(+33%)、GSM8K(+571%) 、BBH(+60%)等数据集上的性能取得了大幅度的提升,在同尺寸开源模型中具有较强的竞争力。

  2. 更长的上下文:基于FlashAttention技术,将基座模型的上下文长度(Context Length)由 ChatGLM-6B 的 2K 扩展到了 32K,并在对话阶段使用 8K 的上下文长度训练,允许更多轮次的对话。但当前版本的 ChatGLM2-6B 对单轮超长文档的理解能力有限,会在后续迭代升级中着重进行优化。

  3. 更高效的推理:基于Multi-Query Attention技术,ChatGLM2-6B 有更高效的推理速度和更低的显存占用:在官方的模型实现下,推理速度相比初代提升了 42%,INT4 量化下,6G 显存支持的对话长度由 1K 提升到了 8K。

    当前在DashScope部署服务时使用的ModelScope社区模型id:ZhipuAI/chatglm2-6b,模型版本:v1.0.2。

ChatGLM3是ChatGLM 系列最新一代的开源模型,在保留了前两代模型对话流畅、部署门槛低等众多优秀特性的基础上,ChatGLM3-6B 引入了如下特性:

  1. 更强大的基础模型:ChatGLM3-6B 的基础模型 ChatGLM3-6B-Base 采用了更多样的训练数据、更充分的训练步数和更合理的训练策略。在语义、数学、推理、代码、知识等不同角度的数据集上测评显示,ChatGLM3-6B-Base 具有在 10B 以下的预训练模型中最强的性能。

  2. 更完整的功能支持:ChatGLM3-6B 采用了全新设计的Prompt 格式,除正常的多轮对话外。同时原生支持工具调用(Function Call)、代码执行(Code Interpreter)和 Agent 任务等复杂场景。

  3. 更全面的开源序列:除了对话模型 ChatGLM3-6B 外,还开源了基础模型 ChatGLM-6B-Base、长文本对话模型 ChatGLM3-6B-32K。

    当前在DashScope部署服务时使用的ModelScope社区模型id:ZhipuAI/chatglm3-6b,模型版本:v1.0.0。

    更多信息可以参考ModelScope上ChatGLM2-6B的开源repoChatGLM3-6B的开源repo

快速开始

前提条件

示例代码

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

说明

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

设置API-KEY

export DASHSCOPE_API_KEY=YOUR_DASHSCOPE_API_KEY

from http import HTTPStatus
from dashscope import Generation


def call_with_messages():
    messages = [
        {'role': 'system', 'content':'You are a helpful assistant.'},
        {'role': 'user', 'content': '介绍下杭州'}]
    gen = Generation()
    response = gen.call(
        'chatglm3-6b',
        messages=messages,
        result_format='message',  # set the result is message format.
    )
    print(response)

if __name__ == '__main__':
    call_with_messages()
// Copyright (c) Alibaba, Inc. and its affiliates.

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> msgManager = 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();
    msgManager.add(systemMsg);
    msgManager.add(userMsg);

    GenerationParam param = GenerationParam.builder()
        .model("chatglm3-6b")
        .messages(msgManager)
        .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": "0b9c2a71-89cf-963b-8eb4-2786ba88dfbf",
    "code": "",
    "message": "",
    "output": {
        "text": null,
        "finish_reason": null,
        "choices": [
            {
                "finish_reason": "stop",
                "message": {
                    "role": "assistant",
                    "content": "\n 杭州是中华人民共和国浙江省的省会,位于中国东南沿海地区,地处长江三角洲南翼。杭州拥有悠久的历史和灿烂的文化,自古以来就是著名的历史文化名城。杭州的地理位置优越,交通便捷,是长江三角洲地区的重要城市之一。\n\n杭州的气候属于亚热带季风气候,四季分明,温暖湿润,雨量充沛。全年气候温和,无霜期长,湿度适中。杭州的春天湿润多雨,夏天炎热多雨,秋天气候宜人,冬天干燥寒冷。\n\n杭州是中国著名的旅游胜地,拥有许多著名的旅游景点,如西湖、灵隐寺、宋城、西溪湿地等。此外,杭州还有许多美食,如龙井虾仁、西湖醋鱼、东坡肉等,是中国著名的美食城市之一。\n\n杭州是中国的互联网科技产业发达的城市之一,拥有阿里巴巴、网易等知名互联网公司。此外,杭州还是中国的金融中心之一,拥有许多金融机构和保险公司。\n\n杭州是一个历史悠久、文化底蕴深厚的城市,同时也是中国经济发展迅速的城市之一,拥有广阔的发展前景。",
                    "content_type": "text"
                }
            }
        ]
    },
    "usage": {
        "input_tokens": 10,
        "output_tokens": 225
    }
}

了解更多

有关ChatGLM模型API详细调用文档可前往页面进行了解。