更新时间:2024-10-16 GMT+08:00
分享

使用API调用模型

用户可以通过API调用盘古大模型服务提供的基模型以及用户训练后的模型。训练后的模型需使用“在线部署”,才可以使用本章节提供的方法进行调用。本章节分别介绍使用Postman调用API和多语言(Java/Python/Go)调用API的方法,仅供测试使用。

前提条件

使用API调用模型前,需要先开通盘古大模型服务

使用Postman调用API

  1. 获取API请求地址。
    1. 在“服务管理”页面,单击所需API的“查看详情”按钮。
      图1 服务管理
    2. 在“模型列表”中选择需要调用的模型,单击操作栏中的“调用路径”,复制对应模型的API请求地址。
      图2 获取API请求地址
  2. 获取Token。

    在调用盘古API过程中,Token起到了身份验证和权限管理的作用。

    在调用盘古API前,需要先使用“获取Token”接口,获取Token值,再将Token值传入盘古API的请求header参数中,实现盘古服务在接收到用户的API请求时进行身份验证。

    关于Token有效期的详细说明请参见获取IAM用户Token(使用密码)

    获取token步骤如下:

    1. 登录“我的凭证 > API凭证”页面,获取user name、domain name、project id。
      project id参数需要与盘古服务部署区域一致。例如,盘古大模型部署在“西南-贵阳一”区域,需要获取与“西南-贵阳一”区域对应的project id。
      图3 查看盘古服务区域
      图4 获取user name、domain name、project id
    2. 下载并安装Postman调测工具。
    3. 打开Postman,新建一个POST请求,并输入“西南-贵阳一”区域的“获取Token”接口。并填写请求Header参数。
      • 接口地址为:https://iam.cn-southwest-2.myhuaweicloud.com/v3/auth/tokens
      • 请求Header参数名为Content-Type,参数值为application/json
      图5 填写获取Token接口
    4. 填写“获取token”接口的请求体。在Postman中选择“Body > raw”选项,参考图6复制并填入以下代码,并填写user name、domain name、password。
      { 
          "auth": { 
              "identity": { 
                  "methods": [ 
                      "password" 
                  ], 
                  "password": { 
                      "user": { 
                          "name": "username", //IAM用户名
                          "password": "********", //华为云账号密码
                          "domain": { 
                              "name": "domainname" //账号名
                          } 
                      } 
                  } 
              }, 
              "scope": { 
                  "project": { 
                      "name": "cn-southwest-2" //盘古大模型当前部署在“西南-贵阳一”区域,取值为cn-southwest-2
                  } 
              } 
          } 
      }
      图6 填写请求Body
    5. 单击Postman界面“Send”按钮,发送请求。当接口返回状态为201时,表示Token接口调用成功,此时单击“Headers”选项,找到并复制“X-Subject-Token”参数对应的值,该值即为需要获取的Token。
      图7 获取Token
  3. 调用盘古API。
    1. 在Postman中新建POST请求,并填入盘古API请求地址。
    2. 参考图8填写2个请求Header参数。
      • 参数名为Content-Type,参数值为application/json。
      • 参数名为X-Auth-Token,参数值为获取Token中获取的Token值。
        图8 填写盘古API
    3. 在Postman中选择“Body > raw”选项,参考图9复制并填入以下代码,填写请求Body。
      {
        "prompt": "写一个穿越到宋朝的故事。",
        "max_tokens": 600,
        "temperature": 0.9,
        "n": 1
      }
      图9 填写盘古请求Body
    4. 单击Postman界面的“Send”按钮,发送请求。当接口返回状态为200时,表示盘古API调用成功,并可在Postman中看到接口的返回信息。
      图10 获取盘古API调用结果
    • 使用Postman调用API时,如果出现SSL证书无效相关的报错,如“self signed certificate”(自签名证书)、“certificate has expired”(证书已过期)或“unable to verify the first certificate”(无法验证第一个证书)等。可以在Postman的设置中关闭“SSL certificate verification”选项。
    • 关于盘古大模型API的详细请求参数、响应参数介绍请参见《API参考》文档。

使用多语言(Java/Python/Go)调用API

  1. 获取API请求地址。
    1. 在“服务管理”页面,单击所需API的“查看详情”按钮。
      图11 服务管理
    2. 在“服务列表”中选择需要调用的模型,单击操作栏中的“调用路径”,复制对应模型的API请求地址。
      图12 获取API请求地址
  2. 获取AK/SK。

    在使用盘古SDK时,需要使用AK/SK进行身份验证。

    1. 登录“我的凭证 > 访问密钥”页面,单击“新增访问密钥”。
      图13 新增访问密钥
    2. 依据页面提示完成AK、SK的创建,并下载credentials.csv文件,Access Key Id即为AK,Secret Access Key即为SK,AK和SK需要妥善保存,避免泄露导致安全风险,如果不慎丢失,需要及时删除,并重新生成。
  3. 使用SDK调用盘古API。
    1. 进入“开发体验馆 Codelabs”页面,查看盘古API场景示例如下。
      图14 开发体验馆
    2. 选择要调用的场景示例,按照使用参考完成前置条件,可选择不同语言SDK,图15以Java为例。

      参数说明如下:

      ak,sk即为2中获取到的AK/SK,建议加密使用,避免引起安全问题。

      其他参数可从获取API请求地址中获取。获取到的请求地址结构如下:

      https://pangu.{region_id}.myhuaweicloud.com/v1/{project_id}/deployments/{deployment_id}/chat/completions

      • regionId为{region_id}
      • endpoint为https://pangu.cn-east-3.myhuaweicloud.com
      • projectId为{project_id}
      • deploymentId为{deployment_id}
      图15 JavaSDK
    3. 利用SDK编写代码调用API。
      图16 调用API
    4. 结果响应如图17所示。
      图17 结果响应

相关文档