mlrun/mlrun
GitHub: mlrun/mlrun
MLRun 是一个开源 MLOps 平台,帮助团队跨生命周期自动化地构建、部署、监控和管理 ML 与生成式 AI 应用。
Stars: 1686 | Forks: 313
[](https://github.com/mlrun/mlrun/actions/workflows/build.yaml?query=branch%3Adevelopment)
[](https://opensource.org/licenses/Apache-2.0)
[](https://pypi.python.org/pypi/mlrun/)
[](https://mlrun.readthedocs.io/en/latest/?badge=latest)
[](https://github.com/astral-sh/ruff)
[](https://github.com/mlrun/mlrun/commits/main)
[](https://github.com/mlrun/mlrun/releases)
[](https://mlopslive.slack.com)
# 使用 MLRun
MLRun 是一个开源的 AI 编排平台,用于跨生命周期快速构建和管理持续的(生成式)AI 应用。MLRun 集成到您的开发和 CI/CD 环境中,并自动化交付生产数据、ML pipeline 和在线应用。
MLRun 显著减少了工程工作量、上线时间和计算资源。
借助 MLRun,您可以选择在本地计算机或云端使用任何 IDE。MLRun 打破了数据、ML、软件和 DevOps/MLOps 团队之间的孤岛,实现了协作和快速的持续改进。
从 MLRun 的 [**教程和示例**](https://docs.mlrun.org/en/stable/tutorials/index.html) 和 [**设置您的客户端环境**](https://docs.mlrun.org/en/stable/setup-guide.md) 开始,或者阅读关于 [**MLRun 架构**](https://docs.mlrun.org/en/stable/architecture.html) 的内容。
本页说明了 MLRun 如何处理 [**生成式 AI 任务**](#genai-tasks)、[**MLOps 任务**](#mlops-tasks),并介绍了 [**MLRun 核心组件**](#core-components)。
请参阅 MLRun 开放架构支持的 datastore、开发工具、服务、平台等,详见 **https://docs.mlrun.org/en/stable/ecosystem.html**。
## 生成式 AI 任务
使用 MLRun 在您的企业中开发、扩展、部署和监控您的 AI 模型。[**生成式 AI 开发工作流**](https://docs.mlrun.org/en/stable/genai/genai-flow.html) 部分详细描述了不同的任务和阶段。 ### 数据管理 MLRun 支持大规模的批处理或实时数据处理、数据血缘和版本控制、结构化与非结构化数据等。 在早期阶段移除不恰当的数据可以节省后续原本所需的资源。 **文档:** [使用 LLM 处理非结构化数据](https://docs.mlrun.org/en/stable/genai/data-mgmt/unstructured-data.html), [向量数据库](https://docs.mlrun.org/en/stable/genai/data-mgmt/vector-databases.html), [用于数据管理的 Guardrails](https://docs.mlrun.org/en/stable/genai/data-mgmt/guardrails-data.html) **演示:** [呼叫中心演示](https://github.com/mlrun/demo-call-center) **视频:** [呼叫中心](https://youtu.be/YycMbxRgLBA) ### 开发 使用 MLRun 构建自动化的 ML pipeline,以:收集数据, 预处理(准备)数据,运行训练 pipeline,并评估模型。 **文档:** [使用 RAG](https://docs.mlrun.org/en/stable/genai/development/working-with-rag.html),[评估 LLM](https://docs.mlrun.org/en/stable/genai/development/evaluating-llms.html),[微调 LLM](https://docs.mlrun.org/en/stable/genai/development/fine-tuning-llms.html) **演示:** [呼叫中心演示](https://github.com/mlrun/demo-call-center), [银行代理演示](https://github.com/mlrun/demo-banking-agent) **视频:** [呼叫中心](https://youtu.be/YycMbxRgLBA) ### 部署 MLRun 服务可以将新训练的 LLM 产品化,将其作为 serverless function,使用实时的自动扩展 Nuclio serverless function。 应用 pipeline 包含了从接受事件或数据、结合上下文状态准备所需模型特征的所有步骤, 使用一个或多个模型推断结果,并驱动操作。 **文档:** [部署生成式 AI 模型](https://docs.mlrun.org/en/stable/genai/deployment/genai_serving.html),[GPU 利用率](https://docs.mlrun.org/en/stable/genai/deployment/gpu_utilization.html),[生成式 AI 实时服务图](https://docs.mlrun.org/en/stable/genai/deployment/genai_serving_graph.html) **教程:** [使用 MLRun 部署 LLM](https://docs.mlrun.org/en/stable/tutorials/genai-01-basic-tutorial.html) **演示:** [呼叫中心演示](https://github.com/mlrun/demo-call-center), [银行代理演示](https://github.com/mlrun/demo-banking-agent) **视频:** [呼叫中心](https://youtu.be/YycMbxRgLBA) ### 实时运维 监控所有资源、数据、模型和应用指标以确保性能。然后识别风险、控制成本并衡量业务 KPI。 收集生产数据、元数据和指标,以进一步调整模型和应用,并实现治理和可解释性。 **文档:** [模型监控
## MLOps 任务
[**MLOps 开发工作流**](https://docs.mlrun.org/en/stable/mlops-dev-flow.html) 部分详细描述了不同的任务和阶段。 MLRun 可用于自动化和编排所有不同的任务,或仅执行特定任务(并将其与您已部署的内容集成)。 ### 项目管理和 CI/CD 自动化 在 MLRun 中,资产、元数据和服务(数据、函数、作业、artifact、模型、secrets 等)被组织到项目中。 项目可以作为整体导入/导出,映射到 git 仓库或 IDE 项目(如 PyCharm、VSCode 等),从而实现版本控制、协作和 CI/CD。 项目访问可以限制为特定的用户和角色集合。 **文档:** [项目与自动化](https://docs.mlrun.org/en/stable/projects/project.html),[CI/CD 集成](https://docs.mlrun.org/en/stable/projects/ci-integration.html) **教程:** [快速入门](https://docs.mlrun.org/en/stable/tutorials/01-mlrun-basics.html),[自动化 ML Pipeline](https://docs.mlrun.org/en/stable/tutorials/04-pipeline.html) **视频:** [快速入门](https://youtu.be/xI8KVGLlj7Q). ### 数据接入与处理 MLRun 为各种离线和在线 [**数据源**](https://docs.mlrun.org/en/stable/store/datastore.html) 提供了抽象接口,支持大规模的批处理或实时数据处理、数据血缘和版本控制、结构化与非结构化数据等。 此外,MLRun [**Feature Store**](https://docs.mlrun.org/en/stable/feature-store/feature-store.html) 自动化了 ML 生命周期中数据特征的收集、转换、存储、编目、服务和监控,并实现了特征的重用和共享。 参见:**文档:** [数据接入与处理](https://docs.mlrun.org/en/stable/data-prep/index.html),[Feature Store](https://docs.mlrun.org/en/stable/feature-store/feature-store.html),[数据与 Artifact](https://docs.mlrun.org/en/stable/concepts/data.html) **教程:** [快速入门](https://docs.mlrun.org/en/stable/tutorials/01-mlrun-basics.html),[Feature Store](https://docs.mlrun.org/en/stable/feature-store/basic-demo.html). ### 模型开发与训练 MLRun 允许您轻松构建 ML pipeline,从各种来源或 Feature Store 获取数据并进行处理,使用多个参数大规模训练模型、测试模型、跟踪每个实验、注册、版本控制和部署模型等。MLRun 提供可扩展的内置或自定义模型训练服务,可与任何框架集成,并能与第三方训练/auto-ML 服务配合使用。您也可以引入自己的预训练模型并在 pipeline 中使用它。 **文档:** [开发与训练模型](https://docs.mlrun.org/en/stable/development/index.html),[模型训练与跟踪](https://docs.mlrun.org/en/stable/development/model-training-tracking.html),[批处理运行与工作流](https://docs.mlrun.org/en/stable/concepts/runs-workflows.html) **教程:** [训练、比较和注册模型](https://docs.mlrun.org/en/stable/tutorials/02-model-training.html),[自动化 ML Pipeline](https://docs.mlrun.org/en/stable/tutorials/04-pipeline.html) **视频:** [训练并比较模型](https://youtu.be/bZgBsmLMdQo). ### 部署模型与应用 MLRun 使用弹性且具有弹性的 serverless function 快速部署和管理生产级的实时或批处理应用 pipeline。MLRun 涵盖了整个 ML 应用:拦截应用/用户请求、运行数据处理任务、使用一个或多个模型进行推断、驱动操作,并与应用逻辑集成。 **文档:** [部署模型与应用](https://docs.mlrun.org/en/stable/deployment/index.html),[实时 Pipeline](https://docs.mlrun.org/en/stable/serving/serving-graph.html),[批处理推断](https://docs.mlrun.org/en/stable/deployment/batch_inference.html) **教程:** [实时服务](https://docs.mlrun.org/en/stable/tutorials/03-model-serving.html),[批处理推断](https://docs.mlrun.org/en/stable/tutorials/07-batch-infer.html),[高级 Pipeline](https://docs.mlrun.org/en/stable/tutorials/07-batch-infer.html) **视频:** [部署预训练模型](https://youtu.be/OUjOus4dZfw). ### 模型监控 可观测性内置于 MLRun 的不同对象(数据、函数、作业、模型、pipeline 等)中,无需复杂的集成和代码插桩。借助 MLRun,您可以观察应用/模型的资源使用情况和模型行为(漂移、性能等),定义自定义应用指标,并触发告警或重新训练作业。 **文档:** [模型监控](https://docs.mlrun.org/en/stable/concepts/model-monitoring.html),[模型监控概览](https://docs.mlrun.org/en/stable/monitoring/model-monitoring-deployment.html) **教程:** [模型监控与漂移检测](https://docs.mlrun.org/en/stable/tutorials/05-model-monitoring.html). ## MLRun 核心组件
MLRun 包含以下主要组件: [**项目管理:**](https://docs.mlrun.org/en/stable/projects/project.html) 一个管理不同项目资产(数据、函数、作业、工作流、secrets 等)的服务(API、SDK、DB、UI),并提供中央控制和元数据层。 [**函数:**](https://docs.mlrun.org/en/stable/runtimes/functions.html) 自动部署的软件包,包含一个或多个方法以及运行时特定的属性(如镜像、库、命令、参数、资源等)。 [**数据与 Artifact:**](https://docs.mlrun.org/en/stable/concepts/data.html) 与各种数据源实现无感连接,提供针对结构化/非结构化 artifact 的元数据管理、编目和版本控制。 [**批处理运行与工作流:**](https://docs.mlrun.org/en/stable/concepts/runs-workflows.html) 使用特定参数执行一个或多个函数,并收集、跟踪和比较它们的所有结果和 artifact。 [**实时服务 Pipeline:**](https://docs.mlrun.org/en/stable/serving/serving-graph.html) 使用实时 serverless 技术快速部署可扩展的数据和 ML pipeline,包括 API 处理、数据准备/丰富、模型服务、集成、驱动和衡量操作等。 [**模型监控:**](https://docs.mlrun.org/en/stable/monitoring/index.html) 监控数据、模型、资源和生产组件,并提供一个反馈循环,用于探索生产数据、识别漂移、对异常或数据质量问题发出告警、触发重新训练作业、衡量业务影响等。 [**告警和通知:**](https://docs.mlrun.org/en/stable/concepts/model-monitoring.html) 使用告警来识别并通知您可能出现的问题情况。使用通知来报告运行和 pipeline 的状态。 [**Feature Store:**](https://docs.mlrun.org/en/stable/feature-store/feature-store.html) 自动收集、准备、编目并提供生产数据特征,以最小的工程量用于开发(离线)和实时(在线)部署。

使用 MLRun 在您的企业中开发、扩展、部署和监控您的 AI 模型。[**生成式 AI 开发工作流**](https://docs.mlrun.org/en/stable/genai/genai-flow.html) 部分详细描述了不同的任务和阶段。 ### 数据管理 MLRun 支持大规模的批处理或实时数据处理、数据血缘和版本控制、结构化与非结构化数据等。 在早期阶段移除不恰当的数据可以节省后续原本所需的资源。 **文档:** [使用 LLM 处理非结构化数据](https://docs.mlrun.org/en/stable/genai/data-mgmt/unstructured-data.html), [向量数据库](https://docs.mlrun.org/en/stable/genai/data-mgmt/vector-databases.html), [用于数据管理的 Guardrails](https://docs.mlrun.org/en/stable/genai/data-mgmt/guardrails-data.html) **演示:** [呼叫中心演示](https://github.com/mlrun/demo-call-center) **视频:** [呼叫中心](https://youtu.be/YycMbxRgLBA) ### 开发 使用 MLRun 构建自动化的 ML pipeline,以:收集数据, 预处理(准备)数据,运行训练 pipeline,并评估模型。 **文档:** [使用 RAG](https://docs.mlrun.org/en/stable/genai/development/working-with-rag.html),[评估 LLM](https://docs.mlrun.org/en/stable/genai/development/evaluating-llms.html),[微调 LLM](https://docs.mlrun.org/en/stable/genai/development/fine-tuning-llms.html) **演示:** [呼叫中心演示](https://github.com/mlrun/demo-call-center), [银行代理演示](https://github.com/mlrun/demo-banking-agent) **视频:** [呼叫中心](https://youtu.be/YycMbxRgLBA) ### 部署 MLRun 服务可以将新训练的 LLM 产品化,将其作为 serverless function,使用实时的自动扩展 Nuclio serverless function。 应用 pipeline 包含了从接受事件或数据、结合上下文状态准备所需模型特征的所有步骤, 使用一个或多个模型推断结果,并驱动操作。 **文档:** [部署生成式 AI 模型](https://docs.mlrun.org/en/stable/genai/deployment/genai_serving.html),[GPU 利用率](https://docs.mlrun.org/en/stable/genai/deployment/gpu_utilization.html),[生成式 AI 实时服务图](https://docs.mlrun.org/en/stable/genai/deployment/genai_serving_graph.html) **教程:** [使用 MLRun 部署 LLM](https://docs.mlrun.org/en/stable/tutorials/genai-01-basic-tutorial.html) **演示:** [呼叫中心演示](https://github.com/mlrun/demo-call-center), [银行代理演示](https://github.com/mlrun/demo-banking-agent) **视频:** [呼叫中心](https://youtu.be/YycMbxRgLBA) ### 实时运维 监控所有资源、数据、模型和应用指标以确保性能。然后识别风险、控制成本并衡量业务 KPI。 收集生产数据、元数据和指标,以进一步调整模型和应用,并实现治理和可解释性。 **文档:** [模型监控

[**MLOps 开发工作流**](https://docs.mlrun.org/en/stable/mlops-dev-flow.html) 部分详细描述了不同的任务和阶段。 MLRun 可用于自动化和编排所有不同的任务,或仅执行特定任务(并将其与您已部署的内容集成)。 ### 项目管理和 CI/CD 自动化 在 MLRun 中,资产、元数据和服务(数据、函数、作业、artifact、模型、secrets 等)被组织到项目中。 项目可以作为整体导入/导出,映射到 git 仓库或 IDE 项目(如 PyCharm、VSCode 等),从而实现版本控制、协作和 CI/CD。 项目访问可以限制为特定的用户和角色集合。 **文档:** [项目与自动化](https://docs.mlrun.org/en/stable/projects/project.html),[CI/CD 集成](https://docs.mlrun.org/en/stable/projects/ci-integration.html) **教程:** [快速入门](https://docs.mlrun.org/en/stable/tutorials/01-mlrun-basics.html),[自动化 ML Pipeline](https://docs.mlrun.org/en/stable/tutorials/04-pipeline.html) **视频:** [快速入门](https://youtu.be/xI8KVGLlj7Q). ### 数据接入与处理 MLRun 为各种离线和在线 [**数据源**](https://docs.mlrun.org/en/stable/store/datastore.html) 提供了抽象接口,支持大规模的批处理或实时数据处理、数据血缘和版本控制、结构化与非结构化数据等。 此外,MLRun [**Feature Store**](https://docs.mlrun.org/en/stable/feature-store/feature-store.html) 自动化了 ML 生命周期中数据特征的收集、转换、存储、编目、服务和监控,并实现了特征的重用和共享。 参见:**文档:** [数据接入与处理](https://docs.mlrun.org/en/stable/data-prep/index.html),[Feature Store](https://docs.mlrun.org/en/stable/feature-store/feature-store.html),[数据与 Artifact](https://docs.mlrun.org/en/stable/concepts/data.html) **教程:** [快速入门](https://docs.mlrun.org/en/stable/tutorials/01-mlrun-basics.html),[Feature Store](https://docs.mlrun.org/en/stable/feature-store/basic-demo.html). ### 模型开发与训练 MLRun 允许您轻松构建 ML pipeline,从各种来源或 Feature Store 获取数据并进行处理,使用多个参数大规模训练模型、测试模型、跟踪每个实验、注册、版本控制和部署模型等。MLRun 提供可扩展的内置或自定义模型训练服务,可与任何框架集成,并能与第三方训练/auto-ML 服务配合使用。您也可以引入自己的预训练模型并在 pipeline 中使用它。 **文档:** [开发与训练模型](https://docs.mlrun.org/en/stable/development/index.html),[模型训练与跟踪](https://docs.mlrun.org/en/stable/development/model-training-tracking.html),[批处理运行与工作流](https://docs.mlrun.org/en/stable/concepts/runs-workflows.html) **教程:** [训练、比较和注册模型](https://docs.mlrun.org/en/stable/tutorials/02-model-training.html),[自动化 ML Pipeline](https://docs.mlrun.org/en/stable/tutorials/04-pipeline.html) **视频:** [训练并比较模型](https://youtu.be/bZgBsmLMdQo). ### 部署模型与应用 MLRun 使用弹性且具有弹性的 serverless function 快速部署和管理生产级的实时或批处理应用 pipeline。MLRun 涵盖了整个 ML 应用:拦截应用/用户请求、运行数据处理任务、使用一个或多个模型进行推断、驱动操作,并与应用逻辑集成。 **文档:** [部署模型与应用](https://docs.mlrun.org/en/stable/deployment/index.html),[实时 Pipeline](https://docs.mlrun.org/en/stable/serving/serving-graph.html),[批处理推断](https://docs.mlrun.org/en/stable/deployment/batch_inference.html) **教程:** [实时服务](https://docs.mlrun.org/en/stable/tutorials/03-model-serving.html),[批处理推断](https://docs.mlrun.org/en/stable/tutorials/07-batch-infer.html),[高级 Pipeline](https://docs.mlrun.org/en/stable/tutorials/07-batch-infer.html) **视频:** [部署预训练模型](https://youtu.be/OUjOus4dZfw). ### 模型监控 可观测性内置于 MLRun 的不同对象(数据、函数、作业、模型、pipeline 等)中,无需复杂的集成和代码插桩。借助 MLRun,您可以观察应用/模型的资源使用情况和模型行为(漂移、性能等),定义自定义应用指标,并触发告警或重新训练作业。 **文档:** [模型监控](https://docs.mlrun.org/en/stable/concepts/model-monitoring.html),[模型监控概览](https://docs.mlrun.org/en/stable/monitoring/model-monitoring-deployment.html) **教程:** [模型监控与漂移检测](https://docs.mlrun.org/en/stable/tutorials/05-model-monitoring.html). ## MLRun 核心组件

MLRun 包含以下主要组件: [**项目管理:**](https://docs.mlrun.org/en/stable/projects/project.html) 一个管理不同项目资产(数据、函数、作业、工作流、secrets 等)的服务(API、SDK、DB、UI),并提供中央控制和元数据层。 [**函数:**](https://docs.mlrun.org/en/stable/runtimes/functions.html) 自动部署的软件包,包含一个或多个方法以及运行时特定的属性(如镜像、库、命令、参数、资源等)。 [**数据与 Artifact:**](https://docs.mlrun.org/en/stable/concepts/data.html) 与各种数据源实现无感连接,提供针对结构化/非结构化 artifact 的元数据管理、编目和版本控制。 [**批处理运行与工作流:**](https://docs.mlrun.org/en/stable/concepts/runs-workflows.html) 使用特定参数执行一个或多个函数,并收集、跟踪和比较它们的所有结果和 artifact。 [**实时服务 Pipeline:**](https://docs.mlrun.org/en/stable/serving/serving-graph.html) 使用实时 serverless 技术快速部署可扩展的数据和 ML pipeline,包括 API 处理、数据准备/丰富、模型服务、集成、驱动和衡量操作等。 [**模型监控:**](https://docs.mlrun.org/en/stable/monitoring/index.html) 监控数据、模型、资源和生产组件,并提供一个反馈循环,用于探索生产数据、识别漂移、对异常或数据质量问题发出告警、触发重新训练作业、衡量业务影响等。 [**告警和通知:**](https://docs.mlrun.org/en/stable/concepts/model-monitoring.html) 使用告警来识别并通知您可能出现的问题情况。使用通知来报告运行和 pipeline 的状态。 [**Feature Store:**](https://docs.mlrun.org/en/stable/feature-store/feature-store.html) 自动收集、准备、编目并提供生产数据特征,以最小的工程量用于开发(离线)和实时(在线)部署。
标签:LNA, MLOps, 人工智能, 子域名突变, 机器学习流水线, 生命周期管理, 用户模式Hook绕过, 编排平台, 请求拦截, 逆向工具