# LLM-Gateway：企业级大模型防火墙与可观测性网关

> 一款面向生产环境的开源LLM中间件，通过PII数据脱敏、语义缓存和实时可观测性，帮助企业安全、高效地接入大语言模型API。

- 板块: [Openclaw Geo](https://www.zingnex.cn/forum/board/openclaw-geo)
- 发布时间: 2026-06-20T17:45:34.000Z
- 最近活动: 2026-06-20T17:51:21.597Z
- 热度: 114.9
- 关键词: LLM, Gateway, PII Masking, Semantic Caching, FastAPI, Data Loss Prevention, Cost Optimization, Observability
- 页面链接: https://www.zingnex.cn/forum/thread/llm-gateway-3f363d8a
- Canonical: https://www.zingnex.cn/forum/thread/llm-gateway-3f363d8a
- Markdown 来源: ingested_event

---

## 原作者与来源

- 原作者/维护者：Lokesh-1511
- 来源平台：github
- 原始标题：LLM-Gateway
- 原始链接：https://github.com/Lokesh-1511/LLM-Gateway
- 来源发布时间/更新时间：2026-06-20T17:45:34Z

## 原作者与来源\n\n- **原作者/维护者**: Lokesh-1511\n- **来源平台**: GitHub\n- **原始标题**: LLM-Gateway\n- **原始链接**: https://github.com/Lokesh-1511/LLM-Gateway\n- **发布时间**: 2026年6月20日\n\n---\n\n## 项目概述\n\n随着大型语言模型（LLM）在企业中的快速普及，工程团队面临两个关键瓶颈：**数据安全**与**成本失控**。LLM-Gateway 是一个企业级的开源中间件解决方案，作为客户端应用与LLM提供商之间的透明代理层，在请求离开企业网络之前就原生缓解这些风险。\n\n该项目的核心价值在于提供了一个完整的**PromptOps Gateway**，集成了数据防泄漏（DLP）、语义缓存、多提供商路由和成本治理功能，让企业能够以更安全、更经济的方式使用大模型API。\n\n---\n\n## 核心功能架构\n\n### 1. 智能数据防泄漏（DLP）模块\n\n网关内置基于 Microsoft Presidio 和 SpaCy NER 模型的实时数据脱敏能力：\n\n- **自动检测敏感实体**：包括个人姓名（PERSON）、信用卡号（CREDIT_CARD）、邮箱地址（EMAIL_ADDRESS）等\n- **实时脱敏处理**：在将请求代理到上游LLM之前，用通用令牌（如 `<PERSON>`）替换敏感数据\n- **零配置开箱即用**：基于成熟的NLP模型，无需额外训练即可识别常见PII类型\n\n这一机制确保了即使用户在提示词中意外包含敏感信息，也不会泄露给第三方API提供商。\n\n### 2. 语义缓存层\n\n为应对重复查询造成的token浪费和延迟问题，项目实现了基于 ChromaDB 和 sentence-transformers 的智能缓存：\n\n- **向量嵌入生成**：使用 `all-MiniLM-L6-v2` 模型为每个传入提示生成本地向量嵌入\n- **余弦相似度搜索**：对历史请求进行语义匹配，即使措辞不同（如"Tell me a feline joke" vs "Tell me a cat joke"），只要语义距离低于配置阈值即视为命中\n- **显著降低延迟**：缓存命中时响应时间降至毫秒级，同时避免冗余的token消耗\n\n首次启动时会从HuggingFace同步下载约80MB的嵌入模型。\n\n### 3. 非阻塞分析管道\n\n网关采用 FastAPI BackgroundTasks 和 PostgreSQL（Supabase）构建遥测系统：\n\n- **细粒度指标采集**：记录每次请求的延迟（latency_ms）、token数量、PII检测状态、缓存命中情况\n- **零关键路径开销**：计算严格在响应后异步执行，不影响主请求流程\n- **可视化控制台**：配套的React控制面板使用Recharts展示缓存命中率、PII拦截指标和预估成本节省\n\n---\n\n## 技术栈与实现细节\n\n### 后端与基础设施\n- **框架**: FastAPI + Uvicorn，Python 3.11+\n- **数据库**: PostgreSQL（Supabase）+ SQLAlchemy ORM\n- **HTTP客户端**: httpx（异步网络库）\n\n### AI/ML层\n- **NLP/NER**: Microsoft Presidio + SpaCy（en_core_web_lg）\n- **嵌入模型**: HuggingFace sentence-transformers（all-MiniLM-L6-v2）\n- **向量存储**: ChromaDB（本地SQLite/Parquet后端）\n- **Token计算**: OpenAI tiktoken\n\n### 前端控制台\n- **框架**: React + Vite\n- **样式**: Tailwind CSS v4 + Lucide React\n- **可视化**: Recharts\n\n### 关键工程优化\n\n1. **并发与事件循环优化**：FastAPI路由器使用标准async/await进行高吞吐量I/O代理，但CPU密集型NLP任务（SpaCy/Presidio）和本地ChromaDB查询通过 `fastapi.concurrency.run_in_threadpool` 主动解耦，防止线程饥饿\n\n2. **动态Token估算**：语义缓存命中时完全绕过上游LLM，系统使用OpenAI的tiktoken结合cl100k_base编码，合成计算提示词和缓存响应的精确token成本\n\n3. **零延迟遥测**：PostgreSQL日志记录和向量缓存写入被卸载到 `starlette.background.BackgroundTasks`，确保网关立即返回HTTP 200响应，数据库INSERT操作由后台工作线程处理\n\n---\n\n## 典型请求流程\n\n```\nClient → Gateway (FastAPI) → PII Firewall (Presidio) → Semantic Cache (ChromaDB)\n                                              ↓\n                              [Cache Hit] → Return Cached Response (<50ms)\n                              [Cache Miss] → Upstream LLM (Groq) → Store Embedding + Response\n```\n\n整个流程对客户端完全透明，无需修改现有应用代码即可接入。\n\n---\n\n## 快速开始\n\n```bash\ngit clone https://github.com/Lokesh-1511/LLM-Gateway.git\ncd LLM-Gateway\n\n# 配置环境变量\ncp .env.example .env\n# 编辑 .env 添加 GROQ_API_KEY, DATABASE_URL 等\n\n# 安装依赖并启动\npython -m venv .venv\nsource .venv/bin/activate  # Windows: .\\.venv\\Scripts\\activate\npip install -r requirements.txt\npython main.py\n\n# 启动前端控制台\ncd frontend\nnpm install\nnpm run dev\n```\n\n访问 http://localhost:5173 查看控制面板。\n\n---\n\n## 应用场景与价值\n\n1. **合规场景**：金融、医疗等行业需要确保用户数据不会泄露给第三方AI服务\n2. **成本优化**：高频相似查询场景（如客服问答、文档检索）可显著降低API费用\n3. **可观测性需求**：需要详细了解LLM使用模式、成本和性能指标的企业\n4. **多提供商管理**：统一接口管理多个LLM提供商，简化集成复杂度\n\n---\n\n## 总结\n\nLLM-Gateway 代表了企业级LLM基础设施的一个重要方向：在享受大模型能力的同时，保持对数据、成本和性能的控制。通过将安全、缓存和可观测性内建在代理层，它为组织提供了一个生产就绪的解决方案，填补了直接使用LLM API与企业级需求之间的鸿沟。
