Acesso no exterior: www.kdjingpai.com
Ctrl + D Marcar este site como favorito

O AIRouter é uma ferramenta de roteamento inteligente projetada para modelos de linguagem grande (LLMs), conectando vários provedores de LLM (por exemplo, OpenAI, Anthropic, Google etc.) por meio de uma interface de API unificada para distribuição eficiente de tarefas. Ele oferece suporte ao balanceamento de carga inteligente, selecionando o modelo ideal com base no tempo de resposta, no custo e na taxa de sucesso, além de fornecer monitoramento de integridade em tempo real e gerenciamento de chaves de API. O AIRouter também oferece suporte a entradas multimodais (por exemplo, texto + imagem) e chamadas de função, o que o torna adequado para desenvolvedores que precisam operar entre modelos. O projeto é baseado no desenvolvimento em Python, suporta a implantação em contêineres do Docker e está pronto para ser usado imediatamente para uma rápida integração em ambientes de produção.

Lista de funções

  • Interface API unificadaAcesso a vários provedores de LLM, incluindo OpenRouter, DeepInfra, TogetherAI, etc., por meio de uma única interface.
  • Balanceamento de carga inteligenteAtribuição dinâmica de tarefas ao modelo ideal com base no tempo de resposta, no custo e no sucesso.
  • Monitoramento da saúde em tempo realVerificação automática do status da API e bloqueio de modelos indisponíveis ou de alto custo.
  • Gerenciamento eficiente de chaves de APIOtimize o uso de chaves, melhore o desempenho e evite automaticamente chaves inválidas.
  • suporte multimodalGerencia entradas de texto e imagem e chamadas de função para atender a diversos requisitos de tarefas.
  • Escolha idealSeleção inteligente do melhor modelo entre vários modelos, equilibrando desempenho e custo.
  • Otimização de custosReduzir o custo do uso de modelos de alto custo por meio do recurso de bloqueio de verificação de saúde.
  • Implementação em contêineresSuporte à implantação do Docker, simplificando a configuração do ambiente e o processo de inicialização.

Usando a Ajuda

Instalação e configuração

O AIRouter é um projeto Python de código aberto que oferece suporte à implantação por meio de pacotes Python ou do Docker. Aqui estão as etapas detalhadas de instalação e uso:

1. preparação ambiental

  • Requisitos do sistemaInstalação do Python 3.7 ou superior, recomendado para Linux ou macOS.
  • Ferramentas dependentes::
    • Instalar o Git: para clonar repositórios de código.
    • Instale o Docker (opcional): para implantação em contêineres.
    • Instale o MySQL: para armazenar os registros de uso da chave da API.
  • Verificação da versão do Python::
    python --version
    

    Certifique-se de que a versão seja 3.7 ou superior.

2. clonagem de armazéns

3. instalação de dependências

  • Maneira 1: instalar como um pacote Python (recomendado)::
    pip install -e .
    
  • Maneira 2: instalação direta de dependências::
    pip install -r requirements.txt
    

4. projetos de configuração

  • Configuração da chave de API::
    • Copie o arquivo de configuração de amostra:
      cp ew_config/api_keys.example.py ew_config/api_keys_local.py
      
    • compilador ew_config/api_keys_local.pyPreencha a chave de API real de cada provedor de LLM. Por exemplo:
      API_KEYS = {
      "openai": "sk-xxxxxxxxxxxxxxxxxxxx",
      "anthropic": "sk-ant-xxxxxxxxxxxxxxxx",
      "google": "AIzaSy-xxxxxxxxxxxxxxxx"
      }
      
  • Configuração do banco de dados::
    • Crie um banco de dados MySQL:
      CREATE DATABASE airouter;
      CREATE TABLE api_key_usage (
      request_id VARCHAR(50) PRIMARY KEY,
      api_key VARCHAR(100) NOT NULL,
      model_name VARCHAR(50) NOT NULL,
      source_name VARCHAR(50) NOT NULL,
      prompt_tokens INT,
      completion_tokens INT,
      create_time DATETIME NOT NULL,
      finish_time DATETIME NOT NULL,
      execution_time FLOAT NOT NULL,
      status BOOLEAN NOT NULL
      );
      
    • Copie o arquivo de variável de ambiente:
      cp env.example .env
      
    • compilador .env preenchendo as informações do banco de dados, por exemplo:
      DB_HOST=localhost
      DB_USER=root
      DB_PASSWORD=your_password
      DB_NAME=airouter
      DB_PORT=3306
      

5. ativação de serviços

  • Implementação do Docker (recomendado)::
    • Crie a imagem do Docker:
      docker build -t airouter:latest .
      
    • Inicie o serviço:
      docker-compose up -d
      
    • Verifique o status do serviço:
      docker-compose ps
      
  • ativação manual::
    • Lançamento do Serviço de Triagem de Saúde:
      python CheckHealthy.py
      
    • Inicie o serviço de gerenciamento de chaves de API no novo terminal:
      python -m api_key_manager.main
      

Função Fluxo de operação

1. geração de texto básico

  • fazer uso de LLM_Wrapper chama o modelo para gerar o texto:
    from LLMwrapper import LLM_Wrapper
    response = LLM_Wrapper.generate(
    model_name="gpt4o_mini",
    prompt="解释量子计算的基本原理"
    )
    print(response)
    
  • O sistema escolherá o modelo ideal (por exemplo, gpt4o_mini da OpenAI) para executar a tarefa com base na política de balanceamento de carga.

2. entradas multimodais

  • Suporta a entrada de imagens e textos, por exemplo, para descrever o conteúdo de uma imagem:
    import base64
    with open("image.jpg", "rb") as f:
    img_base64 = base64.b64encode(f.read()).decode()
    response = LLM_Wrapper.generate_mm(
    model_name="gpt4o_mini",
    prompt="描述这张图片的内容",
    img_base64=img_base64
    )
    print(response)
    
  • Verifique se o modelo é compatível com multimodalidade (por exemplo, gpt4o_mini) e se a imagem precisa ser convertida para o formato Base64.

3. chamadas de função

  • Configurar a ferramenta e chamar funções externas, como consultar o clima:
    tools = [
    {
    "type": "function",
    "function": {
    "name": "get_weather",
    "description": "获取天气信息",
    "parameters": {
    "type": "object",
    "properties": {
    "location": {"type": "string", "description": "城市名称"}
    },
    "required": ["location"]
    }
    }
    }
    ]
    response = LLM_Wrapper.function_calling(
    model_name="gpt4o_mini",
    prompt="北京今天天气如何?",
    tools=tools
    )
    print(response)
    

4. configuração do balanceamento de carga

  • Há suporte para três modos de balanceamento de carga:
    • fast_firstPrioridade: A prioridade é dada ao modelo mais responsivo.
    • cost_firstPreferência pelo modelo de menor custo: A preferência é dada ao modelo de menor custo.
    • balancedEquilíbrio entre velocidade e custo.
  • Exemplo:
    response = LLM_Wrapper.generate(
    model_name="gpt4o_mini",
    prompt="你好",
    mode="cost_first"
    )
    

5. escolhas ideais de Pareto

  • Selecione o resultado ideal entre vários modelos:
    response = LLM_Wrapper.generate_fromTHEbest(
    model_list=["gpt4o_mini", "claude35_sonnet", "gemini15_pro"],
    prompt="复杂推理任务"
    )
    
  • O sistema seleciona automaticamente o melhor modelo com base no tempo de resposta e no custo.

6. monitoramento e registro de saúde

  • Verifique o status de integridade do serviço:
    • entrevistas http://localhost:8001/check_healthy Verifique o status do serviço de triagem de saúde.
    • entrevistas http://localhost:8002/check_healthy Verifique o status do serviço de gerenciamento de chaves de API.
  • Exibir registro:
    docker-compose logs -f airouter-health-check
    tail -f health_check.log
    

advertência

  • Certifique-se de que a chave de API seja válida; uma chave com falha fará com que a tarefa falhe.
  • As implementações do Docker precisam garantir que as portas (8001, 8002) não estejam ocupadas.
  • Verifique regularmente o repositório do GitHub para obter atualizações dos recursos e correções mais recentes.
  • Senha do banco de dados (DB_PASSWORD) é necessário, e sua ausência resultará em falha na inicialização.

cenário do aplicativo

  1. Distribuição de tarefas com vários modelos
    Os desenvolvedores precisam usar vários LLMs (por exemplo, OpenAI, Anthropic) ao mesmo tempo para concluir a tarefa. O AIRouter pode distribuir a tarefa por meio de uma interface unificada, selecionando automaticamente o modelo ideal para economizar tempo de desenvolvimento.
  2. Projetos sensíveis ao custo
    Com um orçamento limitado, o recurso de otimização de custos do AIRouter prioriza modelos de baixo custo para start-ups ou desenvolvedores individuais.
  3. Desenvolvimento de aplicativos multimodais
    Ao desenvolver aplicativos de descrição de imagens ou de bate-papo multimodal, o AIRouter suporta a entrada de texto e imagem para simplificar o processo de desenvolvimento.
  4. operação e manutenção automatizadas (O&M)
    As equipes de operações podem criar serviços de IA estáveis com menos intervenção manual por meio de recursos de monitoramento de integridade e balanceamento de carga.

QA

  1. Quais provedores de LLM são compatíveis com o AIRouter?
    Suporte para OpenRouter, DeepInfra, DeerAPI, TogetherAI, Google, OpenAI, Anthropic e muitos outros provedores, com uma lista específica de suporte disponível na seção ew_config/source.py Ver.
  2. Como escolher o modelo ideal?
    fazer uso de generate_fromTHEbest o sistema seleciona o melhor modelo com base em um algoritmo Pareto-optimal que combina tempo de resposta, custo e taxa de sucesso.
  3. Qual é a diferença entre a implantação do Docker e a implantação manual?
    A implantação do Docker simplifica a configuração do ambiente por meio da conteinerização e é adequada para ambientes de produção; a implantação manual requer a instalação de dependências uma a uma e é adequada para desenvolvimento e depuração.
  4. Como faço para lidar com a falha da chave de API?
    O sistema de gerenciamento de chaves do AIRouter detecta automaticamente chaves inválidas e muda para uma chave disponível. api_keys_local.py Configure várias chaves válidas no
0Marcado
0Recomendado

Recomendado

Não consegue encontrar ferramentas de IA? Tente aqui!

Basta digitar a palavra-chave Acessibilidade Bing SearchA seção Ferramentas de IA deste site é uma maneira rápida e fácil de encontrar todas as ferramentas de IA deste site.

caixa de entrada

Entre em contato conosco

voltar ao topo

pt_BRPortuguês do Brasil