趋近智
在机器学习模型训练并保存之后,接下来的挑战通常是:外部应用程序(例如一个网络应用或另一项服务)如何实际使用该模型来获取预测结果?直接访问存储 model.pkl 或 model.joblib 文件的文件系统通常不是一个可行的方法。相反,不同软件组件之间需要一种明确的通信方式。这正是应用程序编程接口(API)所要解决的问题。
可以将API视为一种约定或一套规则,它允许一个软件组件向另一个组件请求服务或数据。它规定了可以提出哪些类型的请求、如何提出请求、应使用的数据格式以及预期会收到哪些响应。
想象一下您在一家餐馆里。您(客户端应用程序)想要食物(一个预测结果)。您不会直接进入厨房(模型逻辑)开始烹饪。相反,您会与服务员(API)互动。
在这个类比中:
在网络服务的背景下,API通常使用超文本传输协议(HTTP),这与您的网络浏览器获取网页所用的协议相同。当我们构建预测服务时,我们通常会创建一个网络API。这意味着我们的模型将通过网络在特定的URL(通常称为端点)上监听传入的请求。
A客户端应用程序向特定的端点发送HTTP请求。此请求通常包含:
POST(常用于发送数据以创建或更新内容,适合发送用于预测的输入特征)或 GET(通常用于获取数据)。http://yourserver.com/predict)。托管API的服务器接收此请求,处理输入数据,可能会加载已保存的模型,将数据提供给模型以获得预测结果,然后将HTTP响应发送回客户端。此响应通常包含预测结果,同样常格式化为JSON。
一个简单的交互流程:客户端通过HTTP请求向API服务器发送输入数据,服务器使用已保存的模型生成预测结果,并通过HTTP响应将其发送回去。
为什么这对于机器学习部署很有用?
在本章中,我们将侧重于使用Flask(一个流行且轻量级的Python网络框架)来构建这样的网络API。您将学会如何创建端点、处理传入数据、加载您之前保存的模型、生成预测结果,并将这些预测结果作为响应发送回去。这个API将作为您的训练模型与需要其功能的应用程序之间的桥梁。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造