本书是由 Ryan Day 撰写,O'Reilly Media 于 2025 年出版的一本实践指南,旨在帮助读者掌握在人工智能和数据科学项目中构建和使用 API 的核心技能。本书以 Python 和 FastAPI 为核心技术栈,通过三个逐步深入的组合项目,引导读者从 API 的设计、开发、部署,到作为消费者在数据分析和 AI 应用中调用 API,提供了一个完整的端到端学习路径。
全书分为三个部分,每个部分都构建一个独立的组合项目,并最终汇聚成一个展示个人技术能力的作品集。
第一部分:为数据科学构建 API
这一部分聚焦于 API 的开发,即“生产者”的视角。你将扮演一家名为 SportsWorldCentral 的梦幻体育网站的开发人员,为其数据科学用户设计和实现一个功能完善的 RESTful API。
- 核心技术与实践:你将学习如何使用 FastAPI 框架快速构建高性能 API,利用 Pydantic 进行数据验证和序列化,并通过 SQLAlchemy 作为 ORM 与 SQLite 数据库进行交互。你还会学习如何为 API 编写单元测试,生成 OpenAPI Specification (OAS) 文档,并利用内置的 Swagger UI 和 ReDoc 提供交互式文档。
- 部署与 SDK 创建:你将学习如何将 API 容器化(使用 Docker)并部署到云平台(如 Render 和 AWS Lightsail)。作为点睛之笔,你将创建一个 Python 软件开发工具包 (SDK),并将其打包发布,使其他 Python 开发者能更便捷、更可靠地调用你的 API。这部分内容贯彻了为数据科学家设计 API 的最佳实践,例如提供标准化的外部标识符、支持批量下载和按最后更改日期查询。
第二部分:在数据科学项目中使用 API
这部分将视角切换到“消费者”,你将学习如何将已构建的 API 作为数据源,集成到典型的数据科学工作流中。
- 数据探索与分析:你将使用 Jupyter Notebook 调用 API 获取数据,并利用 pandas 库进行数据处理和分析。通过一个创建“鲨鱼联赛得分”的实例,你将学习如何将 API 数据转化为有意义的、可量化的自定义指标,并理解数据准备、建模和评估的 CRISP-DM 流程。
- 数据管道与自动化:你将学习使用 Apache Airflow 构建数据管道,实现从 API 定期提取数据、进行转换并加载到本地分析数据库的自动化流程。这包括创建有向无环图 (DAG)、管理任务依赖和处理增量更新。
- 构建交互式数据应用:你将使用 Streamlit 框架快速构建一个交互式 Web 应用,用于展示 API 数据。你将创建多页面应用,并利用
nfl_data_py 等外部数据源对 API 数据进行补充和丰富,最终生成可视化图表,将你的分析成果以直观、可共享的方式呈现出来。
第三部分:在人工智能中使用 API
这部分探索了 API 与 AI,特别是与大型语言模型 (LLM) 结合的前沿领域。
- 部署机器学习模型为 API:你将使用 scikit-learn 训练一个机器学习模型(预测球员竞价),然后利用 ONNX 格式将模型标准化,并使用 FastAPI 将其部署为一个可实时提供推理服务的 API。
- 构建 AI 智能体:你将学习使用 LangChain 和 LangGraph 框架创建智能体。你将首先体验如何通过 API 调用 LLM(如 Anthropic 的 Claude),然后反过来,为智能体创建一个可以调用你之前构建的 SWC API 的工具包。智能体将能理解用户的自然语言问题,并自主决定何时、以何种方式调用 API 来获取信息以回答问题,这展示了检索增强生成 (RAG) 和智能体应用的基本原理。
- 使用 ChatGPT 自定义动作:最后,你将学习如何利用 OpenAI 的 ChatGPT 创建自定义 GPT。你将为自己的 API 定义一个自定义动作,将 API 的 OpenAPI 规范文件导入,使 GPT 能够在对话中直接调用你的 API 来获取最新数据,从而克服模型的知识局限,实现功能强大的低代码 AI 应用。
总而言之,《Hands-On APIs for AI and Data Science》是一本强调动手实践的技术书籍。它没有停留在理论层面,而是通过一个连贯的、充满趣味的梦幻体育故事线,将 API 开发、数据科学应用开发和 AI 应用开发这三个关键领域紧密地结合在一起。无论你是希望提升 API 开发技能的数据科学家,还是希望让 API 更好地服务于 AI 应用的开发者,都能从本书的实践项目中获得宝贵的经验,并最终构建出属于自己的、令人印象深刻的组合项目。