首页 人工智能 AI应用 查看内容

开源推荐:Aiproxy —— 统一多后端LLM服务

2026-4-27 14:29 714 0

摘要: 支持的“后端模式(schema)”schema 说明 llamacpp llama.cpp 服务器(兼容 OpenAI wire 格式,使用 /health 探针)也适用于 vLLM openai OpenAI 官方 API 或任何 OpenAI 兼容服务 anthropic Anthropic API(/v1/mes...
关键词:LLaMA, OpenAI, Aiproxy, IP, Ollama, Anthropic, Google, Embedding, llama.cpp, llamacpp

模型感知 + 多后端池化 + OpenAI标准接口

随着大语言模型(LLM)的爆发,我们常常需要在本地或云端部署多个不同模型:llama.cpp、vLLM、OpenAI、Anthropic、Google Gemini、Ollama……这些服务接口各异,管理起来非常麻烦。
今天推荐的开源项目 Aiproxy,帮你通过一个 统一且兼容 OpenAI 的 API 网关,轻松接入并调度所有后端 LLM 服务。

项目地址:
https://github.com/robcowart/aiproxy


什么是 Aiproxy?

Aiproxy 是一个模型感知的反向代理,支持多种本地/远程 LLM 后端,并以 OpenAI API 风格对外提供统一服务。

它的核心设计目的是:

提供一个单一、兼容 OpenAI 的服务端点,让你能够透明地访问在 AI 实验室中运行的多个 llama.cpp 实例(或其他后端),实现请求路由、负载均衡、健康检查与故障转移。

简单来说,你只需和 Aiproxy 打交道,它帮你打理背后那一大堆模型服务。


核心特点

  • 多后端支持
    支持 llamacpp、vLLM、OpenAI、Anthropic、Google、Ollama 等多种后端的原生或兼容 API。
  • 模型感知
    根据请求中的 model 名称,将请求路由到对应的模型池(pool)及具体的后端实例。
  • 负载均衡与健康检查
    自动在多实例之间分发请求,并定期检查后端健康状态,规避故障节点。
  • 故障转移
    当某个实例出错时,自动重试池内其他可用实例。
  • 支持主流端点
  • /v1/chat/completions – 聊天补全
  • /v1/embeddings – 文本嵌入
  • /v1/rerank – 重排序(部分后端支持)
  • 简单配置,Docker 就绪
    通过一个 YAML 文件即可定义模型池和后端实例,使用官方 Docker 镜像快速部署。

支持的“后端模式(schema)”

schema 说明 llamacpp llama.cpp 服务器(兼容 OpenAI wire 格式,使用 /health 探针)
也适用于 vLLM openai OpenAI 官方 API 或任何 OpenAI 兼容服务 anthropic Anthropic API(/v1/messages) google Google Gemini API ollama Ollama 原生 API(/api/chat 等),支持 chat_completions 和 embeddings

提示:Ollama 也提供了 OpenAI 兼容的 /v1/* 端点,你可以使用 openai 模式来对接它。


配置示例

一个经典的 config.yaml 如下:

server:  host: '0.0.0.0'  port: 8080  api_key: 'your-unified-api-key'   # 客户端调用时需提供  log_level: 'info'  # 可选:开启 HTTPS  tls:    enabled: falsepools:  - model: 'qwen3.5-122b'    endpoint: 'chat_completions'    schema: 'llamacpp'    instances:      - url: 'http://192.168.1.11:8080'        api_key: 'backend-key-1'      - url: 'http://192.168.1.12:8080'        api_key: 'backend-key-2'    session_timeout: 300    health_check_interval: 30  - model: 'nemotron-embed-1b-v2'    endpoint: 'embeddings'    schema: 'llamacpp'    instances:      - url: 'http://192.168.1.13:8080'        api_key: 'embed-key'    session_timeout: 300    health_check_interval: 30

你可以为不同的模型定义不同的池子,每个池子包含多个后端实例,Aiproxy 会自动做轮询和健康检查。


使用 Docker 一键启动

# docker-compose.yamlservices:  aiproxy:    image: robcowart/aiproxy:latest    container_name: aiproxy    restart: unless-stopped    volumes:      - ./config.yaml:/etc/aiproxy/config.yaml:ro    ports:      - "8080:8080"

启动后,你的客户端只需像调用 OpenAI API 一样:

curl http://localhost:8080/v1/chat/completions \  -H "Content-Type: application/json" \  -H "Authorization: Bearer your-unified-api-key" \  -d '{    "model": "qwen3.5-122b",    "messages": [{"role": "user", "content": "Hello!"}]  }'

Aiproxy 会根据 model 自动路由到对应的 llamacpp 实例池。


当前项目状态

警告!此项目仍在积极开发中。

  • 主要用例(多 llama.cpp 实例)运行良好
  • 对其他后端(OpenAI、Anthropic、Google、Ollama)的测试尚不全面
  • 如果遇到问题,欢迎提交 Issue 或 PR

这意味着如果你想在生产环境使用非 llamacpp 的后端,建议先充分测试。但对于搭建本地多实例 llama.cpp 集群来说,它已经非常实用。


适合谁用?

  • 实验室或公司内部需要管理多台 LLM 服务器的团队
  • 想用统一的 OpenAI 代码去调用不同后端(如本地 llama.cpp + 云端 OpenAI)
  • 在多个 GPU 节点上运行 llama.cpp 或 vLLM,需要负载均衡和高可用
  • 研究或开发 LLM 应用,希望后端服务无感知切换

相关链接

  • GitHub:https://github.com/robcowart/aiproxy
  • 支持的后端文档请参阅项目 README
  • 遇到问题?提交 Issues

最后的话

Aiproxy 解决了一个非常实际的痛点:不同 LLM 后端接口不统一、多实例难以管理
它虽然还在成长期,但对于 llamacpp / vLLM 用户来说已经相当靠谱。如果你也在本地或实验室环境中跑着多个 LLM 服务,不妨试试这个轻量级的“AI 网关”。

如果觉得有用,别忘了给项目点个 Star 支持一下开发者!

本文出处: https://www.toutiao.com/article/7632886910972740132/
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部