スキーマベースのAIインターフェース
BAMLスキーマでAIプロンプトと構造化出力を定義し、対象言語のネイティブコードを生成します。サイトにはTypeScriptの型生成や、Python、TypeScript、Ruby、Goにコンパイルされる例が示されています。
BAML is a developer tool for building AI applications with type safety and reliability. It helps teams define structured AI outputs, test prompts, and generate native code for languages like Python, TypeScript, Ruby, and Go.
BAMLは、型安全性と信頼性を備えたAIアプリケーション構築向けの開発者ツールです。スキーマファーストの言語でAIプロンプトと構造化出力を定義し、その後、Python、TypeScript、Ruby、Goなどのアプリケーション言語向けにネイティブコードを生成することを中心に据えています。
サイトでは、BAMLをAI開発のための一連のワークフローとして位置づけています。プロンプトと関数を定義し、エディタまたはCI/CDパイプラインでテストし、同じ定義からコードを生成し、その結果を通常のアプリケーションコードとしてデプロイできます。製品には、BAMLプログラムを編集・実行するためのブラウザプレイグラウンドも含まれており、個人開発者、チーム、エンタープライズ向けの料金体系も用意されています。
BAMLスキーマでAIプロンプトと構造化出力を定義し、対象言語のネイティブコードを生成します。サイトにはTypeScriptの型生成や、Python、TypeScript、Ruby、Goにコンパイルされる例が示されています。
デプロイ前に出力を検証し、プロンプトをテストします。ホームページでは、スキーマ検証、CI/CDテスト、自動再試行、失敗したリクエストに対するフォールバック応答が強調されています。
ブラウザプレイグラウンドまたはエディタベースのワークフローを使って、BAMLプログラムを編集・実行できます。プレイグラウンドページには、ワークスペース、ファイルエクスプローラー、プロンプトエディタ、テストケース実行ツールが表示されています。
BAMLをさまざまなLLMプロバイダーやクライアント設定に接続できます。プレイグラウンドの例にはOpenAIとAnthropicのクライアントが含まれており、ホームページではBAMLがあらゆるLLMプロバイダーで動作すると説明されています。
開発ワークフロー向けにCLIやエディタ拡張機能を利用できます。料金ページでは有料プランにCLIとエディタ拡張機能へのアクセスが明記されており、ホームページではVS Codeと`baml-cli`コマンドに言及しています。
BAMLに特別なランタイム要件を求めず、生成されたコードを通常のアプリケーション環境にデプロイできます。ホームページでは、BAMLがAWS Lambda、Vercel、Google Cloud、Azure Functions、Railwayなどのマルチクラウドデプロイ先で利用できるネイティブコードを生成すると説明されています。
構造化されたAI出力を定義し、同じソースから型を生成したい場合にBAMLを使います。これにより、下流のコードは場当たり的なテキスト解析ではなく、予測可能な形状に依存できます。
ブラウザプレイグラウンドを使ってプロンプトを反復し、BAMLファイルを確認し、テストケースを実行してから、同じ定義をコードベース全体に展開します。
CI/CDパイプラインでBAMLを使い、変更後もプロンプトやエージェント出力が期待どおりに動作することを検証します。
Python、TypeScript、Ruby、Goとの直接統合が必要なアプリケーションスタックで、生成された言語別コードを利用します。
個別のプロンプトスクリプトではなく、開発、共同作業、プライベートスキーマのための共通ワークフローがチームに必要な場合にBAMLを使います。
BAMLには、個人開発者向けの無料プラン、開発チーム向けのTeamプラン、大規模組織向けのEnterpriseプランがあります。料金ページには、有料プランの14日間無料トライアルも表示されています。
サイトでは、BAMLがブラウザベースのプレイグラウンドで動作する様子が示されており、有料プランではCLIとエディタ拡張機能へのアクセスが説明されています。ホームページでは、VS CodeやCI/CDワークフローでの利用にも言及しています。
BAMLは、BAMLスキーマと関数から、Python、TypeScript、Ruby、Goなどの言語でネイティブ関数を生成するよう設計されています。ホームページでは、あらゆるLLMプロバイダーで動作すると説明されています。
プレイグラウンドページでは、1つのBAMLファイル内でLLMクライアント、構造化出力の型、関数プロンプト、テストケースを定義する様子が示されています。ホームページでも、デプロイ前にスキーマを検証し、プロンプトや関数をテストすることが強調されています。
料金ページには、プランのアップグレードやダウングレード、スタートアップ向け・教育向け割引、カスタム契約やアカウント管理などのエンタープライズサポートオプションが記載されています。導入に関する具体的な実装詳細は、ソースページには記載されていません。