7 ポイント 投稿者 xguru 2024-12-03 | まだコメントはありません。 | WhatsAppで共有
  • GrabのLLM-Kitは、プロダクションレベルのGenerative AIアプリケーションのセットアップを加速できるよう設計されたフレームワーク
  • 機密データを扱うAIアプリケーション開発ではセキュリティとデータ安全性が非常に重要だが、スケーラビリティ、統合、モニタリング、標準化などの課題をLLM-Kitが解決
  • これにより、長期的に効率的かつ効果的なLLMアプリケーション開発が可能になり、Grabで数百のGenAIアプリケーションのオンボーディングを支援

LLM-Kitの特徴

  • 事前構成済みの構造(APIサーバー、設定管理、サンプルLLMエージェント、テストなど)を提供
  • Poetry、Gunicorn、FastAPI、LangChain、LangSmith、Hashicorp Vault、Amazon EKS、Gitlab CIなどと統合
  • Datadog、LangSmith連携によるリアルタイムモニタリングが可能なオブザーバビリティ機能
  • PythonのconfigparserとVaultを活用した設定およびシークレット管理
  • OpenID Connect(OIDC)認証ヘルパー
  • SwaggerとRedocを使ったAPIドキュメント化
  • RedisおよびVector DBとの統合
  • ステージングおよび本番環境向けデプロイパイプライン
  • LangSmithの強力な評価フレームワークとの連携
  • クックブック: Grabでよく使われるサンプルを集め、開発者向けリソースを提供
    • 永続メモリエージェント、Slackbot LLMエージェント、画像アナライザー、ユーザーインターフェースを備えたフルスタックチャットボットなど、さまざまな事例を含む

LLM-Kitの価値

  • 事前構成済みで統合された技術スタックにより、LLMアプリケーション開発速度を向上
  • LangSmith、Datadog連携により、リアルタイムのモニタリングと課題の検知・解決が可能
  • OIDC認証とVaultによるシークレット管理でセキュリティを向上
  • Vector DBによりデータストレージ/検索の効率を向上
  • ベストプラクティスと標準化を促進する舗装道路型フレームワークを提供
  • チームが最初の機能開発に入る前に 約1.5週間の開発時間を節約可能

アーキテクチャ設計と技術実装

  • モジュール型アーキテクチャにより、スケーラビリティ、柔軟性、使いやすさを提供

自動化

  1. エンジニアがアプリ名などの関連詳細を提出すると、GitLabプロジェクトの作成がトリガーされる
  2. LLMアプリ向けに特化して設計されたコードスキャフォールドが生成される
  3. 同一リポジトリ内にCI/CD用のGitLab CIファイルが生成される
  4. ECR、EKSなどのステージング用インフラが生成される
  5. インフラプロビジョニング用Terraformフォルダーが生成され、本番インフラのデプロイへとつながる
  6. パイプラインの最後にGPTトークンが安全なVaultパスにプッシュされ、エンジニアへ完了通知が送信される

スキャフォールドコード構造

  1. Agents: LangChainエージェントフレームワークをベースにエージェントを初期化するコードを含む
  2. Auth: Grab内の一部API実行のための認証および認可モジュール
  3. Core: 設定の抽出(GPTトークンなど)とLLMアプリ実行のためのシークレット復号を含む
  4. Models: Grab内の中核LLM API向け構造を定義
  5. Routes: LLMアプリ向けREST APIエンドポイントを定義(ヘルスチェック、認証、認可、シンプルなエージェントなどを含む)
  6. Storage: GrabのマネージドVector DBであるPGVectorとの接続性およびDBスキーマを含む
  7. Tools: LLMエージェント用ツールとして使用される機能
  8. Tracing: 本番アプリのさまざまなメトリクス監視のため、トレーシングおよびモニタリングツールと統合
  9. Utils: ユーティリティ機能向けの基本フォルダー

インフラプロビジョニングとデプロイ

  • 同一コードベース内で、インフラプロビジョニング、デプロイ、ビルドプロセスに必要なコードを自動でスキャフォールドする包括的なパイプラインを統合
  • Terraformを使って必要なインフラをシームレスにプロビジョニング
  • デプロイパイプラインは .gitlab-ci.yml ファイルに定義され、自動化されたデプロイを保証
  • ビルドプロセスは Dockerfile に指定され、一貫したビルドを可能にする
  • 自動スキャフォールディングにより、開発者は基盤インフラやデプロイの複雑さではなく、ビジネスロジックの記述に集中できる

RAGスキャフォールディング

  • LLM-Kitを使うことで、Vector DB(PGVector)の設定およびサービス許可リスト追加のプロセスが簡素化される
  • フォーム送信後、認証情報とDBホストパスにアクセス可能
  • シークレットがVaultパスに自動追加される
  • エンジニアはスキャフォールドされたLLM-Kitアプリの設定ファイルにDBホストパスのみ含めればよい

結論

  • LLM-Kitは、GrabのAIおよびMLの革新と成長を支える重要なツール
  • チームが直面する課題を解決し、包括的でスケーラブルかつ柔軟なLLMアプリ開発フレームワークを提供することで、Grabの次世代AIアプリ開発を先導している

成長と今後の計画

  • Webサーバーの同時実行性とスケーラビリティを大幅に向上させる一方で、安定的で使いやすいSDKを提供する計画
  • 評価およびガードレールフレームワークを含む、再利用可能で組み合わせ可能なLLM SDKを提供予定
  • バージョン更新および開発ツール向けCLIを開発
  • ポーリングベースのエージェント提供機能を開発
  • こうした進展を通じて、エンジニアによりスムーズで効率的な開発体験を提供したい考え

まだコメントはありません。

まだコメントはありません。