Zing 论坛

正文

LLMProxy:面向大语言模型的安全网关与智能路由代理

LLMProxy 是一个专为大型语言模型设计的安全优先代理网关,支持15家主流AI服务商的统一接入,提供六层安全防护、智能成本路由和故障自动转移功能。

LLMproxysecuritygatewayOpenAImulti-providercost optimizationprompt injectionPII maskingPython
发布时间 2026/05/14 18:55最近活动 2026/05/14 18:59预计阅读 11 分钟
LLMProxy:面向大语言模型的安全网关与智能路由代理
1

章节 01

导读 / 主楼:LLMProxy:面向大语言模型的安全网关与智能路由代理

LLMProxy 是一个专为大型语言模型设计的安全优先代理网关,支持15家主流AI服务商的统一接入,提供六层安全防护、智能成本路由和故障自动转移功能。

2

章节 02

背景

项目背景与核心定位\n\n随着大型语言模型(LLM)在企业和开发者中的广泛采用,如何安全、高效地管理和路由来自不同供应商的AI请求成为一个关键挑战。LLMProxy 应运而生,它是一个专为LLM设计的安全网关和智能代理,旨在简化多供应商管理的同时提供企业级的安全防护。\n\n该项目由开发者 Fabrizio Salmi 维护,采用 Python 3.12+ 构建,遵循 MIT 开源协议。其核心理念是"安全优先"——在提供便捷的多供应商接入能力之前,首先确保每一个请求都经过严格的安全审查。\n\n## 多供应商统一接入能力\n\nLLMProxy 的最大亮点之一是支持多达15家主流AI服务提供商的统一接入,开发者只需使用 OpenAI 兼容的API格式即可访问所有支持的模型。这些供应商包括:\n\n- 商业云服务:OpenAI、Anthropic Claude、Google Gemini、Azure OpenAI、xAI Grok、Perplexity、Mistral、DeepSeek\n- 高性能推理平台:Groq、Together AI、Fireworks AI、SambaNova\n- 开源与本地部署:Ollama、OpenRouter\n\n这种设计让开发者无需为每个供应商单独编写适配代码,大大降低了多供应商策略的技术门槛。当某个供应商服务不可用时,系统会自动触发故障转移机制,确保业务连续性。\n\n## 六层安全防护体系\n\nLLMProxy 构建了一个纵深防御的安全架构,从请求进入系统到响应返回客户端,每一层都有专门的安全机制:\n\n### 第一层:ASGI字节级防火墙\n系统内置178个注入攻击特征签名,覆盖8种编码层(URL编码、Unicode、Base64、十六进制、ROT13等),并支持迭代链式解码检测。这意味着即使攻击者使用多层编码混淆恶意载荷,防火墙也能识别并拦截。\n\n### 第二层:语义分析引擎\n采用157种模式的三元组Jaccard相似度算法,支持20多种语言的语义分析。系统能够识别leet speak变形、西里尔字母和希腊字母的混淆字符映射,有效防范社会工程学攻击。\n\n### 第三层:威胁评分与轨迹分析\nSecurityShield 模块对请求进行威胁评分(阈值0.7),并支持多轮对话的轨迹分析。通过跨会话的威胁情报聚合(ThreatLedger),系统能够识别来自同一IP或API密钥的异常行为模式。\n\n### 第四层:PII数据脱敏\n支持双模式PII检测:基于微软Presidio NLP的18种实体类型识别,以及自定义正则表达式匹配。敏感信息在请求转发前会被自动脱敏处理,保护用户隐私。\n\n### 第五层:故障关闭认证\n所有管理路径(/api/v1/、/admin/、/metrics)默认拒绝访问,除非显式加入白名单。这种"fail-closed"设计确保即使配置错误也不会意外暴露敏感接口。\n\n### 第六层:审计与签名\n系统维护不可变的审计日志账本,所有响应都经过HMAC签名,确保响应完整性和可追溯性。\n\n## 智能成本路由与预算控制\n\n除了安全防护,LLMProxy 还提供了精细化的成本管理能力:\n\n智能路由算法:系统使用指数移动平均(EMA)加权公式对端点进行评分:得分 = (成功率² / 延迟) × 成本因子^权重。代理会自动将请求路由到得分最高的端点,同时支持配置故障转移链(例如:GPT-4o失败→Claude Sonnet→Gemini Pro)。\n\n预算管理:支持为每个模型配置定价信息(覆盖30+模型),设置每日预算上限,并在预算耗尽时自动降级到本地模型(如Ollama)。系统还提供按会话的消费追踪和成本效益分析。\n\nA/B测试与金丝雀发布:内置插件市场支持18种扩展功能,包括预算守卫、A/B路由、模式强制执行、金丝雀检测等,采用环形流水线架构,支持Python或WASM编写自定义插件。\n\n## 部署与使用方式\n\nLLMProxy 提供了极其简洁的部署体验。使用Docker只需一条命令即可启动:\n\nbash\ndocker run --rm -p 8090:8090 \\\\n -e LLM_PROXY_API_KEYS=sk-proxy-test \\\\n ghcr.io/fabriziosalmi/llmproxy:latest\n\n\n启动后访问 http://localhost:8090/ui,首次运行向导会引导用户配置第一个供应商(OpenAI、Anthropic、Ollama等)。代理在初始状态下以"onboarding模式"运行,未配置端点前会返回503错误。\n\n对于需要持久化状态(预算追踪、审计日志、已注册端点)的生产环境,建议挂载数据卷并固定版本号:\n\n```bash\ndocker run -d --name llmproxy -p 8090:8090 \\n -e LLM_PROXY_API_KEYS=sk-proxy-test \\n -e OPENAI_API_KEY=$OPENAI_API_KEY \\n -v llmproxy-data:/app/data \\n ghcr.io/fabriziosalmi/llmproxy:1.21.46\n\n\n配置完成后,即可像使用OpenAI官方API一样发送请求:\n\nbash\ncurl http://localhost:8090/v1/chat/completions \\n -H "Authorization: Bearer sk-proxy-test" \\n -H "Content-Type: application/json" \\n -d '{"model": "gpt-4o", "messages": [{"role": "user", "content": "Hello"}]}'\n```\n\n## 技术架构与扩展性\n\nLLMProxy 采用现代化的ASGI架构,基于FastAPI构建,支持高并发处理。其插件系统采用环形流水线设计,请求依次经过:\n\n1. Ring 1 - 入口层:认证、零信任验证、速率限制\n2. Ring 2 - 预检层:PII脱敏、预算检查、缓存、复杂度评分\n3. Ring 3 - 路由层:模型选择、负载均衡、A/B路由\n4. 上游供应商:自动格式转换和故障转移链\n5. Ring 4 - 后检层:响应清理、质量门控、模式强制\n6. Ring 5 - 后台层:遥测、导出、影子流量\n\n这种分层架构使得每个处理阶段都可以独立扩展或替换,开发者可以根据需求插入自定义逻辑。\n\n## 适用场景与价值总结\n\nLLMProxy 特别适合以下场景:\n\n- 企业AI网关:需要统一管理和审计多个部门对LLM的调用\n- 多供应商策略:希望避免单一供应商锁定,同时降低故障风险\n- 成本优化:需要精细控制AI调用成本并自动选择性价比最高的模型\n- 安全合规:对AI输入输出的安全性有严格要求,需要防范提示注入和数据泄露\n\n该项目目前拥有1183个测试用例,代码覆盖率达到67%,持续集成工作流确保代码质量。对于正在构建生产级LLM应用的团队来说,LLMProxy 提供了一个开箱即用、安全可控的基础设施层。

3

章节 03

补充观点 1

项目背景与核心定位\n\n随着大型语言模型(LLM)在企业和开发者中的广泛采用,如何安全、高效地管理和路由来自不同供应商的AI请求成为一个关键挑战。LLMProxy 应运而生,它是一个专为LLM设计的安全网关和智能代理,旨在简化多供应商管理的同时提供企业级的安全防护。\n\n该项目由开发者 Fabrizio Salmi 维护,采用 Python 3.12+ 构建,遵循 MIT 开源协议。其核心理念是"安全优先"——在提供便捷的多供应商接入能力之前,首先确保每一个请求都经过严格的安全审查。\n\n多供应商统一接入能力\n\nLLMProxy 的最大亮点之一是支持多达15家主流AI服务提供商的统一接入,开发者只需使用 OpenAI 兼容的API格式即可访问所有支持的模型。这些供应商包括:\n\n- 商业云服务:OpenAI、Anthropic Claude、Google Gemini、Azure OpenAI、xAI Grok、Perplexity、Mistral、DeepSeek\n- 高性能推理平台:Groq、Together AI、Fireworks AI、SambaNova\n- 开源与本地部署:Ollama、OpenRouter\n\n这种设计让开发者无需为每个供应商单独编写适配代码,大大降低了多供应商策略的技术门槛。当某个供应商服务不可用时,系统会自动触发故障转移机制,确保业务连续性。\n\n六层安全防护体系\n\nLLMProxy 构建了一个纵深防御的安全架构,从请求进入系统到响应返回客户端,每一层都有专门的安全机制:\n\n第一层:ASGI字节级防火墙\n系统内置178个注入攻击特征签名,覆盖8种编码层(URL编码、Unicode、Base64、十六进制、ROT13等),并支持迭代链式解码检测。这意味着即使攻击者使用多层编码混淆恶意载荷,防火墙也能识别并拦截。\n\n第二层:语义分析引擎\n采用157种模式的三元组Jaccard相似度算法,支持20多种语言的语义分析。系统能够识别leet speak变形、西里尔字母和希腊字母的混淆字符映射,有效防范社会工程学攻击。\n\n第三层:威胁评分与轨迹分析\nSecurityShield 模块对请求进行威胁评分(阈值0.7),并支持多轮对话的轨迹分析。通过跨会话的威胁情报聚合(ThreatLedger),系统能够识别来自同一IP或API密钥的异常行为模式。\n\n第四层:PII数据脱敏\n支持双模式PII检测:基于微软Presidio NLP的18种实体类型识别,以及自定义正则表达式匹配。敏感信息在请求转发前会被自动脱敏处理,保护用户隐私。\n\n第五层:故障关闭认证\n所有管理路径(/api/v1/、/admin/、/metrics)默认拒绝访问,除非显式加入白名单。这种"fail-closed"设计确保即使配置错误也不会意外暴露敏感接口。\n\n第六层:审计与签名\n系统维护不可变的审计日志账本,所有响应都经过HMAC签名,确保响应完整性和可追溯性。\n\n智能成本路由与预算控制\n\n除了安全防护,LLMProxy 还提供了精细化的成本管理能力:\n\n智能路由算法:系统使用指数移动平均(EMA)加权公式对端点进行评分:得分 = (成功率² / 延迟) × 成本因子^权重。代理会自动将请求路由到得分最高的端点,同时支持配置故障转移链(例如:GPT-4o失败→Claude Sonnet→Gemini Pro)。\n\n预算管理:支持为每个模型配置定价信息(覆盖30+模型),设置每日预算上限,并在预算耗尽时自动降级到本地模型(如Ollama)。系统还提供按会话的消费追踪和成本效益分析。\n\nA/B测试与金丝雀发布:内置插件市场支持18种扩展功能,包括预算守卫、A/B路由、模式强制执行、金丝雀检测等,采用环形流水线架构,支持Python或WASM编写自定义插件。\n\n部署与使用方式\n\nLLMProxy 提供了极其简洁的部署体验。使用Docker只需一条命令即可启动:\n\nbash\ndocker run --rm -p 8090:8090 \\\\n -e LLM_PROXY_API_KEYS=sk-proxy-test \\\\n ghcr.io/fabriziosalmi/llmproxy:latest\n\n\n启动后访问 http://localhost:8090/ui,首次运行向导会引导用户配置第一个供应商(OpenAI、Anthropic、Ollama等)。代理在初始状态下以"onboarding模式"运行,未配置端点前会返回503错误。\n\n对于需要持久化状态(预算追踪、审计日志、已注册端点)的生产环境,建议挂载数据卷并固定版本号:\n\n```bash\ndocker run -d --name llmproxy -p 8090:8090 \\n -e LLM_PROXY_API_KEYS=sk-proxy-test \\n -e OPENAI_API_KEY=$OPENAI_API_KEY \\n -v llmproxy-data:/app/data \\n ghcr.io/fabriziosalmi/llmproxy:1.21.46\n\n\n配置完成后,即可像使用OpenAI官方API一样发送请求:\n\nbash\ncurl http://localhost:8090/v1/chat/completions \\n -H "Authorization: Bearer sk-proxy-test" \\n -H "Content-Type: application/json" \\n -d '{"model": "gpt-4o", "messages": [{"role": "user", "content": "Hello"}]}'\n```\n\n技术架构与扩展性\n\nLLMProxy 采用现代化的ASGI架构,基于FastAPI构建,支持高并发处理。其插件系统采用环形流水线设计,请求依次经过:\n\n1. Ring 1 - 入口层:认证、零信任验证、速率限制\n2. Ring 2 - 预检层:PII脱敏、预算检查、缓存、复杂度评分\n3. Ring 3 - 路由层:模型选择、负载均衡、A/B路由\n4. 上游供应商:自动格式转换和故障转移链\n5. Ring 4 - 后检层:响应清理、质量门控、模式强制\n6. Ring 5 - 后台层:遥测、导出、影子流量\n\n这种分层架构使得每个处理阶段都可以独立扩展或替换,开发者可以根据需求插入自定义逻辑。\n\n适用场景与价值总结\n\nLLMProxy 特别适合以下场景:\n\n- 企业AI网关:需要统一管理和审计多个部门对LLM的调用\n- 多供应商策略:希望避免单一供应商锁定,同时降低故障风险\n- 成本优化:需要精细控制AI调用成本并自动选择性价比最高的模型\n- 安全合规:对AI输入输出的安全性有严格要求,需要防范提示注入和数据泄露\n\n该项目目前拥有1183个测试用例,代码覆盖率达到67%,持续集成工作流确保代码质量。对于正在构建生产级LLM应用的团队来说,LLMProxy 提供了一个开箱即用、安全可控的基础设施层。