海外からのアクセス:www.kdjingpai.com
Ctrl + D このサイトをブックマークする

AIRouterは大規模言語モデル(LLM)のために設計されたインテリジェントなルーティングツールで、複数のLLMプロバイダー(OpenAI、Anthropic、Googleなど)を統一されたAPIインターフェースで接続し、効率的なタスク分配を実現します。AIRouterはインテリジェントなロードバランシングをサポートし、応答時間、コスト、成功率に基づいて最適なモデルを選択し、リアルタイムのヘルスモニタリングとAPIキー管理を提供する。AIRouterはまた、マルチモーダル入力(テキスト+画像など)と関数呼び出しをサポートし、モデルをまたいで操作する必要がある開発者に適している。このプロジェクトはPython開発に基づいており、Dockerコンテナによるデプロイをサポートしている。

機能一覧

  • 統一APIインターフェースOpenRouter、DeepInfra、TogetherAIなど、複数のLLMプロバイダーに単一のインターフェースでアクセス可能。
  • インテリジェントなロードバランシングレスポンスタイム、コスト、成功率に基づき、タスクを最適なモデルに動的に割り当てます。
  • リアルタイムのヘルス・モニタリングAPIのステータスを自動的にチェックし、利用できないモデルや高コストのモデルをブロックします。
  • 効率的なAPIキー管理キーの使用を最適化し、パフォーマンスを向上させ、無効なキーを自動的に回避します。
  • マルチモーダルサポートテキストや画像の入力や関数コールを処理し、多様なタスク要件に対応。
  • パレオプティマル・チョイス性能とコストのバランスを考慮し、複数のモデルから最適なモデルをインテリジェントに選択。
  • コスト最適化ヘルスチェック・ブロック機能により、高額モデルの使用コストを削減。
  • コンテナ展開Dockerデプロイをサポートし、環境設定と起動プロセスを簡素化。

ヘルプの使用

インストールとセットアップ

AIRouterはオープンソースのPythonプロジェクトで、PythonパッケージやDockerによるデプロイをサポートしている。以下はインストールと使用方法の詳細です:

1.環境準備

  • システム要件Python3.7以上、LinuxまたはmacOSを推奨。
  • 依存ツール::
    • Gitのインストール:コード・リポジトリをクローンする。
    • Dockerのインストール(オプション):コンテナ展開のため。
    • MySQLのインストール:APIキーの使用ログを保存する。
  • Pythonバージョンの確認::
    python --version
    

    バージョンが3.7以上であることを確認してください。

2.倉庫のクローン化

3.依存関係のインストール

  • 方法1:Pythonパッケージとしてインストールする(推奨)::
    pip install -e .
    
  • 方法2:依存関係を直接インストールする::
    pip install -r requirements.txt
    

4.構成プロジェクト

  • APIキーの設定::
    • サンプル設定ファイルをコピーする:
      cp ew_config/api_keys.example.py ew_config/api_keys_local.py
      
    • コンパイラ ew_config/api_keys_local.py各LLMプロバイダーの実際のAPIキーを記入してください。例えば
      API_KEYS = {
      "openai": "sk-xxxxxxxxxxxxxxxxxxxx",
      "anthropic": "sk-ant-xxxxxxxxxxxxxxxx",
      "google": "AIzaSy-xxxxxxxxxxxxxxxx"
      }
      
  • データベースのセットアップ::
    • 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
      );
      
    • 環境変数ファイルをコピーする:
      cp env.example .env
      
    • コンパイラ .env ファイルにデータベース情報を記入する:
      DB_HOST=localhost
      DB_USER=root
      DB_PASSWORD=your_password
      DB_NAME=airouter
      DB_PORT=3306
      

5.サービスの活性化

  • Dockerデプロイメント(推奨)::
    • Dockerイメージをビルドする:
      docker build -t airouter:latest .
      
    • サービスを開始する:
      docker-compose up -d
      
    • サービスのステータスを確認する:
      docker-compose ps
      
  • 手動起動::
    • 健康診断サービス開始
      python CheckHealthy.py
      
    • 新しい端末でAPIキー管理サービスを開始する:
      python -m api_key_manager.main
      

機能 操作の流れ

1.基本テキスト生成

  • 利用する LLM_Wrapper クラスはテキストを生成するためにモデルを呼び出します:
    from LLMwrapper import LLM_Wrapper
    response = LLM_Wrapper.generate(
    model_name="gpt4o_mini",
    prompt="解释量子计算的基本原理"
    )
    print(response)
    
  • システムはロードバランシングポリシーに基づいて、タスクを実行する最適なモデル(例えばOpenAIのgpt4o_mini)を選択する。

2.マルチモーダル入力

  • 画像とテキストの入力に対応。例えば、写真の内容を説明することができる:
    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)
    
  • モデルがマルチモダリティ(gpt4o_miniなど)をサポートしており、画像をBase64形式に変換する必要があることを確認してください。

3.関数呼び出し

  • ツールを設定し、天気の問い合わせなどの外部機能を呼び出す:
    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.ロードバランシングの設定

  • 3つのロードバランシングモードがサポートされている:
    • fast_first最も反応の良いモデルを優先します。
    • cost_first最もコストの低いモデルが優先される。
    • balancedスピードとコストのバランス
  • response = LLM_Wrapper.generate(
    model_name="gpt4o_mini",
    prompt="你好",
    mode="cost_first"
    )
    

5.パレート最適な選択

  • 複数のモデルから最適な結果を選択する:
    response = LLM_Wrapper.generate_fromTHEbest(
    model_list=["gpt4o_mini", "claude35_sonnet", "gemini15_pro"],
    prompt="复杂推理任务"
    )
    
  • システムは応答時間とコストに基づいて最適なモデルを自動的に選択する。

6.ヘルスモニタリングとロギング

  • サービスの健康状態を確認する:
    • インタビュー http://localhost:8001/check_healthy 健康診断サービスの状況を確認する。
    • インタビュー http://localhost:8002/check_healthy APIキー管理サービスのステータスを確認する。
  • ログを見る
    docker-compose logs -f airouter-health-check
    tail -f health_check.log
    

ほら

  • APIキーが有効であることを確認する。キーに失敗すると、タスクは失敗する。
  • Dockerのデプロイでは、ポート(8001、8002)が占有されていないことを確認する必要がある。
  • GitHubのリポジトリを定期的にチェックして、最新の機能や修正にアップデートしてください。
  • データベースのパスワード (DB_PASSWORD)が必要で、これがないと起動に失敗する。

アプリケーションシナリオ

  1. マルチモデルのタスク配分
    開発者はタスクを完了するために複数のLLM(OpenAI、Anthropicなど)を同時に使用する必要があるが、AIRouterは統一されたインターフェイスを通じてタスクを分散し、最適なモデルを自動的に選択して開発時間を短縮することができる。
  2. コスト重視のプロジェクト
    限られた予算の中で、AIRouterのコスト最適化機能は、新興企業や個人開発者向けの低価格モデルを優先している。
  3. マルチモーダル・アプリケーション開発
    画像説明やマルチモーダルなチャットアプリケーションを開発する場合、AIRouterはテキストと画像の両方の入力をサポートし、開発プロセスを簡素化します。
  4. 自動運転とメンテナンス(O&M)
    運用チームは、ヘルスモニタリングとロードバランシング機能により、手作業を減らして安定したAIサービスを構築できる。

品質保証

  1. AIRouterはどのLLMプロバイダーに対応していますか?
    OpenRouter、DeepInfra、DeerAPI、TogetherAI、Google、OpenAI、Anthropic、その他多くのプロバイダーをサポートしています。 ew_config/source.py 眺める。
  2. 最適なモデルを選ぶには?
    利用する generate_fromTHEbest 方式では、応答時間、コスト、成功率を組み合わせたパレート最適アルゴリズムに基づいて最適なモデルを選択する。
  3. Dockerデプロイメントと手動デプロイメントの違いは何ですか?
    Dockerデプロイはコンテナ化によって環境設定を簡素化し、本番環境に適している。手動デプロイは依存関係を1つずつインストールする必要があり、開発やデバッグに適している。
  4. APIキーに失敗した場合の対処方法を教えてください。
    AIRouterの鍵管理システムは、無効な鍵を自動的に検出し、利用可能な鍵に切り替えます。 api_keys_local.py に複数の有効なキーを設定する。
0ブックマークに登録
0表彰される

おすすめ

AIツールが見つからない?こちらをお試しください!

キーワードを入力する アクセシビリティこのサイトのAIツールセクションは、このサイトにあるすべてのAIツールを素早く簡単に見つける方法です。

受信箱

お問い合わせ

トップに戻る

ja日本語