You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Python脚本将AWS S3存储的Rasa NLU模型加载到Rasa Server

Python脚本实现Rasa Server加载S3存储模型方案

你可以选以下两种落地方式,运行行为和你使用CLI启动完全一致:

前置准备

  • 运行环境安装好对应版本的rasa和AWS SDK依赖boto3
  • 提前配置好AWS访问凭证:可以通过全局环境变量AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY、AWS_DEFAULT_REGION配置,也可以在脚本内临时注入,Rasa的AWS远程存储模块会自动读取凭证
  • 建议提前在项目的endpoints.yml中明确指定S3桶名,避免拉取模型时找错存储位置,配置参考:
models:
  url: "你的S3存储桶名称"
  region_name: "桶所在的AWS区域"

方案1:调用Rasa原生Python接口启动(推荐)

该方式不需要启动额外子进程,和CLI启动走完全相同的内部逻辑,可控性更高:

from rasa.core.run import serve_application
import os

# 若已经配置了全局AWS凭证,可删除下面三行环境变量注入代码
os.environ["AWS_ACCESS_KEY_ID"] = "替换成你的AWS访问密钥ID"
os.environ["AWS_SECRET_ACCESS_KEY"] = "替换成你的AWS秘密访问密钥"
os.environ["AWS_DEFAULT_REGION"] = "替换成桶所在区域,如ap-southeast-1"

if __name__ == "__main__":
    serve_application(
        model="spacynlu.tar.gz", # S3上存储的模型文件名
        remote_storage="aws", # 指定从AWS S3拉取模型
        port=5005, # 服务监听端口,默认5005
        cors_origins=["*"], # 按需配置跨域规则,本地测试可设为*
        auth_token=None, # 按需配置接口鉴权token,不需要可留空
        endpoints="endpoints.yml" # 指定读取提前配置的endpoints文件
    )

脚本运行后会自动从指定S3桶拉取模型加载,启动完成后即可正常调用NLU解析接口。

方案2:子进程调用CLI命令启动

如果你的脚本需要和Rasa服务进程隔离,或者不想耦合Rasa内部模块依赖,可以直接用子进程执行原有CLI命令:

import subprocess
import os

# 复制当前系统环境变量,补充AWS凭证
run_env = os.environ.copy()
# 若已经配置全局AWS凭证,可删除下面三行
run_env["AWS_ACCESS_KEY_ID"] = "替换成你的AWS访问密钥ID"
run_env["AWS_SECRET_ACCESS_KEY"] = "替换成你的AWS秘密访问密钥"
run_env["AWS_DEFAULT_REGION"] = "替换成桶所在区域"

if __name__ == "__main__":
    start_cmd = [
        "rasa", "run",
        "--model", "spacynlu.tar.gz",
        "--remote-storage", "aws",
        "--port", "5005",
        "--cors", "*",
        "--endpoints", "endpoints.yml"
    ]
    # 启动Rasa服务进程
    rasa_process = subprocess.Popen(start_cmd, env=run_env)
    # 阻塞等待进程运行,如果你需要并行跑其他业务逻辑,可以去掉这行自行管理进程生命周期
    rasa_process.wait()

验证方式

服务启动完成后,向http://localhost:5005/model/parse发送POST请求,传入待解析文本即可拿到意图分类、实体提取结果,和CLI启动的服务效果完全一致。


内容的提问来源于stack exchange,提问作者Niles

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 15:24:21