次の方法で共有


Foundry Local SDK リファレンス

Von Bedeutung

  • Foundry Local はプレビューで利用できます。 パブリック プレビュー リリースでは、デプロイ中の機能に早期にアクセスできます。
  • 一般提供 (GA) の前は、機能、アプローチ、プロセスが変更されたり、機能が制限されたりする場合があります。

Foundry Local SDK は、データ プレーン推論コードとは別のコントロール プレーン操作を提供することで、ローカル環境での AI モデル管理を簡素化します。 このリファレンスでは、Python、JavaScript、C#、Rust の SDK 実装について説明します。

Python SDK リファレンス

取り付け

Python パッケージをインストールします。

pip install foundry-local-sdk

FoundryLocalManager クラス

FoundryLocalManager クラスには、モデル、キャッシュ、および Foundry Local サービスを管理するためのメソッドが用意されています。

初期化

from foundry_local import FoundryLocalManager

# Initialize and optionally bootstrap with a model
manager = FoundryLocalManager(alias_or_model_id=None, bootstrap=True)
  • alias_or_model_id: (省略可能) 起動時にダウンロードして読み込むエイリアスまたはモデル ID。
  • bootstrap: (既定値は True) True の場合は、実行されていない場合はサービスを開始し、指定された場合はモデルを読み込みます。

エイリアスに関する注意事項

このリファレンスで概説されている多くのメソッドには、シグネチャに alias_or_model_id パラメーターがあります。 エイリアスまたはモデル ID を値としてメソッドに渡すことができます。 エイリアスを使用すると、次のようになります。

  • 使用可能なハードウェアに 最適なモデル を選択します。 たとえば、Nvidia CUDA GPU が使用可能な場合、Foundry Local は CUDA モデルを選択します。 サポートされている NPU が使用可能な場合、Foundry Local は NPU モデルを選択します。
  • モデル ID を覚えておく必要なく、短い名前を使用できます。

ヒント

アプリケーションをデプロイすると、Foundry Local は実行時にエンド ユーザーのマシンに最適なモデルを取得するため、 alias_or_model_id パラメーターに エイリアス を渡すことをお勧めします。

サービス管理

メソッド 署名 説明
is_service_running() () -> bool Foundry Local サービスが実行されているかどうかを確認します。
start_service() () -> None Foundry Local サービスを開始します。
service_uri @property -> str サービス URI を返します。
endpoint @property -> str サービス エンドポイントを返します。
api_key @property -> str API キーを返します (env または既定値から)。

カタログ管理

メソッド 署名 説明
list_catalog_models() () -> list[FoundryModelInfo] カタログ内で使用可能なすべてのモデルを一覧表示します。
refresh_catalog() () -> None モデル カタログを更新します。
get_model_info() (alias_or_model_id: str, raise_on_not_found=False) -> FoundryModelInfo or None エイリアスまたは ID でモデル情報を取得します。

キャッシュ管理

メソッド 署名 説明
get_cache_location() () -> str モデル キャッシュ ディレクトリ パスを返します。
list_cached_models() () -> list[FoundryModelInfo] ローカル キャッシュにダウンロードされたモデルを一覧表示します。

モデル管理

メソッド 署名 説明
download_model() (alias_or_model_id: str, token: str = None, force: bool = False) -> FoundryModelInfo モデルをローカル キャッシュにダウンロードします。
load_model() (alias_or_model_id: str, ttl: int = 600) -> FoundryModelInfo 推論サーバーにモデルを読み込みます。
unload_model() (alias_or_model_id: str, force: bool = False) -> None 推論サーバーからモデルをアンロードします。
list_loaded_models() () -> list[FoundryModelInfo] サービスに現在読み込まれているすべてのモデルを一覧表示します。

使用例

次のコードは、 FoundryManager クラスを使用してモデルを管理し、Foundry Local サービスと対話する方法を示しています。

from foundry_local import FoundryLocalManager

# By using an alias, the most suitable model will be selected 
# to your end-user's device.
alias = "phi-3.5-mini"

# Create a FoundryLocalManager instance. This will start the Foundry.
manager = FoundryLocalManager()

# List available models in the catalog
catalog = manager.list_catalog_models()
print(f"Available models in the catalog: {catalog}")

# Download and load a model
model_info = manager.download_model(alias)
model_info = manager.load_model(alias)
print(f"Model info: {model_info}")

# List models in cache
local_models = manager.list_cached_models()
print(f"Models in cache: {local_models}")

# List loaded models
loaded = manager.list_loaded_models()
print(f"Models running in the service: {loaded}")

# Unload a model
manager.unload_model(alias)

OpenAI SDK との統合

OpenAI パッケージをインストールします。

pip install openai

次のコードは、 FoundryLocalManager を OpenAI SDK と統合してローカル モデルと対話する方法を示しています。

import openai
from foundry_local import FoundryLocalManager

# By using an alias, the most suitable model will be downloaded 
# to your end-user's device.
alias = "phi-3.5-mini"

# Create a FoundryLocalManager instance. This will start the Foundry 
# Local service if it is not already running and load the specified model.
manager = FoundryLocalManager(alias)

# The remaining code us es the OpenAI Python SDK to interact with the local model.

# Configure the client to use the local Foundry service
client = openai.OpenAI(
    base_url=manager.endpoint,
    api_key=manager.api_key  # API key is not required for local usage
)

# Set the model to use and generate a streaming response
stream = client.chat.completions.create(
    model=manager.get_model_info(alias).id,
    messages=[{"role": "user", "content": "Why is the sky blue?"}],
    stream=True
)

# Print the streaming response
for chunk in stream:
    if chunk.choices[0].delta.content is not None:
        print(chunk.choices[0].delta.content, end="", flush=True)

JavaScript SDK リファレンス

取り付け

npm からパッケージをインストールします。

npm install foundry-local-sdk

FoundryLocalManager クラス

FoundryLocalManager クラスを使用すると、ブラウザー環境と Node.js 環境の両方で、モデルの管理、キャッシュの制御、Foundry Local サービスとの対話を行うことができます。

初期化

import { FoundryLocalManager } from "foundry-local-sdk";

const foundryLocalManager = new FoundryLocalManager()

使用できるオプションは

  • serviceUrl: Foundry Local サービスのベース URL
  • fetch: (省略可能) Node.js などの環境のカスタム フェッチ実装

エイリアスに関する注意事項

このリファレンスで概説されている多くのメソッドには、シグネチャに aliasOrModelId パラメーターがあります。 エイリアスまたはモデル ID を値としてメソッドに渡すことができます。 エイリアスを使用すると、次のようになります。

  • 使用可能なハードウェアに 最適なモデル を選択します。 たとえば、Nvidia CUDA GPU が使用可能な場合、Foundry Local は CUDA モデルを選択します。 サポートされている NPU が使用可能な場合、Foundry Local は NPU モデルを選択します。
  • モデル ID を覚えておく必要なく、短い名前を使用できます。

ヒント

アプリケーションをデプロイすると、Foundry Local は実行時にエンド ユーザーのマシンに最適なモデルを取得するため、 aliasOrModelId パラメーターに エイリアス を渡すことをお勧めします。

サービス管理

メソッド 署名 説明
init() (aliasOrModelId?: string) => Promise<void> SDK を初期化し、必要に応じてモデルを読み込みます。
isServiceRunning() () => Promise<boolean> Foundry Local サービスが実行されているかどうかを確認します。
startService() () => Promise<void> Foundry Local サービスを開始します。
serviceUrl string Foundry Local サービスのベース URL。
endpoint string API エンドポイント (serviceUrl + /v1)。
apiKey string API キー (なし)。

カタログ管理

メソッド 署名 説明
listCatalogModels() () => Promise<FoundryModelInfo[]> カタログ内で使用可能なすべてのモデルを一覧表示します。
refreshCatalog() () => Promise<void> モデル カタログを更新します。
getModelInfo() (aliasOrModelId: string, throwOnNotFound = false) => Promise<FoundryModelInfo \| null> エイリアスまたは ID でモデル情報を取得します。

キャッシュ管理

メソッド 署名 説明
getCacheLocation() () => Promise<string> モデル キャッシュ ディレクトリ パスを返します。
listCachedModels() () => Promise<FoundryModelInfo[]> ローカル キャッシュにダウンロードされたモデルを一覧表示します。

モデル管理

メソッド 署名 説明
downloadModel() (aliasOrModelId: string, token?: string, force = false, onProgress?) => Promise<FoundryModelInfo> モデルをローカル キャッシュにダウンロードします。
loadModel() (aliasOrModelId: string, ttl = 600) => Promise<FoundryModelInfo> 推論サーバーにモデルを読み込みます。
unloadModel() (aliasOrModelId: string, force = false) => Promise<void> 推論サーバーからモデルをアンロードします。
listLoadedModels() () => Promise<FoundryModelInfo[]> サービスに現在読み込まれているすべてのモデルを一覧表示します。

使用例

次のコードは、 FoundryLocalManager クラスを使用してモデルを管理し、Foundry Local サービスと対話する方法を示しています。

import { FoundryLocalManager } from "foundry-local-sdk";

// By using an alias, the most suitable model will be downloaded 
// to your end-user's device.
// TIP: You can find a list of available models by running the 
// following command in your terminal: `foundry model list`.
const alias = "phi-3.5-mini";

const manager = new FoundryLocalManager()

// Initialize the SDK and optionally load a model
const modelInfo = await manager.init(alias)
console.log("Model Info:", modelInfo)

// Check if the service is running
const isRunning = await manager.isServiceRunning()
console.log(`Service running: ${isRunning}`)

// List available models in the catalog
const catalog = await manager.listCatalogModels()

// Download and load a model
await manager.downloadModel(alias)
await manager.loadModel(alias)

// List models in cache
const localModels = await manager.listCachedModels()

// List loaded models
const loaded = await manager.listLoadedModels()

// Unload a model
await manager.unloadModel(alias)

OpenAI クライアントとの統合

OpenAI パッケージをインストールします。

npm install openai

次のコードは、 FoundryLocalManager を OpenAI クライアントと統合してローカル モデルと対話する方法を示しています。

import { OpenAI } from "openai";
import { FoundryLocalManager } from "foundry-local-sdk";

// By using an alias, the most suitable model will be downloaded 
// to your end-user's device.
// TIP: You can find a list of available models by running the 
// following command in your terminal: `foundry model list`.
const alias = "phi-3.5-mini";

// Create a FoundryLocalManager instance. This will start the Foundry 
// Local service if it is not already running.
const foundryLocalManager = new FoundryLocalManager()

// Initialize the manager with a model. This will download the model 
// if it is not already present on the user's device.
const modelInfo = await foundryLocalManager.init(alias)
console.log("Model Info:", modelInfo)

const openai = new OpenAI({
  baseURL: foundryLocalManager.endpoint,
  apiKey: foundryLocalManager.apiKey,
});

async function streamCompletion() {
    const stream = await openai.chat.completions.create({
      model: modelInfo.id,
      messages: [{ role: "user", content: "What is the golden ratio?" }],
      stream: true,
    });
  
    for await (const chunk of stream) {
      if (chunk.choices[0]?.delta?.content) {
        process.stdout.write(chunk.choices[0].delta.content);
      }
    }
}
  
streamCompletion();

ブラウザー使用状況

SDK には、ブラウザーと互換性のあるバージョンが含まれています。このバージョンでは、サービス URL を手動で指定する必要があります。

import { FoundryLocalManager } from "foundry-local-sdk/browser"

// Specify the service URL
// Run the Foundry Local service using the CLI: `foundry service start`
// and use the URL from the CLI output
const endpoint = "ENDPOINT"

const manager = new FoundryLocalManager({serviceUrl: endpoint})

// Note: The `init`, `isServiceRunning`, and `startService` methods 
// are not available in the browser version

ブラウザーのバージョンでは、 initisServiceRunning、および startService メソッドはサポートされていません。 ブラウザー環境で SDK を使用する前に、Foundry Local サービスが実行されていることを確認する必要があります。 Foundry ローカル CLI: foundry service startを使用してサービスを開始できます。 CLI 出力からサービス URL を収集できます。

使用例

import { FoundryLocalManager } from "foundry-local-sdk/browser"

// Specify the service URL
// Run the Foundry Local service using the CLI: `foundry service start`
// and use the URL from the CLI output
const endpoint = "ENDPOINT"

const manager = new FoundryLocalManager({serviceUrl: endpoint})

const alias = 'phi-3.5-mini'

// Get all available models
const catalog = await manager.listCatalogModels()
console.log("Available models in catalog:", catalog)

// Download and load a specific model
await manager.downloadModel(alias)
await manager.loadModel(alias)

// View models in your local cache
const localModels = await manager.listLocalModels()
console.log("Cached models:", catalog)

// Check which models are currently loaded
const loaded = await manager.listLoadedModels()
console.log("Loaded models in inference service:", loaded)

// Unload a model when finished
await manager.unloadModel(alias)

C# SDK リファレンス

取り付け

Foundry Local C# SDK を使用するには、NuGet パッケージをインストールする必要があります。

dotnet add package Microsoft.AI.Foundry.Local

エイリアスに関する注意事項

このリファレンスで概説されている多くのメソッドには、シグネチャに aliasOrModelId パラメーターがあります。 エイリアスまたはモデル ID を値としてメソッドに渡すことができます。 エイリアスを使用すると、次のようになります。

  • 使用可能なハードウェアに 最適なモデル を選択します。 たとえば、Nvidia CUDA GPU が使用可能な場合、Foundry Local は CUDA モデルを選択します。 サポートされている NPU が使用可能な場合、Foundry Local は NPU モデルを選択します。
  • モデル ID を覚えておく必要なく、短い名前を使用できます。

ヒント

アプリケーションをデプロイすると、Foundry Local は実行時にエンド ユーザーのマシンに最適なモデルを取得するため、 aliasOrModelId パラメーターに エイリアス を渡すことをお勧めします。

列挙型

DeviceType

モデルの実行に使用されるデバイスの種類を表します。

価値 説明
CPU (中央処理装置) CPU デバイス
GPU(グラフィック・プロセッシング・ユニット) GPU デバイス
NPU NPU デバイス
無効です 無効/不明

ExecutionProvider

モデル推論の実行プロバイダーを表します。

価値 説明
無効です プロバイダーが無効です
CPUExecutionProvider CPU の実行
WebGpuExecutionProvider WebGPU の実行
CUDAExecutionProvider CUDA GPU の実行
QNNExecutionProvider Qualcomm NPU の実行

FoundryLocalManager クラス

モデル、キャッシュ、Foundry Local サービスを管理するためのメイン エントリ ポイント。

建設

var manager = new FoundryLocalManager();

特性

プロパティ タイプ 説明
ServiceUri Uri Foundry Local サービスのベース URI。
エンドポイント Uri API エンドポイント (ServiceUri + /v1)。
APIキー string API キー (既定値: "OPENAI_API_KEY")。
サービスが稼働中ですか bool サービスが実行されているかどうかを示します。

サービス管理

サービスを開始する
await manager.StartServiceAsync(CancellationToken.None);

Foundry Local サービスがまだ実行されていない場合は開始します。

サービスを停止する
await manager.StopServiceAsync(CancellationToken.None);

Foundry Local サービスを停止します。

モデルの開始と読み込み (静的ヘルパー)
var manager = await FoundryLocalManager.StartModelAsync("aliasOrModelId");

サービスを開始し、指定したモデルを読み込みます。

カタログ管理

すべてのカタログ モデルを一覧表示する
List<ModelInfo> models = await manager.ListCatalogModelsAsync();

カタログ内で使用可能なすべてのモデルを返します。

カタログを更新する
manager.RefreshCatalog();

キャッシュされたカタログをクリアして、次のアクセス時に再読み込みできるようにします。

エイリアスまたは ID でモデル情報を取得する
ModelInfo? info = await manager.GetModelInfoAsync("aliasOrModelId");

見つからない場合は、モデル情報または null を返します。

キャッシュ管理

キャッシュの場所を取得する
string cachePath = await manager.GetCacheLocationAsync();

モデルがキャッシュされるディレクトリ パスを返します。

キャッシュされたモデルを一覧表示する
List<ModelInfo> cached = await manager.ListCachedModelsAsync();

ローカル キャッシュにダウンロードされたモデルを返します。

モデル管理

モデルをダウンロードする
ModelInfo? model = await manager.DownloadModelAsync("aliasOrModelId");

モデルをローカル キャッシュにダウンロードします。

進行状況のあるモデルをダウンロードする
await foreach (var progress in manager.DownloadModelWithProgressAsync("aliasOrModelId"))
{
    // progress.Percentage, progress.Status, etc.
}

ダウンロードの進行状況はストリームによって更新されます。

モデルを読み込む
ModelInfo loaded = await manager.LoadModelAsync("aliasOrModelId");

推論サーバーにモデルを読み込みます。

読み込まれたモデルを一覧表示する
List<ModelInfo> loaded = await manager.ListLoadedModelsAsync();

サービスに現在読み込まれているすべてのモデルを一覧表示します。

モデルをアンロードする
await manager.UnloadModelAsync("aliasOrModelId");

推論サーバーからモデルをアンロードします。

廃棄

適切なクリーンアップのために、 IDisposableIAsyncDisposable の両方を実装します。

manager.Dispose();
// or
await manager.DisposeAsync();

モデルの種類

このページでは、Foundry Local C# SDK でモデル、ダウンロード、ランタイム情報を記述するために使用される主要なデータ型について説明します。

PromptTemplate

モデルのプロンプト テンプレートを表します。

プロパティ タイプ 説明
アシスタント ひも アシスタントのプロンプト テンプレート。
Prompt ひも ユーザー プロンプト テンプレート。

Runtime

モデルのランタイム環境について説明します。

プロパティ タイプ 説明
デバイスタイプ DeviceType デバイスの種類 (CPU、GPU など)。
実行プロバイダー ExecutionProvider 実行プロバイダー (CUDA、CPU など)。

ModelSettings

モデル固有のパラメーターを表します。

プロパティ タイプ 説明
パラメーター List<JsonElement> モデル パラメーターコレクション

ModelInfo

Foundry Local カタログまたはキャッシュ内のモデルについて説明します。

プロパティ タイプ 説明
ModelId ひも 一意のモデル識別子。
DisplayName ひも 人間が判読できるモデル名。
プロバイダータイプ ひも プロバイダーの種類 (例: "CUDA"、"CPU")。
うり ひも モデルの URI をダウンロードします。
Version ひも モデル バージョン。
モデルタイプ ひも モデルの種類 (例: "llm"、"embedding")。
プロンプトテンプレート プロンプトテンプレート モデルのプロンプト テンプレート。
発行者 ひも モデルの発行元。
課題 ひも タスクの種類 (例: "chat"、"completion")。
ランタイム ランタイム ランタイム環境の情報。
ファイルサイズMB long モデル ファイル サイズ (MB)。
ModelSettings ModelSettings モデル固有の設定。
別名 ひも モデルのエイリアス。
ツール呼び出しをサポート ブール (bool) ツール呼び出しがサポートされているかどうか。
ライセンス ひも ライセンス識別子。
ライセンス説明 ひも ライセンスの説明。
ParentModelUri ひも 親モデルの URI (存在する場合)。

ModelDownloadProgress

モデルのダウンロード操作の進行状況を表します。

プロパティ タイプ 説明
百分率 double ダウンロード完了率 (0 から 100)。
完了済み ブール (bool) ダウンロードが完了したかどうか。
ModelInfo ModelInfo? ダウンロードが完了した場合のモデル情報。
エラーメッセージ string? ダウンロードに失敗した場合のエラー メッセージ。

静的メソッド:

  • Progress(double percentage): 進行状況の更新を作成します。
  • Completed(ModelInfo modelInfo): 完了した進捗結果を作成します。
  • Error(string errorMessage): エラー結果を作成します。

使用例

using Microsoft.AI.Foundry.Local;

var manager = new FoundryLocalManager();
await manager.StartServiceAsync();

var models = await manager.ListCatalogModelsAsync();
var alias = "phi-3.5-mini";

await manager.DownloadModelAsync(alias);
await manager.LoadModelAsync(alias);

var loaded = await manager.ListLoadedModelsAsync();

await manager.UnloadModelAsync(alias);

manager.Dispose();

Rust SDK リファレンス

Rust SDK for Foundry Local は、モデルの管理、キャッシュの制御、Foundry Local サービスとの対話を行う方法を提供します。

取り付け

Foundry Local Rust SDK を使用するには、 Cargo.tomlに次のコードを追加します。

[dependencies]
foundry-local-sdk = "0.1"

または、次の cargoを使用して Foundry Local クレートを追加することもできます。

cargo add foundry-local

FoundryLocalManager

Foundry Local SDK 操作のマネージャー。

田畑

  • service_uri: Option<String> — Foundry サービスの URI。
  • client: Option<HttpClient> — API 要求の HTTP クライアント。
  • catalog_list: Option<Vec<FoundryModelInfo>> — カタログ モデルのキャッシュされたリスト。
  • catalog_dict: Option<HashMap<String, FoundryModelInfo>> — カタログ モデルのキャッシュされたディクショナリ。
  • timeout: Option<u64> — オプションの HTTP クライアント タイムアウト。

メソッド

  • pub fn builder() -> FoundryLocalManagerBuilder
    FoundryLocalManager用の新しいビルダーを作成します。

  • pub fn service_uri(&self) -> Result<&str>
    サービス URI を取得します。
    収益: Foundry サービスの URI。

  • fn client(&self) -> Result<&HttpClient>
    HTTP クライアント インスタンスを取得します。
    戻り値: HTTP クライアント。

  • pub fn endpoint(&self) -> Result<String>
    サービスのエンドポイントを取得します。
    収益: エンドポイント URL。

  • pub fn api_key(&self) -> String
    認証用の API キーを取得します。
    収益: API キー。

  • pub fn is_service_running(&mut self) -> bool
    サービスが実行されているかどうかを確認し、見つかった場合はサービス URI を設定します。
    戻り値: 実行中の場合は true、それ以外の場合は false

  • pub fn start_service(&mut self) -> Result<()>
    Foundry Local サービスを開始します。

  • pub async fn list_catalog_models(&mut self) -> Result<&Vec<FoundryModelInfo>>
    カタログで使用可能なモデルの一覧を取得します。

  • pub fn refresh_catalog(&mut self)
    カタログ キャッシュを更新します。

  • pub async fn get_model_info(&mut self, alias_or_model_id: &str, raise_on_not_found: bool) -> Result<FoundryModelInfo>
    エイリアスまたは ID でモデル情報を取得します。
    引数:

    • alias_or_model_id: エイリアスまたはモデル ID。
    • raise_on_not_found: true の場合、見つからない時はエラーとなります。
  • pub async fn get_cache_location(&self) -> Result<String>
    キャッシュの場所を文字列として取得します。

  • pub async fn list_cached_models(&mut self) -> Result<Vec<FoundryModelInfo>>
    キャッシュされたモデルを一覧表示します。

  • pub async fn download_model(&mut self, alias_or_model_id: &str, token: Option<&str>, force: bool) -> Result<FoundryModelInfo>
    モデルをダウンロードします。
    引数:

    • alias_or_model_id: エイリアスまたはモデル ID。
    • token: オプションの認証トークン。
    • force: 既にキャッシュされている場合は、強制的に再ダウンロードします。
  • pub async fn load_model(&mut self, alias_or_model_id: &str, ttl: Option<i32>) -> Result<FoundryModelInfo>
    推論用のモデルを読み込みます。
    引数:

    • alias_or_model_id: エイリアスまたはモデル ID。
    • ttl: (省略可能) Time-to-Live (秒単位)。
  • pub async fn unload_model(&mut self, alias_or_model_id: &str, force: bool) -> Result<()>
    モデルをアンロードします。
    引数:

    • alias_or_model_id: エイリアスまたはモデル ID。
    • force:使用中でも強制的にアンロードします。
  • pub async fn list_loaded_models(&mut self) -> Result<Vec<FoundryModelInfo>>
    読み込まれたモデルを一覧表示します。

FoundryLocalManagerBuilder

FoundryLocalManager インスタンスを作成するためのビルダー。

田畑

  • alias_or_model_id: Option<String> - ダウンロードして読み込むエイリアスまたはモデル ID。
  • bootstrap: bool — サービスが実行されていない場合に開始するかどうか。
  • timeout_secs: Option<u64> — HTTP クライアントのタイムアウト (秒単位)。

メソッド

  • pub fn new() -> Self
    新しいビルダー インスタンスを作成します。

  • pub fn alias_or_model_id(mut self, alias_or_model_id: impl Into<String>) -> Self
    ダウンロードとロードのためのエイリアスまたはモデル ID を設定します。

  • pub fn bootstrap(mut self, bootstrap: bool) -> Self
    実行されていない場合にサービスを開始するかどうかを設定します。

  • pub fn timeout_secs(mut self, timeout_secs: u64) -> Self
    HTTP クライアントのタイムアウトを秒単位で設定します。

  • pub async fn build(self) -> Result<FoundryLocalManager>
    FoundryLocalManager インスタンスをビルドします。

FoundryModelInfo

モデルに関する情報を表します。

田畑

  • alias: String — モデルの別名。
  • id: String — モデル ID。
  • version: String - モデル バージョン。
  • runtime: ExecutionProvider — 実行プロバイダー (CPU、CUDA など)。
  • uri: String — モデル URI。
  • file_size_mb: i32 — モデル ファイル サイズ (MB)。
  • prompt_template: serde_json::Value — モデルのプロンプト テンプレート。
  • provider: String — プロバイダー名。
  • publisher: String — パブリッシャー名。
  • license: String — ライセンスの種類。
  • task: String — モデル タスク (テキスト生成など)。

メソッド

  • from_list_response(response: &FoundryListResponseModel) -> Self
    カタログ応答から FoundryModelInfo を作成します。

  • to_download_body(&self) -> serde_json::Value
    モデル情報をダウンロード要求用の JSON 本文に変換します。

ExecutionProvider

サポートされている実行プロバイダーの列挙型。

  • CPU
  • WebGPU
  • CUDA
  • QNN
メソッド
  • get_alias(&self) -> String
    実行プロバイダーの文字列エイリアスを返します。

ModelRuntime

モデルのランタイム環境について説明します。

  • device_type: DeviceType
  • execution_provider: ExecutionProvider