# 首次调用大模型API
MaaS支持通过API调用大模型，涵盖Python、Curl、OpenAI接入方式。
本文以文本对话预置模型GLM-5.3为例，快速指导您完成大模型API调用。
#### 准备账号和权限
1. 已注册华为账号并开通华为云，进行了实名认证，且在使用MaaS前检查账号状态，账号不能处于欠费或冻结状态。具体操作请参见[注册华为账号并开通华为云](https://support.huaweicloud.com/usermanual-account/account_id_001.html)和[实名认证](https://support.huaweicloud.com/usermanual-account/zh-cn_topic_0071343161.html)。
2. 请参考[配置MaaS访问授权](https://support.huaweicloud.com/permission-maas/maas-modelarts-0016.html)进行委托授权。
 
#### 操作流程
图1模型调用全流程   
![](https://support.huaweicloud.com/qs-maas/figure/zh-cn_image_0000002724732758.png "点击放大")
#### 开通预置模型服务
该功能仅支持"西南-贵阳一"区域。
1. 在[MaaS控制台](https://console.huaweicloud.com/modelarts/#/model-studio/homepage)左侧导航栏，选择"模型推理 \> 在线推理"。
2. 在"预置服务"页签，选择GLM-5.3模型服务单击操作列的"开通服务"。
3. 在开通预置模型服务弹框，默认已勾选待开通的模型服务，确认并勾选"我已阅读并同意上述说明，及《MaaS 模型即服务声明》"，单击"一键开通"。 当模型服务的状态为开通，表示模型服务已开通。开通后调用以实际用量进行扣费，详情请见[模型服务计费项](https://support.huaweicloud.com/price-maas/price-maas-0001.html)，未使用时不会产生费用。
   
 
#### 获取API Key
在调用MaaS的模型服务时，需要填写API Key用于接口的鉴权认证。请创建新的API Key或使用已有API Key。
创建API Key：访问[API Key管理](https://console.huaweicloud.com/modelarts/#/model-studio/authmanage)页面，单击"创建API Key"，创建您的API Key。
#### 选择开发语言调用大模型API
以Python、Curl、Open AI Python、Java四种语言为例，展示调用大模型API。
- [Python]
  1. 检查Python版本： 在终端输入如下命令查看当前计算机环境是否安装了Python和pip。
     ```
     python -V
     pip --version
     ```
     以Windows的CMD为例：
     图2Windows查看Python版本   
     ![](https://support.huaweicloud.com/qs-maas/figure/zh-cn_image_0000002749398043.png "点击放大")
     如果未安装Python，请前往[Python官网](https://www.python.org/downloads/)下载Python包并安装，Python版本需要在3.8或以上版本。
     
  
  2. 安装requests库。
     ```
     pip3 install requests
     ```
     
  
  3. 以GLM-5.3模型为例，运行如下命令发起API请求。可通过model参数替换模型，model参数详情请前往[控制台](https://console.huaweicloud.com/modelarts/?#/model-studio/deployment)查看预置模型操作列的"API调用"。
     ```
     import requests
     import json
     if __name__ == '__main__':
         url = "https://api.modelarts-maas.com/v2/chat/completions"  # API地址
         api_key = "MAAS_API_KEY"  # 把MAAS_API_KEY替换成已获取的API Key
         # Send request.
         headers = {
             'Content-Type': 'application/json',
             'Authorization': f'Bearer {api_key}'
         }
         data = {
             "model": "glm-5.3",  # model参数，您可按需更换模型参数
             "messages": [
                 {"role": "system", "content": "You are a helpful assistant."},
                 {"role": "user", "content": "介绍下你自己"}
             ]
         }
         response = requests.post(url, headers=headers, data=json.dumps(data))
         # Print result.
         print(response.status_code)
         print(response.text)
     ```
     
   
- [Curl]
  以GLM-5.3模型为例，运行如下命令发起API请求。可通过model参数替换模型，model参数详情请前往[控制台](https://console.huaweicloud.com/modelarts/?#/model-studio/deployment)查看预置模型操作列的"API调用"。
  - Windows 在CMD（命令提示符）中执行如下命令：
    ```
    curl - X POST "https://api.modelarts-maas.com/v2/chat/completions" ^
    -H "Content-Type: application/json" ^
    -H "Authorization: Bearer %MAAS_API_KEY%" ^
    -d "{
    \"model\": \"glm-5.3\",
    \"messages\": [
    {\"role\": \"system\", \"content\": \"You are a helpful assistant.\"},
    {\"role\": \"user\", \"content\": \"介绍下你自己\"}
    ]
    }"
    ```
    
    
  
  - Linux/macOS
    在Terminal（终端）中执行如下命令：
    ```
    curl -X POST "https://api.modelarts-maas.com/v2/chat/completions" \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer $MAAS_API_KEY" \
      -d '{
        "model": "glm-5.3",
        "messages": [
          {"role": "system", "content": "You are a helpful assistant."},
          {"role": "user", "content": "介绍下你自己"}
        ]
      }'
    ```
    
   
- [Open AI Python]
  1. 检查Python版本： 在终端输入如下命令查看当前计算机环境是否安装了Python和pip。
     ```
     python -V
     pip --version
     ```
     以Windows的CMD为例：
     图3Windows查看Python版本   
     ![](https://support.huaweicloud.com/qs-maas/figure/zh-cn_image_0000002554118773.png "点击放大")
     如果未安装Python，请前往[Python官网](https://www.python.org/downloads/)下载Python包并安装，Python版本需要在3.8或以上版本。
     
  
  2. 安装OpenAI Python SDK。
     ```
     pip install --upgrade "openai>=1.0"
     ```
     
  
  3. 以GLM-5.3模型为例，运行如下命令发起API请求。可通过model参数替换模型，model参数详情请前往[控制台](https://console.huaweicloud.com/modelarts/?#/model-studio/deployment)查看预置模型操作列的"API调用"。
     ```
     from openai import OpenAI
     base_url = "https://api.modelarts-maas.com/openai/v1"  # API地址
     api_key = "MAAS_API_KEY"  # 把MAAS_API_KEY替换成已获取的API Key
     client = OpenAI(api_key=api_key, base_url=base_url)
     response = client.chat.completions.create(
         model="glm-5.3",  # model参数，您可按需更换模型参数
         messages=[
             {"role": "system", "content": "You are a helpful assistant"},
             {"role": "user", "content": "介绍下你自己"},
         ]
     )
     print(response.choices[0].message.content)
     ```
     
   
- [Java]
  1. 安装JDK，建议JDK版本为15+。
     - Windows
       1. 前往[Adoptium](https://adoptium.net/)下载JDK安装包，安装JDK。
          **方法一：安装.msi包。**
          双击运行程序，按操作指引安装。**勾选 "Set JAVA_HOME variable" 和 "Add to PATH"，这样安装程序会自动配置好环境变量**。
          ![](https://support.huaweicloud.com/qs-maas/public_sys-resources/caution_3.0-zh-cn.png)
          安装过程中会提示是否安装 JRE（Java Runtime Environment），可以取消勾选，因为 JDK 已经包含了 JRE，装两个容易冲突。
          如若环境变量里未成功设置，则进行如下操作手动配置环境变量：
          - 新建系统变量**JAVA_HOME**，值为JDK的安装路径，如"C:\\Java\\jdk-17.0.2"。
          
          - 在系统变量**Path**中添加"%JAVA_HOME%\\bin"。
          
          
          **方法二：手动配置zip/tar.gz包**。
          从 [JDK官网](https://jdk.java.net/)下载安装包。解压到安装目录，比如"C:\\Java\\jdk-17.0.2"。右键"此电脑""属性 \> 高级系统设置 \> 环境变量"：
          - 新建系统变量**JAVA_HOME**，值为解压路径，如"C:\\Java\\jdk-17.0.2"。
          
          - 在系统变量**Path**中添加"%JAVA_HOME%\\bin"。
           
       
       2. 命令窗口运行以下命令验证安装。若有版本号输出，则表示安装成功。
          ```
          java -version 或 javac -version
          ```
          
        
     
     - Linux
       1. 执行以下命令安装：
          ```
          # 更新包索引
          sudo apt update
          # 安装最新版本（例如 JDK 17 或 21）
          sudo apt install openjdk-17-jdk
          # 或安装JDK 21
          sudo apt install openjdk-21-jdk
          # 只安装 JRE 可替换为 openjdk-17-jre
          sudo apt install openjdk-17-jre
          ```
          
       
       2. 配置环境变量，在 "\~/.bashrc"、或"\~/.zshrc"或" /etc/profile"中添加：
          ```
          export JAVA_HOME=你自己的JDK安装目录
          export PATH=$JAVA_HOME/bin:$PATH
          # 运行如下命令使配置生效
          source ~/.bashrc（或对应文件）
          ```
          
       
       3. 命令窗口运行以下命令验证安装。若有版本号输出，则表示安装成功。
          ```
          java -version 或 javac -version
          ```
          
        
     
     - MacOS
       **Homebrew（推荐）**
       ```
       brew install openjdk@17
       ```
       安装后 brew 会给出链接提示，执行类似：
       ```
       sudo ln -sfn /opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk
       ```
       然后配置环境变量：
       ```
       echo 'export PATH="/opt/homebrew/opt/openjdk@17/bin:$PATH"' >> ~/.zshrc
       ```
       命令窗口运行以下命令验证安装。若有版本号输出，则表示安装成功。
       ```
       java -version 或 javac -version
       ```
       
      
  
  2. 以GLM-5.3模型为例，运行如下命令发起API请求。可通过model参数替换模型，model参数详情请前往[控制台](https://console.huaweicloud.com/modelarts/?#/model-studio/deployment)查看预置模型操作列的"API调用"。
     ```
     import java.net.URI;
     import java.net.http.HttpClient;
     import java.net.http.HttpRequest;
     import java.net.http.HttpResponse;
     import java.time.Duration;
     public class ChatCompletionsExample {
         public static void main(String[] args) {
             // 接口地址
             String apiUrl = "https://api.modelarts-maas.com/v2/chat/completions";
             // 把MAAS_API_KEY替换成已获取的API Key
             String apiKey = "MAAS_API_KEY";
             // 替换为你要调用的模型名称
             String modelName = "glm-5.3";
             // 构造请求体
             String requestBody = String.format(
                 """
                     {
                         "model": "%s",
                         "messages": [
                             {"role": "system", "content": "You are a helpful assistant."},
                             {"role": "user", "content": "你好，请介绍一下自己"}
                         ]
                     }""", modelName);
             // 创建 HttpClient
             HttpClient client = HttpClient.newBuilder()
                     .connectTimeout(Duration.ofSeconds(10))
                     .build();
             // 创建请求
             HttpRequest request = HttpRequest.newBuilder()
                     .uri(URI.create(apiUrl))
                     .header("Content-Type", "application/json")
                     .header("Authorization", "Bearer " + apiKey)
                     .POST(HttpRequest.BodyPublishers.ofString(requestBody))
                     .build();
             try {
                 // 发送请求并打印结果
                 HttpResponse<String> response = client.send(
                         request, HttpResponse.BodyHandlers.ofString());
                 System.out.println("HTTP Status: " + response.statusCode());
                 System.out.println("Response Body:\n" + response.body());
             } catch (Exception e) {
                 e.printStackTrace();
             }
         }
     }
     ```
     
   
模型回复预览：
```
你好！我是GLM，一个由Z.ai开发的大语言模型。我基于先进的深度学习技术训练而成，旨在为用户提供信息和帮助。
我能够回答问题、提供解释、进行创意写作，并在各种话题上展开对话。虽然我努力提供准确有用的信息，但我也在不断学习和改进中。
有什么我能帮你解答的问题或者你想了解的话题吗？
```
#### 查看调用量
模型API调用结束之后，您可前往MaaS控制台的[调用统计](https://console.huaweicloud.com/modelarts/?#/model-studio/statistics)页面查看模型的调用情况（该模型消耗的输入/输出Tokens数、总Tokens数、端到端时延等统计信息和监控指标），如下图所示。
图4模型调用统计信息   
![](https://support.huaweicloud.com/qs-maas/figure/zh-cn_image_0000002759540491.png "点击放大")
#### 下一步操作
现在您已完成首次MaaS服务API调用，可探索MaaS服务更多模型能力：
- 查看更多模型：本章节示例代码以GLM-5.3模型为例，MaaS还支持DeepSeek、千问、GLM、Kimi等更多第三方模型，模型信息请参考[模型列表](https://support.huaweicloud.com/model-list-maas/model_list_0001.html)，支持的模型及其对应的API参考请见[API调用规范](https://support.huaweicloud.com/model-call-maas/model-call-017.html)。
- 在线体验大模型：如果你想通过对话框与大模型互动，请前往[模型体验页面](https://console.huaweicloud.com/modelarts/?#/model-studio/experience)进行模型体验。
- 体验图片生成模型：用户可以通过给模型输入提示词或图片而生成符合预期的图片，详情请参考[图片生成](https://support.huaweicloud.com/model-call-maas/model-call-012.html)。图片生成提示词指南可参考[文生图Prompt指南](https://support.huaweicloud.com/bestpractice-maas/bestpractice_maas_0019.html)。
- 体验视频生成模型：用户通过调用视频生成模型API来生成视频，涵盖文生视频、图生视频（通用/舞蹈/唱演/播报等）、参考生视频、首尾帧视频等应用场景，从而轻松地将创意转化为高质量的视频内容。详情请参考[视频生成](https://support.huaweicloud.com/model-call-maas/model-call-013.html)。视频生成提示词指南可参考[视频生成Prompt指南](https://support.huaweicloud.com/bestpractice-maas/bestpractice_maas_0020.html)。
 
#### 常见问题
- **创建API Key后需要等待多久才能生效？**
  MaaS API Key在创建后不会立即生效，通常需要等待几分钟才能生效。
  
- **MaaS调用大模型API如何计费？**
  不同模型计费方式有所区别，详情请见[模型服务价格](https://support.huaweicloud.com/price-maas/price-maas-0001.html)。
  
 
