Поделиться через


Справочник по локальному пакету SDK для Foundry

Это важно

  • Foundry Local доступен в предварительной версии. Общедоступные предварительные выпуски предоставляют ранний доступ к функциям, которые находятся в активном развертывании.
  • Функции, подходы и процессы могут изменяться или иметь ограниченные возможности до общедоступной доступности.

Локальный пакет SDK Foundry упрощает управление моделями ИИ в локальных средах, предоставляя операции уровня управления отдельно от кода вывода на уровне данных. В этом справочнике описана реализация пакета SDK для Python, JavaScript, C# и Rust.

Справочник по пакету SDK для Python

Установка

Установите пакет Python:

pip install foundry-local-sdk

Класс FoundryLocalManager

Класс FoundryLocalManager предоставляет методы для управления моделями, кэшем и локальной службой Foundry.

Инициализация

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: (необязательно) Псевдоним или идентификатор модели для скачивания и загрузки при запуске.
  • bootstrap: (по умолчанию true) Если значение true, запускает службу, если она не запущена и загружает модель, если она указана.

Примечание по псевдонимам

Многие методы, описанные в этой ссылке, имеют alias_or_model_id параметр в сигнатуре. Можно передать в метод псевдоним или идентификатор модели в качестве значения. Использование псевдонима позволит:

  • Выберите лучшую модель для доступного оборудования. Например, если gpu Nvidia CUDA доступен, Foundry Local выбирает модель CUDA. Если доступен поддерживаемый NPU, Foundry Local выбирает модель NPU.
  • Позволяет использовать более короткое имя без необходимости запоминать идентификатор модели.

Подсказка

Рекомендуется передать в параметр alias_or_model_idпсевдоним, так как при развертывании приложения Foundry Local получает наилучшую модель для компьютера конечного пользователя в режиме выполнения.

Управление службой

Метод Подпись Описание
is_service_running() () -> bool Проверяет, запущена ли локальная служба Foundry.
start_service() () -> None Запускает локальную службу Foundry.
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 Возвращает сведения о модели по псевдониму или идентификатору.

Управление кэшем

Метод Подпись Описание
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.

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)

Интеграция с пакетом SDK OpenAI

Установите пакет OpenAI:

pip install openai

В следующем коде демонстрируется, как интегрировать FoundryLocalManager с SDK OpenAI для взаимодействия с локальной моделью.

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)

Справочник по пакету SDK для JavaScript

Установка

Установите пакет из npm:

npm install foundry-local-sdk

Класс FoundryLocalManager

Класс FoundryLocalManager позволяет управлять моделями, управлять кэшем и взаимодействовать с локальной службой Foundry в браузерах и Node.js средах.

Инициализация

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

const foundryLocalManager = new FoundryLocalManager()

Доступные варианты:

  • serviceUrl: базовый URL-адрес локальной службы Foundry
  • fetch: (необязательно) Настраиваемая функция извлечения для таких сред, как Node.js

Примечание по псевдонимам

Многие методы, описанные в этой ссылке, имеют aliasOrModelId параметр в сигнатуре. Можно передать в метод псевдоним или идентификатор модели в качестве значения. Использование псевдонима позволит:

  • Выберите лучшую модель для доступного оборудования. Например, если gpu Nvidia CUDA доступен, Foundry Local выбирает модель CUDA. Если доступен поддерживаемый NPU, Foundry Local выбирает модель NPU.
  • Позволяет использовать более короткое имя без необходимости запоминать идентификатор модели.

Подсказка

Рекомендуется передать в параметр aliasOrModelIdпсевдоним, так как при развертывании приложения Foundry Local получает наилучшую модель для компьютера конечного пользователя в режиме выполнения.

Управление службой

Метод Подпись Описание
init() (aliasOrModelId?: string) => Promise<void> Инициализирует пакет SDK и при необходимости загружает модель.
isServiceRunning() () => Promise<boolean> Проверяет, запущена ли локальная служба Foundry.
startService() () => Promise<void> Запускает локальную службу Foundry.
serviceUrl string Базовый URL-адрес локальной службы Foundry.
endpoint string Конечная точка API (serviceUrl + /v1).
apiKey string Ключ API (нет).

Управление каталогами

Метод Подпись Описание
listCatalogModels() () => Promise<FoundryModelInfo[]> Выводит список всех доступных моделей в каталоге.
refreshCatalog() () => Promise<void> Обновляет каталог моделей.
getModelInfo() (aliasOrModelId: string, throwOnNotFound = false) => Promise<FoundryModelInfo \| null> Возвращает сведения о модели по псевдониму или идентификатору.

Управление кэшем

Метод Подпись Описание
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.

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

Замечание

Версия браузера не поддерживает методы init, isServiceRunning и startService. Перед использованием пакета SDK в среде браузера необходимо убедиться, что локальная служба Foundry запущена. Вы можете запустить службу с помощью локального интерфейса командной строки Foundry: foundry service start. 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)

Справочник по пакету SDK для C#

Установка

Чтобы использовать Local C# SDK Foundry, необходимо установить пакет NuGet:

dotnet add package Microsoft.AI.Foundry.Local

Примечание по псевдонимам

Многие методы, описанные в этой ссылке, имеют aliasOrModelId параметр в сигнатуре. Можно передать в метод псевдоним или идентификатор модели в качестве значения. Использование псевдонима позволит:

  • Выберите лучшую модель для доступного оборудования. Например, если gpu Nvidia CUDA доступен, Foundry Local выбирает модель CUDA. Если доступен поддерживаемый NPU, Foundry Local выбирает модель NPU.
  • Позволяет использовать более короткое имя без необходимости запоминать идентификатор модели.

Подсказка

Рекомендуется передать в параметр aliasOrModelIdпсевдоним, так как при развертывании приложения Foundry Local получает наилучшую модель для компьютера конечного пользователя в режиме выполнения.

Перечисления

DeviceType

Представляет тип устройства, используемого для выполнения модели.

Ценность Описание
ЦП Устройство ЦП
Графический процессор Устройство GPU
НПУ Устройство NPU
Недопустимо Недопустимый или неизвестный

ExecutionProvider

Представляет поставщика выполнения для вывода модели.

Ценность Описание
Недопустимо Недопустимый поставщик
CPUExecutionProvider Выполнение ЦП
WebGpuExecutionProvider Выполнение WebGPU
CUDAExecutionProvider Выполнение CUDA на GPU
QNNExecutionProvider Выполнение NPU Qualcomm

FoundryLocalManager Класс

Основная точка входа для управления моделями, кэшем и локальной службой Foundry.

Строительство

var manager = new FoundryLocalManager();

Свойства

Недвижимость Тип Описание
ServiceUri Uri Базовый УРИ локальной службы Foundry.
Конечная точка Uri Конечная точка API (ServiceUri + /v1).
Ключ API (ApiKey) string Ключ API (по умолчанию: "OPENAI_API_KEY").
IsServiceRunning bool Указывает, запущена ли служба.

Управление службой

Запуск службы
await manager.StartServiceAsync(CancellationToken.None);

Запускает локальную службу Foundry, если она еще не запущена.

Остановка службы
await manager.StopServiceAsync(CancellationToken.None);

Останавливает локальную службу Foundry.

Запуск и загрузка модели (статическое вспомогательное средство)
var manager = await FoundryLocalManager.StartModelAsync("aliasOrModelId");

Запускает службу и загружает указанную модель.

Управление каталогами

Перечислить все модели каталога
List<ModelInfo> models = await manager.ListCatalogModelsAsync();

Возвращает все доступные модели в каталоге.

Обновление каталога
manager.RefreshCatalog();

Очищает кэшированный каталог, чтобы он был перезагружен при следующем доступе.

Получение сведений о модели по псевдониму или идентификатору
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");

Выгружает модель с сервера вывода.

Устранение

Реализует оба IDisposable и IAsyncDisposable для правильной очистки.

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

Типы моделей

На этой странице описаны ключевые типы данных, используемые пакетом SDK для Foundry Local C# для описания моделей, загрузки и сведений о среде выполнения.

PromptTemplate

Представляет шаблон подсказки для модели.

Недвижимость Тип Описание
Помощник струна Шаблон запроса помощника.
Подсказка струна Шаблон запроса пользователя.

Runtime

Описывает среду выполнения для модели.

Недвижимость Тип Описание
Тип устройства DeviceType Тип устройства (ЦП, GPU и т. д.).
Провайдер выполнения ExecutionProvider Поставщик выполнения (CUDA, ЦП и т. д.).

ModelSettings

Представляет параметры, относящиеся к модели.

Недвижимость Тип Описание
Параметры Список<JsonElement> Коллекция параметров модели

ModelInfo

Описывает модель в локальном каталоге Или кэше Foundry.

Недвижимость Тип Описание
ModelId струна Уникальный идентификатор модели.
Отображаемое имя струна Читаемое человеком имя модели.
Тип поставщика струна Тип поставщика (например, "CUDA", "ЦПУ").
Ури струна Скачайте URI для модели.
Версия струна Версия модели.
Тип модели струна Тип модели (например, "llm", "embedding").
Шаблон подсказывающего текста PromptTemplate Шаблон запроса для модели.
Издатель струна Издатель модели.
Задача струна Тип задачи (например, "чат", "завершение").
Режим выполнения Режим выполнения Сведения о среде выполнения.
РазмерФайлаМб долго Размер файла модели в МБ.
МодельНастройки МодельНастройки Параметры, относящиеся к модели.
Псевдоним струна Псевдоним модели.
Поддержка вызова инструментов булевая переменная (bool) Поддерживается ли вызов инструментов.
Лицензия струна Идентификатор лицензии.
Описание лицензии струна Описание лицензии.
ParentModelUri струна Универсальный код ресурса (URI) родительской модели, если таковой имеется.

ModelDownloadProgress

Представляет ход выполнения операции скачивания модели.

Недвижимость Тип Описание
Процент двойной Скачайте процент завершения (0–100).
IsCompleted булевая переменная (bool) Завершено ли скачивание.
Информация о модели ModelInfo? Сведения о модели, если загрузка завершена.
Сообщение об ошибке струна? Сообщение об ошибке при сбое скачивания.

Статические методы:

  • 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();

Справочник по пакету SDK Rust

Пакет SDK Rust для Foundry Local позволяет управлять моделями, управлять кэшем и взаимодействовать с локальной службой Foundry.

Установка

Чтобы использовать локальный SDK Foundry для Rust, добавьте следующее в Cargo.toml:

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

Кроме того, можно добавить локальный модуль Foundry с помощью cargo:

cargo add foundry-local

FoundryLocalManager

Менеджер по операциям с локальным SDK для Foundry.

Поля

  • service_uri: Option<String> — URI службы Foundry.
  • client: Option<HttpClient> — HTTP-клиент для запросов API.
  • 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) службы.
    Возвращает: URI службы Foundry.

  • 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.

  • 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>
    Получение сведений о модели по псевдониму или идентификатору.
    Аргументы:

    • alias_or_model_id: псевдоним или идентификатор модели.
    • raise_on_not_found: если значение истинно, ошибка, если не найдено.
  • 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: псевдоним или идентификатор модели.
    • token: необязательный маркер проверки подлинности.
    • force: принудительное повторное скачивание, если оно уже кэшировано.
  • pub async fn load_model(&mut self, alias_or_model_id: &str, ttl: Option<i32>) -> Result<FoundryModelInfo>
    Загрузите модель для вывода.
    Аргументы:

    • alias_or_model_id: псевдоним или идентификатор модели.
    • ttl: необязательное время жизни в секундах.
  • pub async fn unload_model(&mut self, alias_or_model_id: &str, force: bool) -> Result<()>
    Выгрузить модель.
    Аргументы:

    • alias_or_model_id: псевдоним или идентификатор модели.
    • force: принудительно выгрузить, даже если используется.
  • pub async fn list_loaded_models(&mut self) -> Result<Vec<FoundryModelInfo>>
    Список загруженных моделей.

FoundryLocalManagerBuilder

Конструктор для создания экземпляра FoundryLocalManager.

Поля

  • alias_or_model_id: Option<String> — псевдоним или идентификатор модели для скачивания и загрузки.
  • 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
    Задайте псевдоним или идентификатор модели для скачивания и загрузки.

  • 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 — идентификатор модели.
  • version: String — версия модели.
  • runtime: ExecutionProvider — поставщик выполнения (ЦП, CUDA и т. д.).
  • uri: String — идентификатор ресурса (URI) модели.
  • file_size_mb: i32 — размер файла модели в МБ.
  • 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