摘要:选择合适的工具来完成一项任务,可能意味着几分钟就能完成,几个小时就能完成。然而,在构建 AI SaaS 时,可供选择的工具太多了,以至于不知从何入手可能会让人不知所措。在本文中,我将分享我(作为一名前数据科学家)正在使用的 AI 产品技术栈。
选择合适的工具来完成一项任务,可能意味着几分钟就能完成,几个小时就能完成。然而,在构建 AI SaaS 时,可供选择的工具太多了,以至于不知从何入手可能会让人不知所措。在本文中,我将分享我(作为一名前数据科学家)正在使用的 AI 产品技术栈。
虽然构建 AI SaaS 从未如此简单,但阻碍创始人前进的并非工具的匮乏,而是工具的匮乏。每个月,似乎都会有新的工具、技术或模型来捕捉科技新闻的周期。
但我的经验是:最成功的独立创业者并非那些使用最新潮工具的人。他们是那些运用自己所熟知的知识,并且比其他人行动更快的人。
在这里,我将分享我作为一个从数据科学转型到(独立)产品开发的人的感受。我的目标并非说这是最好的技术栈,而是分享一些对我有用的经验,希望能帮助到那些有类似背景的人。
我的应用程序:y2b、Ghst
1、语言我在构建我的第一个 AI 应用程序时遇到的困境是,我没有使用过标准的 Web 开发技术栈(例如 HTML、CSS、JS、Typescript、React)。我只懂 Python。
所以我有两个选择:花几个月时间学习它们,或者弄清楚如何使用 Python 构建网站。为了遵循独立黑客大师 Pieter Levels 的建议“用你所知道的去构建”,我选择了后者。
但是怎么做呢?FastHTML 来了。
FastHTMLFastHTML 是一个 Python 库,可以让你构建现代 Web 应用。你用 Python 编写所有代码,然后 FastHTML 会将你的代码转换为所有互联网浏览器都能理解的 HTML 和 CSS。
FastHTML 的一大优势是你可以将它与大多数前端工具(例如 Tailwind CSS 和 daisyUI)结合使用。
Tailwind CSSTailwind 是一个带有自定义类的 CSS 框架,可以帮助你更快地构建现代网站。许多 UI 组件库都是基于 Tailwind 构建的,所以如果你不是前端开发者(比如我),你可以使用其中一个来让你的工作更轻松。
daisyUI我使用的 UI 组件库是 daisyUI。它自带预置的主题和组件,让我即使不是设计师也能构建出不难看的网页(比如这个)。
FastHTMLFastHTML 的另一个优点是,你可以用它来构建前端和后端。它的工作原理与 FastAPI 非常相似,因此你可以为常规 Python 函数添加 @rt 装饰器,将其转换为网页或端点。
OpenAIAI 应用的关键部分在于其所使用的模型。我目前正在使用 OpenAI 的 API,它包含了所有模型(当然)、易于集成的代理工具、结构化输出和自动日志记录。
SQLite对于存储,我使用 SQLite,这是一个轻量级(也就是快速)的数据库,位于应用程序目录中。虽然这不是一个可扩展的解决方案(超过 10,000 个用户),但如果我不幸遇到这个问题,我可以随时将数据库迁移到更具可扩展性的版本。
在此之前,坚持使用 SQLite 让我能够保持简洁、经济和快速。
2、开发Cursor如果不使用 AI 辅助编程,你的开发速度会比没有 AI 辅助编程慢 5 到 10 倍。虽然现在有很多方法可以做到这一点,但我目前使用的是 Cursor,这是一款将 AI 直接集成到 UI 中的 IDE。
uv长期以来,我一直使用 pip 和 Python 的原生虚拟环境来管理 Python 项目。不过,最近我改用了 uv,我的工作质量得到了提升。
它不仅速度非常快,还能自动详细记录项目的依赖关系,因此你无需担心可重复性(尤其是在推送到生产环境时)。
Jupyter Lab让 AI 系统发挥作用的关键在于实验。对于这类工作,我喜欢 Jupyter Notebook,因为它们可以轻松探索和迭代系统设计方案。
虽然你可以在 Cursor(以及大多数 IDE)中运行 Jupyter 笔记本,但我个人更喜欢 Jupyter Lab 的用户界面(可能是因为我用过太多了)。
3、部署RailwayRailway 是一个基础设施平台,可以轻松地在云端托管你的应用。在经历了 GCP 和 AWS 的折腾之后,Railway 终于让我感受到了我一直认为的云应该有的简洁。
GitHubRailway(与许多其他基础设施服务一样)可以非常轻松地从 GitHub 代码库部署应用。这让我的工作流程变得非常顺畅:
在本地进行更改 --> 推送到 GitHub --> 自动部署到生产环境
4、服务Canva虽然 Canva 不是一个开发工具,但它是我技术栈的重要组成部分。在编写任何代码之前,我会在 Canva 中做两件事:
创建品牌模板,例如设计徽标、选择字体和颜色创建前端模型这与尝试使用代码相比,s 让我能够更快地进行设计迭代。此外,一旦我完成了网站模型,我就可以将其交给法学硕士 (LLM)(通过 Cursor),这通常会为实施提供一个良好的起点。
Cloudflare我使用 Cloudflare 注册和管理我的域名。他们以成本价出售域名(许多网站并非如此),并且可以无缝地将它们连接到您的托管平台。
KitKit 允许您创建和管理电子邮件列表。由于我已经将它用于我的个人新闻通讯,因此我决定也将其用于我的下一个 AI 应用的候补名单。
Stripe我使用 Stripe 来接受付款和管理订阅。它是我见过的 SaaS 创始人中最常用的支付处理器,而且我已经在其他企业中使用 Stripe,因此使用它是一个很自然的选择。
Google Analytics为了跟踪用户如何与我的应用互动以及他们所在的位置,我使用 Google Analytics。这是一款免费工具,我之前在网站上用过,它让我能够将所有网站分析数据都集中在一个地方。
5、结束语SaaS 成功的秘诀在于找到符合你经验的技术栈并坚持使用。这能让你尽快构建和迭代。
在这里,我分享了作为一名数据科学背景人士,我是如何看待这个技术的。虽然市面上有无数的工具可供选择,但我希望本文能让你对理想的技术栈有所了解。
来源:武信忠正