Apex AI Proxy: 灵活实用的个人AI网关工具

159 阅读3分钟

一个解决AI接口限制的开源工具

在AI开发过程中,我们常常遇到这些问题:

  • API免费调用次数有限
  • 需要管理多个不同平台的API和密钥
  • 想要充分利用各平台的免费额度

为此,我开发了Apex AI Proxy这个小工具,希望能为大家提供一些帮助。

Apex AI Proxy是什么?

Apex AI Proxy是一个开源的个人AI网关,运行在Cloudflare Workers上。它能够将多个AI服务提供商整合在统一的OpenAI兼容API后面,帮助开发者更有效地利用各平台资源。

主要特点

  • 免费使用:可以完全运行在Cloudflare Workers免费计划上
  • 智能分发请求:在多个提供商之间分配请求,减轻单一服务压力
  • 整合免费资源:帮助开发者利用不同AI提供商的免费层级
  • 多密钥管理:支持注册同一服务提供商的多个API密钥
  • 兼容OpenAI客户端:与使用OpenAI API格式的库无缝对接

强大配置示例

为同一模型配置多个供应商

当某个服务商限流或出错时,请求会自动转到其他可用服务商:

// 为GPT模型配置多个供应商,实现负载均衡
const modelProviderConfig = {
	'DeepSeek-R1': {
		providers: [
			{
				provider: 'aliyuncs',
				model: 'deepseek-r1',
			},
			{
				provider: 'deepinfra',
				model: 'deepseek-ai/DeepSeek-R1',
			},
			{
				provider: 'azure',
				base_url: 'https://:name.services.ai.azure.com/models',
				api_key: 'sk-xxxx',
				model: 'DeepSeek-R1',
			},
			// 火山 有免费额度
			{
				provider: 'volces',
				model: 'deepseek-r1-250120',
			},
			{
				provider: 'deepseek',
				model: 'deepseek-reasoner',
			},
			// 天翼云免费2周
			{
				provider: 'ctyun/DeepSeek-R1-昇腾版',
				base_url: 'https://wishub-x1.ctyun.cn/v1',
				api_key: 'sk-xxx',
				model: '4bd107bff85941239e27b1509eccfe98',
			},
			{
				provider: 'ctyun/DeepSeek-R1-英伟达版',
				base_url: 'https://wishub-x1.ctyun.cn/v1',
				api_key: 'sk-xxx',
				model: '7ba7726dad4c4ea4ab7f39c7741aea68',
			},
		],
	}
}

同一供应商多个API密钥

突破单个API密钥的速率限制,平衡使用多个账号的配额:

const providerConfig = {
    groq: {
        // 可以配置走 CF AI Gateway, 日志可审查
        base_url: 'https://gateway.ai.cloudflare.com/v1/:id/:name/groq',
        // 多 groq 帐号 突破速率限制
        api_keys: [
            'gsk-xxxxx1',
            'gsk-xxxxx2',
            'gsk-xxxxx3',
            'gsk-xxxxx4',
            'gsk-xxxxx5',
        ]
    },

}

均衡利用免费额度

最大化利用各平台的免费额度,节省成本:

// 充分利用各平台免费额度的配置示例
const modelProviderConfig = {
    'qwen-max': {
        providers: [
            {
                // 国内阿里云
                provider: 'aliyuncs',
                model: 'qwen-max',
            },
            {
                // 阿里云国际站
		provider: 'alibabacloud',
		model: 'qwen-max',
            },
        ],
    },
}

TPS限制均衡处理

处理不同供应商的TPS(每秒事务处理数)限制:

// 处理高并发场景,避免触发TPS限制的配置
const providerConfig = {
    aliyuncs: {
        base_url: 'https://dashscope.aliyuncs.com/compatible-mode/v1',
	api_keys: ['sk-xxx','sk-xxx2'],
    },
    alibabacloud: {
	base_url: 'https://dashscope-intl.aliyuncs.com/compatible-mode/v1',
	api_keys: ['sk-xxxx','sk-xxxx1'],
    },
    volces: {
	base_url: 'https://ark.cn-beijing.volces.com/api/v3',
	api_keys: ['xxxx','xxxx1','xxxx2'],
    },
}

使用示例

只需简单几行代码,即可通过统一接口调用多家服务商模型:

from openai import OpenAI
client = OpenAI(
    base_url="https://your-proxy.workers.dev/v1",
    api_key="your-configured-api-key"
)

# 使用配置过的模型
response = client.chat.completions.create(
    model="DeepSeek-R1",  # 自动路由到配置的提供商
    messages=[{"role""user""content""这个工具有什么用途?"}]
)

开源项目,欢迎参与

这是一个完全开源的项目,如果您觉得有用,欢迎访问我们的GitHub仓库:

  • 项目地址github.com/loadchange/…
  • 如果这个工具对您有所帮助,请给项目点个⭐Star支持一下!
  • 欢迎提交Issue或Pull Request,一起改进这个工具