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

能否为Azure ML部署的MLflow RAG模型添加score.py及脚本示例

问题解答

1. 是否可以创建score.py并随产物注册模型

可以。Azure ML Studio部署模型时,评分脚本(score.py)是必填项,用于定义模型的加载逻辑和请求处理流程,你可以手动创建该文件并和MLflow导出的模型文件一起打包注册。

2. 适配该RAG模型的score.py示例

import mlflow.pyfunc
import os
import json

# 全局变量缓存加载后的模型
model = None

def init():
    """Azure ML部署时调用的初始化函数,仅执行一次"""
    global model
    # 获取Azure ML挂载的模型路径
    model_path = os.path.join(os.getenv("AZUREML_MODEL_DIR"), "model")
    # 加载MLflow PyFunc格式的模型
    model = mlflow.pyfunc.load_model(model_path)

def run(raw_data):
    """处理请求的核心函数,接收原始请求数据并返回模型结果"""
    # 解析JSON格式的请求数据
    input_data = json.loads(raw_data)
    # 调用模型的predict方法,匹配原模型预期的输入格式
    prediction_result = model.predict(input_data)
    # 将结果序列化为JSON返回
    return json.dumps(prediction_result)

3. 关键注意事项

  • 打包模型时,要将score.py和MLflow生成的model目录(包含MLmodel、conda.yaml等文件)放在同一层级,压缩成zip包后上传到Azure ML Studio注册。
  • 模型中的OpenAI API密钥myapi-key不要硬编码,建议改为从Azure ML的环境变量或密钥保管库读取:
    修改原模型代码中OpenAIGenerator的初始化逻辑:
    import os
    llm = OpenAIGenerator(api_key=Secret.from_token(os.getenv("OPENAI_API_KEY")))
    
    部署端点时在Azure ML配置中添加OPENAI_API_KEY环境变量并填入密钥值。
  • 确认pip_requirements中的依赖版本与Azure ML部署环境兼容,必要时指定具体版本(如haystack-ai==2.2.0),避免依赖冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 06:42:44