项目服务部署
项目服务部署
服务部署功能为开发者提供快速发布API的能力。支持开发者将Notebook项目中自定义编写的各类程序,包括全栈应用、大模型推理服务、一言插件后端等部署为服务API,并支持公网调用,以及查看服务调用详情
独占机器资源服务部署
功能简介
独占机器资源的服务部署适合部署需要CPU或GPU服务器资源的各类后端服务和应用。部署完成后会独占一台机器,按使用时长进行付费,支持部署为公开访问和限制访问的API。
创建流程
1. 创建部署项目
服务部署能力基于Notebook项目,故需要先创建Notebook项目,并启动Codelab编程环境。
注意:服务部署能力仅支持BML Codelab PaddlePaddle 2.5.2及以上版本,经典版和较低Paddle版本的项目请升级到规定版本。
2. 点击Codelab中新建按钮,创建Python文件,进行业务代码编写。
2.2 代码开发调试过程中,您可以在终端中启动部署服务,例如如下Flask服务代码,保存为server.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return 'Hello, Flask!'
if __name__ == '__main__':
app.run(host="0.0.0.0", port=8080) // 在Codelab开发测试阶段端口号可以修改,正式部署时必须为8080
2.3 打开Terminal后,运行此py文件,启动服务。
2.4 本地浏览器调用,url为:Codelab项目链接 + /api_serveing/<user_port>/url_remain
- 以上例子中:Codelab项目链接为当前项目链接/home前的部分;user_port为8002;url_remain为/hello
3. 完成可部署代码编写和测试后点击顶部部署按钮进行部署
4. 填写服务部署相关配置
- 支持在服务启动命令执行前执行相关环境安装和配置命令
- 填写完服务启动命令并输入服务启动脚本所在目录,系统会自动打包此目录下所有文件进行部署。打包的部署包大小上限为20G,请根据情况调整此目录下文件,如超出20G服务会部署失败。
- 选择运行环境后执行部署。服务部署会消耗A币,剩余A币数量需大于服务运行0.5小时所属A币数量;账号A币消耗完毕后服务自动关停并下线。
5. 点击部署按钮后会进入部署中状态,您可以点击查看日志查看部署过程。
6. 在首页->我的创作->我的服务中出现所有服务,并可以查看服务相关信息和执行相关操作
7. 点击服务名称查看此服务的详情
- 您可以参考下方提供的调用示例,使用Python或者CURL进行服务的调用。
- API调用需要验证鉴权,您需要进入首页点击访问令牌,复制Access Token,替换示例代码中的
- 当前API仅支持服务创建者调用,填写其他用户Access Token则会调用失败。更多API调用和计费方式正在规划和开发中,敬请期待。
8. 常见问题
-
服务部署总是失败或者在部署中?
需要确认用户的服务需要运行在8080指定端口上并尝试使用 0.0.0.0 指定 host 来开放外网访问
-
找不到我打包上传的文件?
可以确认指定文件相对路径的方式或者通过 file_path = os.path.join(os.path.dirname(file), "your_file_path") 计算绝对路径后使用
-
如何自助排查问题?
可以在代码中适当打印相关堆栈、变量或环境信息,通过点击查看日志,分析日志内容,帮助定位排查问题
-
接口报 http 错误码 403怎么办?
http错误码403,一般是鉴权未通过,可以在平台首页->访问令牌tab中复制Access Token后,替换调用示例中的
-
服务需要安装 pip 依赖,怎么安装?
在服务部署时,可以通过『环境安装命令』安装依赖,例如 pip install paddlepaddle,回车分隔;或者在打包根目录下放置 requirements.txt,部署时会自动安装 requirements.txt 中的相关依赖
-
apt-get 提示没权限?
平台暂未开放 apt-get 等相关命令权限