AWS、Strands AgentsのカスタムLLM統合を簡素化
- •AWSは、SageMakerエンドポイントとStrands Agents間の互換性ギャップを埋めるため、カスタムモデルパーサーを導入した。
- •オープンソースのml-container-creatorを活用し、Llama 3.1における自前コンテナの持ち込み(BYOC)デプロイを自動化した。
- •カスタムのLlamaModelProviderクラスにより、OpenAI互換の形式をBedrock Messages API構造に変換し、シームレスな統合を可能にした。
Amazon SageMaker AI上で大規模言語モデル(LLM)を運用する組織にとって、レスポンス形式の不一致は大きな技術的障壁であった。SGLangやvLLMといった主要なフレームワークはOpenAI互換の出力を提供するが、Strands Agents SDKはBedrock Messages API形式を厳密に要求するためである。この形式の乖離により、開発者は好みの推論フレームワークを使用する際に手動での調整を強いられたり、実行時のエラーに直面したりすることが少なくなかった。
この課題に対し、SageMakerAIModelクラスを拡張してカスタムパーサー層を構築する解決策が提示された。このアプローチでは、Llama 3.1などから送られるデータストリームを、Strandsが期待する特定の構造へとリアルタイムで変換する。具体的には、サーバー送信イベント(SSE)を処理するカスタムストリームメソッドを実装することで、メッセージ内容の抽出や使用状況のメタデータを適切に処理し、エージェントとモデルサーバー間の正確な対話を保証する。
プロセスの効率化に向けて、AWSはオープンソースのジェネレーターであるml-container-creatorを活用している。これはDockerfileやデプロイスクリプトの作成を自動化するツールである。こうしたBYOC(Bring Your Own Container)戦略を採用することで、開発チームはインフラのコストやコンプライアンスを詳細に制御しつつ、簡潔で高度なエージェントインターフェースを維持できるようになった。その結果、インフラの選択肢を犠牲にすることなく、特化型モデルを高度な対話型AIワークフローに組み込める柔軟なアーキテクチャが実現した。