news 2026/3/22 4:18:27

使用RAG和FastAPI构建生产就绪的AI智能体

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
使用RAG和FastAPI构建生产就绪的AI智能体

智能体AI已经从玩具级演示转向真实产品的前沿应用:自主研究助手、合规副驾驶、监控仪表板并提交工单的运营机器人,以及连接企业数据的检索增强生成(RAG)副驾驶。

现在的问题不是"我们能让智能体做一次聪明的事情吗?"而是"我们能让智能体每次都可靠、可观测、成本可控且安全吗?"

实现这一目标需要一种全面的、面向生产的方式来构建、保护和扩展智能体AI系统。

本教程将为您提供一个将智能体系统投入生产的实用蓝图。它实现了一个最小化的、面向生产的技术栈,包括:

使用类似LangChain/LangGraph风格的循环进行推理和编排。

RAG向量搜索和重新排序。

护栏机制,如模式验证和允许/拒绝规则。

通过Token计量和追踪实现成本和遥测。

异步执行和超时,防止不稳定的工具阻塞运行。

API接口(FastAPI),可以容器化并部署到任何地方。

该项目涵盖了从推理循环和RAG到护栏、遥测和成本控制的生产工作流程,实现在现实世界环境中可靠、可观测且经济实惠地部署自主AI工作流程。

架构概览

API层(FastAPI):接收任务。

智能体循环:推理-行动-观察,配备结构化工具。

RAG:嵌入→检索→重新排序→合成。

护栏:Pydantic模式,内容过滤器。

成本和遥测:使用日志;支持OpenTelemetry。

异步工具:超时/重试。

缓存(可选):语义缓存以降低成本/延迟。

生产提示:可以将FAISS库替换为Pinecone/Qdrant,并添加opentelemetry-exporter-otlp以实现完整追踪。

异步工具包装器

工具应该是纯函数(或异步),具有清晰的输入/输出。添加超时和重试以防止智能体挂起。

为什么重要:这有助于隔离I/O,添加默认超时并提前截断以控制成本。

RAG检索系统

以下代码将文档嵌入一次,然后在运行时检索top-k结果。添加简单的词汇重新排序来提高质量,而无需额外的模型调用。

生产提示:当延迟预算允许时,将词汇重新排序替换为学习型重新排序器(Cohere/Rerankers)。

输出护栏

确保智能体的最终输出符合模式,并在返回给用户或下游系统之前通过基本策略检查。

为什么重要:模式验证可捕获格式错误的输出;策略过滤器可阻止明显的泄露。

智能体推理循环

以下实现了一个轻量级的React风格循环,包含最大步骤预算、工具调用和Token使用计量。

成本意识默认值:使用更便宜的模型(如gpt-4o-mini)进行规划/工具使用,为关键提示保留高级模型。如果您的软件开发工具包(SDK)提供usage_metadata,请跟踪它。否则,使用tiktoken估算Token计量。

FastAPI应用程序

使智能体可以从前端、定时任务或其他服务调用。添加超时以防请求挂起。

本地运行:

遥测和成本追踪

首先使用简单的日志文件;稍后接入OpenTelemetry/Prometheus。

在agent_run/app.py中使用:

生产提示:导出追踪(opentelemetry-sdk,OTLP)并按路由/用户/工作流程展示Token成本仪表板。

弹性模式

重试:使用指数退避包装工具调用。

降级:如果高级模型失败,降级到较小的模型并标记响应。

语义缓存:对查询和检索到的文档ID进行哈希;如果最近看到过类似的查询-上下文对,则返回缓存响应。

缓存框架:

测试和质量保证

添加快速的大语言模型"LLM作为评判者"对保留数据集进行合理性检查。保持轻量级但可重复。

跟踪各版本的得分;如果指标回归则构建失败。

生产部署

使用小型基础镜像(如python:3.11-slim)容器化,固定依赖项,并为Uvicorn设置--workers。

Kubernetes:CPU/RAM的请求/限制;基于CPU或自定义指标(请求/分钟)的水平Pod自动缩放器。将配置挂载为secrets/ConfigMaps(模型密钥、阈值)。用于OpenTelemetry或FluentBit的边车容器来传输日志。

成本控制:实施每租户预算,默认路由便宜模型,启用缓存,限制最大Token数,并提前截断输入。

安全性:实施内容过滤器(如上述policy_check),对出站响应进行个人身份信息(PII)检测,对关键操作实施人工干预。

核心原则

关注点分离:工具是独立的;智能体循环编排它们。

确定性护栏:模式和策略在输出逃逸前进行把关。

第一天起的可观测性:现在采用基本遥测,稍后完整追踪,无需重写。

成本意识默认值:选择更便宜的模型进行规划、截断、缓存和计量,防止费用失控。

可移植性:FastAPI和容器使其与云无关。准备好扩展时添加Terraform/K8s。

总结

让智能体工作一次很容易。让它可预测、可观测和经济实惠才是真正的工作。这种模式通过计量工具使用、强制形状和安全的护栏、优先考虑相关上下文的RAG,以及可监控和扩展的API来实现这一目标。

从这里您可以:

将FAISS替换为托管向量数据库;添加学习型重新排序。

接入OpenTelemetry并设置服务级目标(p95延迟,答案正确性>X)。

仅在单智能体基线稳定时添加多智能体模式(规划者/执行者/批评者)。

现在构建缓慢移动的部分,这样细节可以稍后发光。

Q&A

Q1:什么是RAG检索增强生成?它在AI智能体中起什么作用?

A:RAG(检索增强生成)是一种技术,它通过嵌入文档、检索相关信息、重新排序结果并合成答案的过程,让AI智能体能够访问和利用外部知识库。在生产环境中,RAG让智能体能够基于企业数据提供更准确、更相关的回答。

Q2:如何确保AI智能体在生产环境中的可靠性和安全性?

A:通过实施多层护栏机制,包括Pydantic模式验证确保输出格式正确,内容过滤器防止敏感信息泄露,以及PII检测保护个人隐私。同时使用异步执行和超时机制防止系统挂起,并实施重试和降级策略确保服务稳定性。

Q3:如何控制AI智能体的运营成本?

A:通过多种策略控制成本:使用便宜的模型(如gpt-4o-mini)进行规划任务,为关键提示保留高级模型;实施Token计量和使用追踪;添加语义缓存减少重复计算;设置每租户预算限制;提前截断过长输入以控制处理成本。

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

主流向量数据库横向对比:选型视角下的全景分析

面向工程实践与技术选型的向量数据库对比指南 一、为什么需要“横向对比” 在进入向量数据库领域后,很多团队会很快遇到一个现实问题: “向量数据库这么多,我该选哪一个?” Milvus、Qdrant、Weaviate、Chroma、PGVector、Elastic…

作者头像 李华
网站建设 2026/3/13 4:39:43

计算机毕业设计springboot防疫物资捐赠 基于Spring Boot的防疫物资管理平台设计与实现 Spring Boot框架下的防疫物资捐赠与管理系统开发

计算机毕业设计springboot防疫物资捐赠_49496(配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。 随着互联网技术的飞速发展,传统防疫物资管理方式的局限性愈发明显。传…

作者头像 李华
网站建设 2026/3/21 3:59:39

2025年8月一区SCI-章鱼优化算法Octopus optimization algorithm-附Matlab免费代码

引言 本期介绍一种新的创新算法——章鱼优化算法Octopus optimization algorithm,OOA。OOA算法利用章鱼的运动来探索搜索空间,寻找优化问题的最优解。该成果于2025年8月最新发表在 JCR 1区,中科院3区期刊 Cluster Computing。 章鱼表现出非凡…

作者头像 李华
网站建设 2026/3/13 10:43:22

【通信原理】卫星地面站与卫星车协同工作原理深度解析

第一章 绪论与背景介绍 背景与意义 在当今信息社会,卫星通信已经成为国家战略性基础设施的重要组成部分。无论是气象预报、地球观测、应急通信,还是远程教育、广播电视,卫星通信系统都扮演着不可或缺的角色。在这个复杂的卫星通信体系中&…

作者头像 李华
网站建设 2026/3/13 13:22:23

基于springboot的教学辅助问答系统 计算机毕业设计选题 计算机毕设项目 前后端分离【源码-文档报告-代码讲解】

🍊作者:计算机毕设匠心工作室 🍊简介:毕业后就一直专业从事计算机软件程序开发,至今也有8年工作经验。擅长Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等。 擅长:按照需求定制化开发项目…

作者头像 李华
网站建设 2026/3/13 7:45:19

【课程设计/毕业设计】基于SpringBoot+Vue宠物领养救助平台的设计与实现基于springboot的宠物领养救助系统【附源码、数据库、万字文档】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华