申請API的過程包括:

  1. 搜索并找到“通義千問”服務。

  2. 點擊“申請通義千問API”。

  3. 如果是首次申請,系統會提示開通“模型服務靈積”。點擊去開通,閱讀并同意相關條款。

  4. 填寫申請所需的問卷信息,等待審核通過。

審核通過后,可以在模型廣場找到通義千問并開始使用。

前置工作:創建并獲取API-KEY

在開始編寫代碼之前,確保已經獲取了API-KEY。API-KEY用于驗證身份和調用API時的授權。

獲取API-KEY

保存好API-KEY,因為在后續步驟中需要將其用作身份驗證的憑證。

安裝DashScope SDK

為了使用Java調用API,首先需要在項目中引入DashScope SDK。確保Java環境在Java 8及以上版本。

maven網站查看最新SDK版本,然后在項目的pom.xml文件中添加以下依賴:


    com.alibaba
    dashscope-sdk-java
    2.1.1

注意:有時可能會遇到依賴沖突,需要通過排除沖突依賴來解決。

使用Java代碼調用ModelScope API

通義千問API支持HTTP調用,以下是一個使用Java進行API調用的簡單示例。

配置項目依賴


    cn.hutool
    hutool-all
    5.8.16

編寫Controller類

import cn.hutool.http.HttpRequest;
import cn.hutool.json.JSONUtil;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class ChatController {
    @PostMapping("/chat")
    public ChatResponse chat(String question) {
        String url = "https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation";
        String apiKey = "your-api-key";

        ChatRequest chatRequest = new ChatRequest(question);
        String json = JSONUtil.toJsonStr(chatRequest);
        String result = HttpRequest.post(url)
                .header("Authorization", "Bearer " + apiKey)
                .header("Content-Type", "application/json")
                .body(json)
                .execute().body();

        return JSONUtil.toBean(result, ChatResponse.class);
    }
}

請求和響應的Domain類

// ChatRequest處理請求數據
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ChatRequest {
    String model;
    Input input;
    Parameters parameters;

    public ChatRequest(String question) {
        model = "qwen-v1";
        input = new Input(question);
        parameters = new Parameters();
    }

    class Input {
        public List messages;

        Input(String question) {
            ArrayList chats = new ArrayList();
            chats.add(new Chat("system", "你是達摩院的生活助手機器人。"));
            chats.add(new Chat("user", question));
            messages = chats;
        }
    }

    class Chat {
        public String role;
        public String content;
        Chat(String role, String content) {
            this.role = role;
            this.content = content;
        }
    }

    class Parameters {
        public String result_format = "text";
    }
}

處理響應數據

// ChatResponse處理響應數據
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ChatResponse {
    Output output;
    Usage usage;
    String request_id;

    class Output {
        public String text;
        public String finish_reason;
    }

    class Usage {
        public String output_tokens;
        public String input_tokens;
    }
}

小結

通過以上步驟,您可以使用Java調用阿里通義 ModelScope API,將自然語言處理功能集成到您的Java應用中。無論是進行簡單的對話功能實現,還是復雜的自然語言處理應用開發,通義千問API都能提供強大的支持。

FAQ

  1. 問:如何獲取API-KEY?

  2. 問:使用通義千問API需要注意哪些事項?

  3. 問:如何解決Java項目中依賴沖突的問題?

  4. 問:可以在項目中使用哪個HTTP庫來調用API?

  5. 問:API調用失敗時應該如何處理?

上一篇:

基于 Paddlehub 的 RAG 系統全面解析

下一篇:

Java調用DeepSeek文生圖API實現智能圖像生成
#你可能也喜歡這些API文章!

我們有何不同?

API服務商零注冊

多API并行試用

數據驅動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內容創意新穎性、情感共鳴力、商業轉化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費