快速开始

本文向您介绍快速开始零一万物大语言模型调用的方法。

零一万物

说明

支持的领域 / 任务:复杂语言理解、深度推理、文本生成

Yi系列模型是零一万物推出的高品质大语言模型。其中Yi-LargeLMSYS榜单TOP10唯一的中国模型。全系模型均经过高精度微调,指令遵循强化。对于复杂语言理解、深度推理、文本生成,均有优秀的结果表现。

快速开始

前提条件

  • 已开通服务并获得API-KEY:获取API-KEY

  • 已安装最新版SDK:安装SDK

  • 我们推荐您将API-KEY配置到环境变量中以降低API-KEY的泄漏风险,详情可参考通过环境变量配置API-KEY

    重要

    您也可以在代码中配置API-KEY,但是泄漏风险会增加。

  • 您需要登录百炼控制台界面,在模型广场找到您需要申请的零一万物大语言模型,单击立即申请,等待申请完成即可进行调用。image

示例代码

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

from http import HTTPStatus
import dashscope


def call_with_messages():
    messages = [{'role': 'system', 'content': 'You are a helpful assistant.'},
                {'role': 'user', 'content': '你好'}]
    response = dashscope.Generation.call(
        model='yi-medium',
        messages=messages,
    )
    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()
// 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 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("yi-medium")
            .messages(Arrays.asList(systemMsg, userMsg))
            .build();

        return gen.call(param);
    }
    public static void main(String[] args) {
        try {
            GenerationResult result = callWithMessage();
            System.out.println(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);
    }
}

调用成功后,将会返回如下示例结果。

{
    "output": {
        "choices": [
            {
                "message": {
                    "content": "你好!今天我能帮你什么?",
                    "role": "assistant"
                },
                "index": 0,
                "finish_reason": "stop"
            }
        ]
    },
    "usage": {
        "total_tokens": 15,
        "input_tokens": 8,
        "output_tokens": 7
    },
    "request_id": "23066782-2f2b-9f66-82f0-7c26a186b470"
}

了解更多

有关零一万物大语言模型API的详细调用文档可前往API详情页面进行了解。