高代码应用

高代码应用是阿里云百炼平台为开发者提供的、基于完整 Python 项目结构部署 AI 后端服务的能力。与“低代码/无代码”拖拽式开发不同,高代码应用允许您使用代码编程的方式构建复杂AI服务,并使用单条命令即可部署到云上生产环境,支持自动化运维、可观测、日志服务、API网关等企业级能力。

image

调用接口后,即可在应用观测页面可以观测到 API 调用的详细信息。

代码中上报的信息可使用 AgentScope-AI 的 Tracing模块自定义。

image

准备工作

  1. Python 开发环境要求python >= 3.10

  2. 授权或开通相关云服务依赖。

    1. 前往阿里云百炼-应用管理,点击高代码类型,并对相关云服务使用进行一键授权

      如果一键授权失败,请联系您的账号管理员或 IT 管理员获取相关授权。

      image

      确保imageimageimage三个服务在“已授权”状态。

    2. 前往阿里云百炼-应用观测页面,授权开通应用观测功能。

      image

    3. 前往阿里云 OSS 服务控制台,开通 OSS 服务,用于保存 Python 代码。

      image

快速开始

步骤一:准备本地环境

为了能够将 Python 代码上传并部署到阿里云百炼,安装 AgentScope-AI 的相关依赖,用于向阿里云百炼上传代码包:

pip install agentscope-runtime==0.1.5b2
pip install "agentscope-runtime[deployment]==0.1.5b2"

步骤二:打包模板应用

  1. 阿里云百炼-应用管理,下载高代码应用的模板代码包并在本地解压。

    image

  2. 根据模板工程中 README.md 的描述,配置和测试下载的模板。 image

  3. 构建模板工程的软件包,需要在项目根目录下(即 setup.py 文件所在的目录)执行打包命令。

    python setup.py bdist_wheel

    打包好的软件包存储在dist/目录下。

    image

步骤三:部署模板

  1. 获取并配置以下环境变量(以 Linux 系统为例)

    1. 获取阿里云的 获取 AccessKey (AK 和 SK)用于上传软件包时的鉴权。

    2. 获取阿里云百炼的 Workspace ID,以llm-开头,用于指定存储高代码应用的百炼业务空间。

    3. 将以上获取到的内容配置为环境变量:

      export ALIBABA_CLOUD_ACCESS_KEY_ID=LTAI************            #替换为阿里云AccessKey(AK)
      export ALIBABA_CLOUD_ACCESS_KEY_SECRET=****************        #替换为阿里云SecretKey(SK)
      export MODELSTUDIO_WORKSPACE_ID=llm-****************           #替换为百炼的业务空间ID,该空间将部署高代码应用
  2. 使用AgentScope-AI上传构建好的.whl 软件包,并自动部署到阿里云百炼。

    --telemetry enable用于打开可观测能力,并需要结合 AgenScope 的 Tracing模块进行应用开发。
    runtime-fc-deploy --deploy-name 我的第一个高代码应用  --whl-path <PATH_TO_YOUR_NEW_WHL_FILE> --telemetry enable

    部署成功后会打印出 应用名、百炼业务空间、访问应用的控制台链接、应用 ID。

    image

  3. 前往阿里云百炼-应用管理,等待应用发布。应用发布后将会根据部署时长,产生较少的费用。(<0.1元/小时)

    image

步骤四:测试高代码应用

  1. 使用预先定义的默认接口测试代码工程是否部署成功。

    image

  2. 也可以一键复制用于调用的 cURL 命令,该命令可用于命令行上访问到高代码应用。

    image

    image

步骤五:查看 API 调用信息

前往阿里云百炼-应用观测 页面,将自动展示收集到的相关信息。

仅使用 AgentScope-Ai 的 Tracing模块进行 AI 应用开发,才可自动上传调用数据。

image

发送大模型调用请求

应用部署成功并完成基础测试后,本节将指导您如何为应用配置环境变量,并调用其与大模型交互的接口。

为了让高代码应用与百炼 API 正常进行交互,需要为部署环境添加阿里云百炼的 API KEY

  1. 点击修改按钮。

    image

  2. "DASHSCOPE_API_KEY": "sk-****************"添加到环境变量 JSON 对象中,并点击右下角的保存

    请将sk-****************替换为阿里云百炼的真实 API Key

    image

  3. 配置 input 为 {"message": "介绍一下云栖大会"},向 /chat 接口发送 POST 请求,与大模型进行交互。

    image

更新已发布的高代码应用

当高代码应用需要更新时,可以使用 AgentScope-AI 的更新命令重新上传.whl 软件包。软件包上传成功后,高代码应用将自动更新并重新部署运行。

  1. 前往阿里云百炼-应用管理,复制应用 ID。

    image

  2. 在本地使用以下命令,上传更新的本地.whl 软件包。

    runtime-fc-deploy --update <HIGH_CODE_APP_ID> --whl-path <PATH_TO_YOUR_NEW_WHL_FILE>

    更新成功后显示:image

通过 API 网关正式发布高代码应用

如果需要在生产环境部署应用,或者希望使用独立域名的 API 网关建议开启应用网关功能。

  1. 阿里云百炼-应用管理的详情页面中,点击应用网关根据控制台引导,前往阿里云的 API 网关页面,根据需求创建云原生API网关。(将会产生一定量的 API 网关使用费用,具体价格表请参考:云原生 API 网关计费概述

    image

  2. 创建 云原生API网关完成后,选择创建的实例和路由,点击确认

    如果应用停止部署,API 网关需要重新绑定。

    image

  3. 新的 API 路由生效后也能正常访问高代码应用。

    image

  4. 推荐开启Token 鉴权,并通过添加“鉴权Token”,保证生产用 API 网关调用时需要身份验证。

    image

    image

  5. 生产环境中使用应用:推荐打开测试域名的“禁止公网访问”开关,测试用 API 网关将禁用(不再能够通过公网访问)。

    image

常见问题

上传失败了如何排查?

  1. 请检查阿里云的 AK/SK 与 阿里云百炼的 Workspace ID 是否属于同一个账号。

  2. 请检查各项准备工作项均已满足或开通。

  3. 如果报错 OSS 相关问题,例如:

    image

    请检查是否拥有AliyunOSSFullAccess权限,以及是否开通了 OSS 服务。

控制台显示部署失败可能是什么原因?

  1. Python 后端程序的 /health 接口无法调用,导致百炼认为程序启动失败。

    image

  2. Python 后端程序的入口文件一定是main.py