前言
在当今的人工智能领域,接入和使用各种大语言模型是非常重要的。
然而,随着技术的不断发展,各种AI模型框架也越来越多,管理和整合多个模型、服务提供商和密钥可能会变得复杂。
幸运的是,而今有一款名为**“AI 网关”**的开源项目可以帮助简化这一过程。
本篇小编将介绍这个令人振奋的项目,以及它的特色功能、使用方法和应用场景。
项目介绍
AI Gateway
是一个AI领域的开源工具,是应用程序和托管 LLM 之间的接口,通过统一简单的 API,让用户轻松快速接入 100 多种大语言模型,如 OpenAI、Anthropic、Mistral、LLama2、Google Gemini 等。
项目地址:https://github.com/Portkey-AI/gateway
特色功能
-
✅ 速度极快(快 9.9 倍),占用空间极小(已安装约 45kb)
-
✅ 跨多个模型、提供程序和密钥的负载平衡
-
✅ 回退确保您的应用程序保持弹性
-
✅ 默认情况下具有指数回退的 自动重试
-
✅ 插件中间件根据需要
-
✅ 经过超过100B 代币的战斗测试
四大特征
1、统一API签名
2、倒退
3、自动重试
4、负载均衡
使用方法
部署属于自己的私人网关,前提是电脑上安装Node.js 和npx
。
npx @portkey-ai/gateway
网关web服务启动之后,直接访问以下地址即可:
http://localhost:8787
而详细的用法及相关模型的调用是通过curl
命令请求的,比如使用OpenAI的模型:
curl '127.0.0.1:8787/v1/chat/completions' \
-H 'x-portkey-provider: openai' \
-H "Authorization: Bearer $OPENAI_KEY" \
-H 'Content-Type: application/json' \
-d '{"messages": [{"role": "user","content": "Say this is test."}], "max_tokens": 20, "model": "gpt-4"}'
支持的SDK基本上满足当下各种开发语言:Java、Python、GO、JS等。
支持接入的GPT产品有100+。以下只是一部门AI产品截图:
配置AI网关
AI 网关支持配置以启用多种路由策略,例如回退、负载平衡、重试等。 您可以在通过标头
进行 OpenAI 调用时使用这些配置x-portkey-config
// Using the OpenAI JS SDK
const client = new OpenAI({
baseURL: "http://127.0.0.1:8787", // The gateway URL
defaultHeaders: {
'x-portkey-config': {.. your config here ..},
}
});
下面是官方提供的一个示例配置,比如:在回退到 Gemini Pro 之前重试 OpenAI 请求 5 次。
{
"retry": { "count": 5 },
"strategy": { "mode": "fallback" },
"targets": [{
"provider": "openai",
"api_key": "sk-***"
},{
"provider": "google",
"api_key": "gt5***",
"override_params": {"model": "gemini-pro"}
}]
}
还可以配置在 2 个 OpenAI 密钥之间实现均匀的负载平衡。
{
"strategy": { "mode": "loadbalance" },
"targets": [{
"provider": "openai",
"api_key": "sk-***",
"weight": "0.5"
},{
"provider": "openai",
"api_key": "sk-***",
"weight": "0.5"
}
]
}
应用场景
AI Gateway
适用于各种人工智能应用场景,包括自然语言处理、文本生成、语音识别等。无论是个人开发者还是企业级应用,都可以受益于该工具的便捷性和稳定性。
总结
AI Gateway
是一个令人振奋的开源项目,为用户提供了轻松接入多种大语言模型的解决方案。
其极小的占用空间和快速的处理速度,以及丰富的特色功能,使其成为人工智能领域的导航工具。
通过该工具,用户可以更加高效地管理和集成多个模型,提高应用的稳定性和可靠性。如果你正在寻找一种简单而强大的方法来接入大语言模型,那么AI网关绝对值得一试。