• AI-Gateway:一款整合了OpenAI、Anthropic、LLama2等大语言模型的统一API接口


    关于AI-Gateway

    AI-Gateway是一款针对大语言模型的统一API接口,该接口可以用在应用程序和托管的大语言模型(LLM)之间,该工具可以允许我们通过一个统一的API接口将API请求转发给OpenAI、Anthropic、Mistral、LLama2、Anyscale、Google Gemini等大语言模型。

    功能特性

    1、功能非常快,体积非常小;

    2、跨多模型和提供商实现负载均衡;

    3、支持回退以确保应用程序保持弹性;

    4、默认配置下,支持自动重试;

    5、可根据需要安装中间件;

    6、支持多种大语言模型;

    支持的SDK

    工具安装&部署

    本地部署

    如果你熟悉Node.js和npx的话,可以直接在本地安装和部署你自己的AI-Gateway:

    npx @portkey-ai/gateway

    安装完成后,就可以打开浏览器并访问下列地址使用AI-Gateway了:

    http://localhost:8787

    Cloudflare Worker部署

    使用下列命令将该项目源码克隆至本地:

    git clone https://github.com/portkey-ai/gateway

    然后安装NPM依赖:

    cd gateway
    
    npm i

    使用wrangler部署即可:

    npm run deploy

    Node.js部署

    使用下列命令将该项目源码克隆至本地:

    git clone https://github.com/portkey-ai/gateway

    然后安装NPM依赖:

    cd gateway
    
    npm i
    
    npm run build

    然后运行Node服务器:

    node build/start-server.js

    Docker部署

    广大研究人员也可以直接使用Docker来运行AI-Gateway:

    docker run -d -p 8787:8787 portkeyai/gateway:latest

    Docker-Compose部署

    使用下列命令下载Compose文件:

    wget "https://raw.githubusercontent.com/Portkey-AI/gateway/main/docker-compose.yaml"

    然后运行Docker-Compose即可:

    docker compose up -d

    服务当前会运行并监听8787端口。

    AI-Gateway配置

    AI-Gateway支持通过自定义配置来实现多功能路由策略,例如回退、负载均衡和自动重连等。

    我们可以通过x-portkey-config Header在调用OpenAI时应用下列配置信息:

    // 使用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"}
    
      }]
    
    }

    下面的配置将启动负载均衡功能:

    {
    
      "strategy": { "mode": "loadbalance" },
    
      "targets": [{
    
          "provider": "openai",
    
          "api_key": "sk-***",
    
          "weight": "0.5"
    
        },{
    
          "provider": "openai",
    
          "api_key": "sk-***",
    
          "weight": "0.5"
    
        }
    
      ]
    
    }

    工具使用

    下面的例子中,我们将通过AI-Gateway尝试向OpenAI发送一个Chat completions调用:

    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"}'

    许可证协议

    本项目的开发与发布遵循MIT开源许可证协议。

    项目地址

    AI-Gateway:【GitHub传送门

    参考资料

    AI Gateway - Simplify Your LLM Integrations | Portkey

    https://hub.docker.com/r/portkeyai/gateway

  • 相关阅读:
    微处理器性能简介(8086)
    [Unity] 实现AssetBundle资源加载管理器
    浮动与定位的使用(结合案例版)
    当电脑接双屏扩展显示器时,系统崩溃,QQ浏览器出现显示异常,通过如下方法使之正常
    CSS介绍
    python笔记(15)函数
    5V升压8.4V1A,给双节锂电池充电芯片-PL7501
    全面理解云上网络技术
    优维2个合作项目入选2022服贸会“企业数字化转型优秀案例”
    【ARM】Linux内核驱动之模板
  • 原文地址:https://blog.csdn.net/FreeBuf_/article/details/136259383