阿里云通义千问API是阿里云推出的一款基于超大规模语言模型的人工智能服务,它能够帮助开发者快速构建各种智能应用。下面将为您提供一份详尽的申请与使用指南。

一、了解通义千问API

通义千问API基于阿里云自主研发的超大规模语言模型,具备强大的语言理解与生成能力,广泛应用于聊天机器人、内容创作、知识问答等场景。

二、申请API Key

1)注册阿里云账号

如果您还没有阿里云账号,请先在 阿里云官网注册。

2)访问DashScope控制台

登录阿里云账号后,访问 DashScope控制台

3)实名认证

根据页面提示完成实名认证,这是获取API Key的前提条件。

4)创建API Key

在控制台中创建新的API Key,记录下生成的Key,它将作为后续API调用的身份验证凭证。

三、安装DashScope SDK

1)选择开发语言

DashScope SDK支持Python和Java两种语言,根据您的开发需求选择相应的SDK。

2)安装Python SDK

如果使用Python开发,通过以下命令安装或更新SDK:

pip install dashscope --upgrade -i https://pypi.tuna.tsinghua.edu.cn/simple
  • 1.

3)安装Java SDK

如果使用Java开发,请根据官方文档指引安装Java SDK。

四、配置API Key

1)设置环境变量

为安全起见,建议将API Key设置为环境变量,避免在代码中硬编码。

2)配置示例

以Python为例,您可以在.env文件中添加以下内容:

DASHSCOPE_API_KEY=您的API_Key
  • 1.

五、编写客户端程序

1)导入SDK

根据开发语言导入相应的DashScope模块。

2)编写调用代码

使用申请到的API Key,编写客户端程序调用通义千问API。以下是Python和Java的示例代码:

  • Python示例:
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(
        dashscope.Generation.Models.qwen_turbo,
        messages=messages,
        result_format='message'
    )
    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()
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • Java示例:
import java.util.ArrayList;
import java.util.List;
// 其他导入...
public class Main {
    public static void callWithMessage()
            throws NoApiKeyException, ApiException, InputRequiredException {
        Generation gen = new Generation();
        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()
                .model(Generation.Models.QWEN_TURBO)
                .messages(messages)
                .resultFormat(GenerationParam.ResultFormat.MESSAGE)
                .build();
        GenerationResult result = gen.call(param);
        System.out.println(JsonUtils.toJson(result));
    }
    public static void main(String[] args){
        try {
            callWithMessage();
        } catch (ApiException | NoApiKeyException | InputRequiredException e) {
            System.out.println(e.getMessage());
        }
        System.exit(0);
    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.

这些示例展示了如何通过messages方式调用通义千问大模型。

六、测试API调用

1)运行客户端程序

执行您的客户端程序,检查是否能够成功接收API响应。

2)验证返回结果

检查API返回的结果是否符合预期,确保集成正确。

七、注意事项

  • 妥善保管API Key,避免泄露给未授权的人员。
  • 定期检查账户余额,确保服务不中断。
  • 遵循通义千问API的使用条款和限制。

通过上述步骤,您已经掌握了如何申请和使用阿里云通义千问API。