← プロジェクト一覧に戻る

AI SDK
TypeScript製AIアプリの土台。20社以上のモデルを同じ呼び出し方で扱える層
公式Apache-2.0
AI SDKとは
作業の大半は4つの関数が担います。文章にはgenerateTextとstreamText、スキーマで形を決めたデータにはgenerateObjectとstreamObjectを使い、背後のモデルがOpenAIでもAnthropicでもGoogleでもBedrockでもローカルのものでも、呼び出し方は変わりません。もう半分はUI側のフックで、逐次表示のチャット画面を自前のパーサーなしに数行で書けます。ただしこれはモデル接続とUIの層であり、エージェントの実行基盤ではありません。永続的なメモリ、検索、耐久性のある処理制御は別の道具の担当です。
AI SDKで何ができますか?
- どのプロバイダも同じ書き方で呼ぶ — generateTextとstreamTextはモデルオブジェクトとプロンプトを受け取ります。OpenAIをAnthropic、Google、xAI、Azure、Bedrock、Groq、Mistral、DeepSeekに替えても、変わるのはそのオブジェクトだけで呼び出し側は変わりません。
- 文章ではなくデータを受け取る — generateObjectとstreamObjectはスキーマを渡すと、それに一致する値を返します。書類からの項目抽出やフォームの自動入力に、パーサーや壊れた出力への再試行ループを自作する必要がありません。
- モデルにツールを渡す — toolヘルパーは説明・スキーマ・実行関数を1つにまとめ、SDKが呼び出しのループを回します。停止条件は暗黙ではなく、こちらで指定できます。
- 配管を書かずにUIへ流し込む — フレームワーク非依存のフックがReactとNext.js、VueとNuxt、SvelteとSvelteKit、Expo、TanStack Startに対応し、メッセージ一覧、処理中の状態、トークンの逐次受信を引き受けます。
- 既存のエージェントハーネスを同じAPIで動かす — 既製のエージェントハーネスを統一インターフェースの背後に置く仕組みが別途あり、コーディングエージェント的なループを、素のモデル呼び出しと同じコードベースから動かせます。
AI SDKを選ぶ前に
- モデルと会話する層であって、エージェントを走らせる層ではありません。長期記憶、検索、耐久性のある多段実行は別の道具から持ってくることになります。
スター推移
8月21日〜8月28日 · +136
26.3k26.5k
よくある質問
AI SDKは商用利用できますか?
AI SDKはApache-2.0ライセンスで公開されています。OSI承認のオープンソースライセンスで、商用利用が認められています。
AI SDKはどの形で使えますか?
AI SDKはセルフホスト・ローカル実行の形で利用できます。
ドキュメント
vercel/ai のREADMEより転載(UNKNOWN — read the LICENSE file)。 原文を読む ↗
packages/ai/README.md