阿里通义千问API使用

1、账号注册


首先注册阿里云账号


2、开通百炼模型服务,以获得免费额度


百炼控制台地址

3、百炼控制台页面左下方,选择API KEY 然后创建我的API KEY

4、配置java环境


java -version
为了使用DashScope Java SDK,您的Java需要在Java 8或以上版本


5、项目中引入依赖


<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>dashscope-sdk-java</artifactId>
    <version>2.8.3</version>
</dependency>


6、调用大模型API


package com.xxj.controller;

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 org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import java.util.Arrays;

@RestController
@RequestMapping("/apiTest")
public class TestAiController {
    @RequestMapping(value = "/ai", method = {RequestMethod.GET})
    public String testAi(String params) {
        GenerationResult result = null; // try 块外定义 result
        try {
            result = callWithMessage(params);
            System.out.println(result.getOutput().getChoices().get(0).getMessage().getContent());
        } catch (ApiException | NoApiKeyException | InputRequiredException e) {
            System.err.println("错误信息:" + e.getMessage());
            System.out.println("请参考文档:https://help.aliyun.com/zh/model-studio/developer-reference/error-code");
            // 返回错误响应
            return  e.getMessage();
        }
            return result.getOutput().getChoices().get(0).getMessage().getContent();

    }

    public static GenerationResult callWithMessage(String params) 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(params)
                .build();
        GenerationParam param = GenerationParam.builder()

                // 若没有配置环境变量,请用百炼API Key将下行替换为:.apiKey("sk-xxx")
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                //.apiKey("sk-88df12bad75f4848a41bfa353f006666")
                // 模型列表:https://help.aliyun.com/zh/model-studio/getting-started/models
                .model("qwen-plus")
                .messages(Arrays.asList(systemMsg, userMsg))
                .resultFormat(GenerationParam.ResultFormat.MESSAGE)
                .build();
        return gen.call(param);
    }
}


7、测试


8、配置API KEY到环境变量中,从而避免在代码里显式地配置API Key,降低泄漏风险。


在Windows系统中,可以通过系统属性、CMD或PowerShell配置环境变量。
如果希望API Key环境变量在当前用户的所有新会话中生效,可以按如下操作。
(1)、在CMD中运行以下命令。
setx DASHSCOPE_API_KEY "YOUR_DASHSCOPE_API_KEY"
(2)、打开一个新的CMD窗口运行以下命令,检查环境变量是否生效。
echo %DASHSCOPE_API_KEY%




 

### 获取并使用阿里通义API #### 创建和配置阿里云账号 为了调用通义API,前提条件之一是拥有一个阿里云账号。如果尚未有账号,则需前往阿里云官网完成注册流程,并成功登录该账户[^2]。 #### 开通服务与创建API密钥 在阿里云控制台内,确保已开通通义的服务选项,并取得访所需的AccessKey ID以及AccessKey Secret。这一步骤对于后续能够合法地发起API请求至关重要。另外,在控制台的右上角找到个人头像位置,点击后选择API-KEY来创建新的API Key,此秘钥专门用于授权API调用过程[^3]。 #### 发起API请求 一旦拥有了有效的API密钥,就可以利用支持HTTP协议的各种编程语言(比如Python、Java或是JavaScript),借助其内置或第三方提供的网络通信库向通义API发送请求了。下面给出一段简单的Python代码片段作为示范: ```python import requests url = "https://api.qwen.aliyun.com/v1/chat/completions" headers = { 'Authorization': 'Bearer YOUR_ACCESS_TOKEN', 'Content-Type': 'application/json' } data = { "messages": [ {"role": "user", "content": "你好"}, {"role": "assistant", "content": "你好!有什么可以帮助你的吗?"} ] } response = requests.post(url, headers=headers, json=data) print(response.json()) ``` 这段代码展示了如何构建一个POST请求到指定URL地址,并附带必要的认证信息及对话消息体。注意替换`YOUR_ACCESS_TOKEN`为实际获得的令牌字符串[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值