快速开始

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

零一万物

说明

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

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

快速开始

前提条件

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

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

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

    重要

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

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

示例代码

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

# coding=utf-8
import dashscope


messages = [{'role': 'system', 'content': 'You are a helpful assistant.'},
            {'role': 'user', 'content': '你是谁'}]
response = dashscope.Generation.call(
    model='yi-medium',
    messages=messages,
)
print(response)
// 建议dashscope SDK的版本 >= 2.12.0
import java.util.Arrays;
import java.lang.System;
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 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()
                // 若没有配置环境变量,请用百炼API Key将下行替换为:.apiKey("sk-xxx")
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                .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(JsonUtils.toJson(result));
        } catch (ApiException | NoApiKeyException | InputRequiredException 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详情页面进行了解。