Model Providers
Model providersは、異なる言語モデルとやり取りするために使用されます。MastraはVercel’s AI SDK をモデルルーティング層として使用し、多くのモデルに対して類似した構文を提供します:
src/mastra/agents/weather-agent.ts
import { openai } from "@ai-sdk/openai";
import { Agent } from "@mastra/core/agent";
const agent = new Agent({
name: "WeatherAgent",
instructions: "Instructions for the agent...",
model: openai("gpt-4-turbo"),
});
const result = await agent.generate("What is the weather like?");
AI SDKモデルプロバイダーの種類
AI SDKのモデルプロバイダーは、主に3つのカテゴリーに分類できます:
- AI SDKチームによって保守されている公式プロバイダー
- OpenAI互換プロバイダー
- コミュニティプロバイダー
利用可能なすべてのモデルプロバイダーのリストは、AI SDKドキュメント で確認できます。
💡
AI SDKモデルプロバイダーは、Mastraプロジェクトにインストールする必要があるパッケージです。 インストールプロセス中に選択されたデフォルトのモデルプロバイダーは、プロジェクトにインストールされます。
異なるモデルプロバイダーを使用したい場合は、そのプロバイダーもプロジェクトにインストールする必要があります。
以下は、Mastraエージェントが異なるタイプのモデルプロバイダーを使用するように設定する方法の例です:
Official providers
公式プロバイダー
公式モデルプロバイダーはAI SDKチームによって保守されています。
これらのパッケージは通常@ai-sdk/
で始まります。例:@ai-sdk/anthropic
、@ai-sdk/openai
など。
src/mastra/agents/weather-agent.ts
import { openai } from "@ai-sdk/openai";
import { Agent } from "@mastra/core/agent";
const agent = new Agent({
name: "WeatherAgent",
instructions: "Instructions for the agent...",
model: openai("gpt-4-turbo"),
});
AI SDKプロバイダーからヘルパー関数をインポートすることで、追加の設定を行うことができます。 OpenAIプロバイダーを使用した例は以下の通りです:
src/mastra/agents/weather-agent.ts
import { createOpenAI } from "@ai-sdk/openai";
import { Agent } from "@mastra/core/agent"
const openai = createOpenAI({
baseUrl: "<your-custom-base-url>",
apiKey: "<your-custom-api-key>",
...otherOptions
});
const agent = new Agent({
name: "WeatherAgent",
instructions: "Instructions for the agent...",
model: openai("<model-name>"),
});
異なるAIプロバイダーは設定に異なるオプションを持つ場合があります。詳細についてはAI SDKドキュメント を参照してください。