news 2026/5/11 5:36:37

如何将你的 AI 想法转化为可扩展的产品:技术指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何将你的 AI 想法转化为可扩展的产品:技术指南

原文:towardsdatascience.com/how-to-turn-your-ai-idea-into-a-scalable-product-a-technical-guide-aec143668a8b

如何将你的 AI 想法转化为可扩展的产品:技术指南

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/f0c94e6552eb096cb4c730923b91555e.png

图片由Abhijeet Wankhade在Unsplash提供

你有没有想过一个 AI 驱动的应用程序或数据科学产品的伟大想法?

我知道我有。我在 iPhone 上有一个叫“想法”的笔记,里面有 50 多个想法。

但你如何将你的想法转化为一个具有真实用户群体的可扩展产品?

当然,你可能知道如何开发一个 ML 模型或微调一个 LLM。但如果一个模型如果只停留在 Jupyter 笔记本中或运行在localhost上,对任何人都没有用。

本指南将向你展示如何从想法到生产产品的转变。

如果你是一个想要创业的人或初创公司员工,这将为你提供离开localhost、推出你的产品并开始获取用户所需的知识。

正如你所看到的,构建一个 AI 驱动的产品并没有单一的方法——有许多可能的选择。我的目标不是提倡特定的策略或深入代码,而是从技术架构的角度提供一个广泛的概述。这样,当你阅读展示特定部署策略的博客时,你将拥有知识和信心来批判性地评估该博客,并决定它是否是你的应用的最佳选择。


模型:使用自己的,还是调用别人的?

任何数据/AI 产品的核心是模型。

当我说“模型”时,你可能立刻会想到像 GPT-3.5 这样的大型语言模型或像 GPT-4o 这样的多模态模型。但数据科学远不止于 GenAI,还有许多不同类型的模型。

例如,一个 AI“模型”可以是:

  • 一种像 GPT-3.5 这样的大型语言模型(LLM),用于生成文本

  • 一种机器学习(ML)分类器,根据训练数据中观察到的模式生成数值预测

  • 一种基于历史趋势逐步预测的机器学习时间序列模型

…或者别的什么。你可能还有一个非 AI 模型,尽管如此,它仍然进行了一些聪明的数据科学:

  • 一种优化模型(例如,线性规划模型),为一系列输入生成最佳分组/顺序/解决方案

  • 一种基于规则的/确定性模型,遵循复杂的预定义规则进行分类或决策

我的观点是:有很多可能性!

但无论模型类型如何,构建和部署模型都有三个高级策略:

  1. 在本地构建自己的模型并部署它

  2. 通过 API 调用他人的现有模型(例如,GPT-3.5)

  3. 前两种方法的混合

让我们讨论这些选项。

选项 1:在本地开发自己的模型

如果你需要一个针对你特定数据或任务的定制模型,你可能在你的电脑上(或在 Google Colab 或 Vertex AI 等平台上的托管环境/笔记本中)本地开发自己的模型。

例如,你可能:

  • 训练一个用于特定任务,如手机价格预测的 LightGBM 回归器

  • 微调预训练的 RoBERTa 分类器,

  • 微调开源的 LLM,如 Llama-3,或者

  • 构建 梦幻足球优化算法

所有这些共同之处在于,在训练/微调你的自定义模型之后,你最终会得到一个包含你的模型(例如,model.txt)或参数的文件。

为了让你的自定义模型有用,你现在必须定期运行该模型并生成新的预测/输出。

有几种方法可以实现这一点。

将模型作为独立的“微服务”部署

一种策略是在网络上使用 Python 框架(如 FastAPI、Flask 或 Django Rest Framework)将你的模型作为其自己的微服务部署。

例如,你可以在 FastAPI 应用程序中包装你的模型,并在 AWS、Render 或 Heroku 等服务上部署它。其他人可以通过向应用程序端点发出 API 调用来与你的模型交互。

如果用户想要直接与你的部署应用程序交互(例如,从他们的终端/笔记本发送 cURL 请求到你的应用程序),设置将如下所示:

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/616a7bd710cc95dde276fcc5d54a106f.png

图片由作者提供

然而,更有可能的是,你希望有一个友好的用户界面,使用户能够间接地与你的模型/应用程序交互(通过另一个具有良好视觉界面的应用程序/网站):

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/6d174e593b80dc31735c34e068566fe5.png

图片由作者提供

如果你想要一个更详细的关于此策略实施的示例,我强烈推荐以下教程,它展示了如何使用 FastAPI、Heroku 和 Docker 部署基本的 scikit-learn 模型。

使用 Sklearn、FastAPI 和 Docker 提供机器学习模型

用户可以通过向/predict路径发送 GET 请求来让模型生成预测,之后模型会返回预测结果。

将模型直接集成到你的单体应用程序中

对于小型模型,将独立应用程序部署以托管你的模型有时可能是过度设计。一种替代策略是将模型直接集成到你的主要应用程序中(一个“monolith-first”架构)。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/50d1ae962576c3bf5ecbe13d85c6ecf4.png

图片由作者提供

(只需小心你的模型不要太庞大:它可能会让你的整个应用程序停滞/崩溃。)

这是一个将机器学习模型直接集成到 Django 应用程序中的好例子:

使用 Django 创建基于机器学习的网络应用程序

在本地/离线运行模型,并将输出保存到数据库中

有时在网络上“生产化”一个模型可能是过度设计,而定期在本地运行你的模型并将其输出发送到数据库是完全足够的。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/cbc387f418a4b61441fcac7cca46d50f.png

图片由作者提供

这可能听起来像是一种低技术含量的策略,但不要将低技术含量误认为是低价值。

这是独立创业者 Pieter Levels 在他的初创公司 PhotoAI 早期所做的事情 。他的用户通过 TypeForm 将照片上传到他的数据库,他下载了这些照片并手动通过他的本地模型进行处理,然后将输出发送回用户。

这听起来是不是很聪明?

技术上的麻烦很少(非常适合验证想法),用户仍然可以与你的模型进行交互。只是这种交互是通过存储模型输出的数据库间接进行的,而不是通过模型的 API 端点直接进行。

将模型在线作为一个无服务器函数运行(例如,通过 AWS Lambda 或 GitHub Actions

这个选项是介于前面策略之间的一种折中方案。

实质上,这涉及到创建一个score.py文件(或等效文件),使用你的model.txt文件生成预测,并将两者部署到 GitHub 或 AWS Lambda 等平台,并设置 cron 作业以定期运行score.py脚本。这里的模型是“在线”的,意味着你不需要在本地运行它(它是在远程服务器上定期运行的),但你并不是将模型作为应用程序/网络服务部署,它也不通过 API 提供访问。我之前的文章详细介绍了如何进行这一操作:

使用 GitHub Actions 部署 LightGBM 机器学习模型

这是不是最佳选择?说实话,这取决于你的应用程序。我个人非常推崇 GitHub Actions 策略,因为它是一种快速且低维护的部署模型的方法,但不同的应用程序会有不同的需求。只需记住:

不要将低技术含量误认为是低价值。

选项 2:调用他人的模型

并非所有 AI 产品都需要定制模型。

通常,使用一些巧妙的提示向通用的预训练模型(如 GPT-4o 或 Claude 3.5 Sonnet)发送请求就足够了:

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/001f87621742902dc0fc519553f26b8c.png

作者图片

使用公共模型的主要优势是您不需要自己托管或监控模型。您只需在主应用程序中向模型发出 API 调用,并通过提供商的仪表板(例如,OpenAI 的使用仪表板)监控您的应用程序使用情况。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/ca74387ef414469161d7decbf1fdf38c.png

一个示例使用仪表板。图片来自 OpenAI

这个设置非常适合您只想关注应用程序本身,而不是构建超级定制的模型或担心它们的部署。这是使用 GPT-3.5、Django 和 HTMX 实现此方法的绝佳示例。

选项 3:混合选项

远程微调

微调通常在本地(或托管笔记本中)进行,让您直接访问微调后的模型文件。

然而,对于某些平台/模型,在微调后,您将无法访问原始模型文件。一个例子是 OpenAI。

这种方法比选项 1 和 2 少见,但仍然是一个选择。如果您确实想探索在 OpenAI 等平台上微调模型,您只需像调用通用的托管 LLM(如 GPT-3.5 或 4)一样通过 API 调用这些微调模型。

将链部署为独立应用程序

如果您想使用像 GPTs 这样的预训练模型构建复杂的流程/链,那么将链部署为独立应用程序(而不是直接从您的应用程序中调用模型)可能是有意义的。

这个例子很好地说明了这一点。开发者从复杂的 LangChain 工作流程中调用 OpenAI 模型,然后通过 FastAPI 将链部署为独立应用程序。

哪个选项适合我?

说实话,这取决于。我并不是随便说说。我说这个是因为,嗯,这取决于!

如果您想尽快让某事启动并部署您的应用程序,通过 API 调用他人的模型(或者使用 FastAPI 将您自己的模型作为 API 部署)是一个非常好的选择。这是将您的应用程序快速推向世界、让全世界看到的最快方式,并且这是数据科学家们不愿意与前端框架和复杂的部署管道纠缠在一起时常用的方法。这是我个人开始许多新项目的方法——使用像 FastAPI 或 Django 这样的极简框架让某事启动运行,然后一旦应用程序的基本框架工作起来,再考虑前端和应用逻辑。

最后一条建议:不要过度设计。机器学习项目的真正目标不是“部署一个模型”,而是要创造一些有用的东西,为此,它必须被使用。换句话说,您必须获得用户!这是我在我的 SQL 教程网站 theSQLgym 上采取的方法——我先让基本项目启动运行,然后根据真实用户的反馈,在应用程序运行时迭代改进应用程序。

下一步

这篇指南主要关注如何部署/生产化模型,但一个应用程序远不止模型那么简单。如果您对学习人工智能应用程序的全栈开发(例如,如何开发网站)感兴趣,您可能会对我的上一篇文章感兴趣:

为什么(以及如何)作为一名数据科学家学习网页开发

就这些!

感谢阅读。希望您觉得这篇文章有帮助,并且可以自由地通过 Twitter 或 LinkedIn 与我联系! 🙂

还有一件事

我在 MakePage.org 上制作网站模板。如果您正在寻找新的作品集模板,不妨去看看!

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/b36bf8472f965714b8892eb446d671c5.png

图片由作者通过 MakePage.org 提供

下次再见 😃

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 13:42:56

慧荣SM2246XT固态硬盘故障修复完整指南

慧荣SM2246XT固态硬盘故障修复完整指南 【免费下载链接】慧荣主控SM2246XT-MPTool开卡量产工具 本仓库提供了一个针对慧荣主控SSD(SM2246XT)的开卡工具多版本打包资源文件。该工具是专门为慧荣SMI SM2246XT芯片设计的,适用于固态硬盘出现故障…

作者头像 李华
网站建设 2026/5/1 4:38:49

单方面删除好友后,如何悄悄加回且不留痕迹?

在社交软件日益成为人际沟通主要渠道的今天,删除好友这个操作变得越来越普遍。可能是一时冲动,可能是赌气,也可能是误操作。但当冷静下来后,很多人都会后悔,想要重新加回对方,却又担心被发现,或…

作者头像 李华
网站建设 2026/5/2 21:23:59

Statsmodels ARCH模型完全指南:金融波动率预测终极教程

Statsmodels ARCH模型完全指南:金融波动率预测终极教程 【免费下载链接】statsmodels Statsmodels: statistical modeling and econometrics in Python 项目地址: https://gitcode.com/gh_mirrors/st/statsmodels Statsmodels是Python中功能强大的统计建模库…

作者头像 李华
网站建设 2026/5/2 3:26:04

智能旅行规划系统:基于深度学习的个性化行程生成方案

智能旅行规划系统:基于深度学习的个性化行程生成方案 【免费下载链接】open-r1 Fully open reproduction of DeepSeek-R1 项目地址: https://gitcode.com/gh_mirrors/open/open-r1 引言 在当今数字化时代,传统旅游应用面临着推荐同质化、规划流程…

作者头像 李华
网站建设 2026/5/10 1:54:30

苹果设备本地AI大模型部署终极指南:Qwen3-32B完整教程

还在为云端AI服务的高延迟和隐私担忧吗?现在,你可以在自己的Mac上运行320亿参数的强大AI模型!Qwen3-32B通过MLX框架的深度优化,让苹果芯片的AI算力得到全面释放。 【免费下载链接】Qwen3-32B-MLX-6bit 项目地址: https://ai.gi…

作者头像 李华
网站建设 2026/5/6 18:33:20

DataEase跨数据源联合查询:企业数据孤岛的终极解决方案

你是否正在为数据分散在不同系统而头痛不已?销售数据在MySQL、用户行为在ClickHouse、库存信息在PostgreSQL,想要一张报表展示完整业务链路却无从下手?别担心,DataEase的跨数据源联合查询功能将彻底解决你的烦恼!&…

作者头像 李华