Building Data Science Applications with FastAPI
作者: François Voron
语言: 英文
出版年份: 2021
编程语言: Python
下载链接:
书籍均收集自互联网,仅供学习和研究使用,请莫用于商业用途。谢谢合作。

书籍摘要

《Building Data Science Applications with FastAPI》(第二版,2023年出版)是一本面向数据科学家和软件开发者的实用指南,旨在教授如何使用FastAPI这一现代Python框架构建高效、可扩展的数据科学应用和机器学习API后端。全书以实践为导向,结合丰富的代码示例,系统性地介绍了从Python基础、FastAPI核心功能到数据科学系统部署与监控的完整知识体系。

一、书籍结构与作者团队

作者:François Voron,拥有机器学习和数据挖掘硕士学位,是全栈Web开发者和数据科学家,同时也是FastAPI生态中排名第一的身份验证库FastAPI Users的创建者和维护者。

审阅者团队:包括Izabela dos Santos Guerreiro、Prajjwai Nijhara和Akshat Gurnani等,均为在Python、机器学习及FastAPI领域有深厚背景的专家,确保了书籍内容的技术深度与准确性。

二、内容概览与三部曲结构

全书共分为三大部分,循序渐进地引导读者掌握构建数据科学应用的完整技能栈。

第一部分:Python与FastAPI入门

本部分为读者打下坚实的Python编程与FastAPI开发基础。

  • 第1章:详细讲解Python开发环境的搭建,包括使用pyenv管理Python版本、创建虚拟环境、使用pip安装依赖包以及安装HTTPie命令行工具。
  • 第2章:深入介绍Python编程的特性,涵盖基础语法、数据结构、控制流、函数、模块、列表推导式、生成器、面向对象编程、类型提示以及异步I/O等核心概念。这些知识是理解FastAPI工作原理的基础。
  • 第3章:FastAPI核心功能入门。指导读者创建第一个RESTful API端点,并详细讲解如何处理路径参数查询参数请求体(包括JSON、表单数据和文件上传)、请求头Cookie,以及如何自定义HTTP响应抛出HTTP错误结构化大型项目(使用多个路由器)。
  • 第4章:深入探讨FastAPI底层数据验证库Pydantic。内容包括定义数据模型、字段类型、可选字段与默认值、使用Field进行验证、利用类继承创建模型变体,以及如何编写字段级和对象级的自定义验证逻辑。
  • 第5章:讲解FastAPI强大的依赖注入系统。介绍如何创建和使用函数依赖、参数化的类依赖,以及如何在单个端点、整个路由器和全局应用级别应用依赖,从而实现逻辑复用(如认证、分页、对象检索等)。

第二部分:使用FastAPI构建与部署完整的Web后端

本部分将所学知识应用于构建一个功能齐全的后端系统。

  • 第6章:数据库与异步ORM。对比关系型与NoSQL数据库,介绍如何使用SQLAlchemy ORM异步操作SQL数据库,以及如何使用Motor连接MongoDB。
  • 第7章:FastAPI中的认证与安全管理。涵盖用户密码安全存储、哈希处理、实现注册/登录端点、生成访问令牌、使用令牌保护端点,以及配置CORS和防御CSRF攻击。
  • 第8章:使用WebSocket实现双向交互通信。讲解WebSocket原理,如何在FastAPI中创建WebSocket连接、处理并发以及广播消息。
  • 第9章:使用pytestHTTPX对API进行异步测试。介绍单元测试基础、创建测试固件以及为FastAPI设置测试工具。
  • 第10章:FastAPI项目部署。讲解环境变量管理、使用Docker容器化应用(编写Dockerfile、使用Gunicorn)、以及在无服务器平台和传统服务器上的部署策略。

第三部分:使用FastAPI构建弹性且分布式的数据科学系统

本部分聚焦于如何将机器学习模型高效集成到FastAPI应用中,并构建可监控的生产级系统。

  • 第11章:Python数据科学简介。快速回顾机器学习概念,并介绍核心库NumPy、pandas和scikit-learn的基本用法,包括模型训练、验证和流水线构建。
  • 第12章:创建高效的预测API端点。介绍如何使用Joblib持久化训练好的模型,并将其集成到FastAPI中,同时考虑缓存策略和同步/异步函数的选择以优化性能。
  • 第13章:使用WebSocket实现实时目标检测系统。展示如何结合FastAPI WebSocket和Hugging Face的预训练计算机视觉模型,在浏览器中实现实时的图像目标检测。
  • 第14章:使用Stable Diffusion模型创建分布式文生图AI系统。由于图像生成是计算密集型任务,本章演示如何构建一个分布式系统,使用Dramatiq任务队列在后台执行计算,并通过REST API与前端交互,实现图片生成、存储和共享。
  • 第15章:监控数据科学系统的健康与性能。讲解如何利用Loguru配置日志系统,以及使用Prometheus和Grafana收集、暴露和可视化应用指标(如性能、健康状态),从而构建健壮、可观测的生产就绪系统。

三、目标读者与学习前提

本书适合已经掌握数据科学和机器学习基础概念,并具备一定Python应用能力的数据科学家软件开发者。希望通过学习FastAPI及其生态系统,能够高效构建和部署数据科学应用程序。

学习前提:需要具备Python基础,并准备好Python 3.10+的开发环境。部分章节(如第14章运行Stable Diffusion)对计算资源(建议16GB RAM和现代NVIDIA GPU)有较高要求。

四、总结

《Building Data Science Applications with FastAPI》不仅仅是一本FastAPI框架教程,更是一部全栈数据科学应用开发指南。它巧妙地将现代Python开发实践、高性能Web框架、数据库交互、安全认证、异步编程、机器学习模型集成、系统部署与监控等多个关键领域融为一体。通过循序渐进的讲解和两个完整的AI项目(实时目标检测和文生图系统),读者能够切实掌握从零开始构建、测试、部署和维护一个专业级数据科学后端服务的完整能力。本书强调代码可读性类型安全性能优化生产就绪,是希望利用FastAPI构建高效、可靠数据科学API的开发者的宝贵资源。

期待您的支持
捐助本站