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

使用MLflow评估Azure OpenAI时提示降低速率,该如何操作?

解决方案

1. 限制MLflow评估的并发请求数

mlflow.evaluate默认会并发发起请求,容易触发Azure OpenAI的速率限制。可以通过evaluation_config参数设置最大并发数,强制串行处理请求:

mlflow.evaluate(
    model=logged_model.model_uri,
    model_type="question-answering",
    data=example_questions,
    evaluation_config={"max_concurrent_runs": 1}
)

2. 调整Azure OpenAI部署的速率限制(若有权限)

登录Azure门户,找到目标OpenAI资源的模型部署页面,根据需求调整每分钟请求数(Requests per minute)或每分钟令牌数(Tokens per minute)。免费额度部署的速率限制严格,若长期使用建议升级到付费层。

3. 在推理层添加请求延迟

如果并发控制仍无法解决,可自定义包装模型,在每次请求后添加短暂休眠:

import time
from mlflow.pyfunc import PythonModel

class RateLimitedOpenAIModel(PythonModel):
    def __init__(self, model_uri):
        self.model = mlflow.pyfunc.load_model(model_uri)
    
    def predict(self, context, model_input):
        time.sleep(1)  # 每次请求后休眠1秒,可根据实际限制调整时长
        return self.model.predict(model_input)

# 在当前运行中记录限流模型
with mlflow.start_run(run_id=run.info.run_id):
    mlflow.pyfunc.log_model(artifact_path="rate_limited_model", python_model=custom_model)

# 评估限流后的模型
mlflow.evaluate(
    model=f"runs:/{run.info.run_id}/rate_limited_model",
    model_type="question-answering",
    data=example_questions
)

4. 检查Azure OpenAI配置细节

  • 确认mlflow.openai.log_model中的model参数是Azure OpenAI的部署名称(而非基础模型名,比如部署的gpt-3.5-turbo可能命名为gpt-35-turbo-dev)
  • 验证环境变量AZURE_OPENAI_API_KEY、AZURE_OPENAI_ENDPOINT已正确配置,MLflow依赖这些参数连接Azure服务

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 07:42:09