Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это важно
- 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