OmniRoute
class · пространство имён z3n7.Api · исходник Api/OmniRoute.cs
public sealed class OmniRoute
Клиент локального OpenAI-совместимого роутера на http://localhost:20128 (без API-ключа).
Конструкторы
OmniRoute
public OmniRoute()
Создаёт клиент.
Методы
Check
public bool Check()
Блокирующая версия CheckAsync.
CheckAsync
public async Task<bool> CheckAsync()
Отвечает ли роутер на запрос списка моделей статусом 2xx за 3 секунды.
Complete
public string Complete(string model, string systemPrompt, string userPrompt, double temperature = 0.3, int maxTokens = 800, int timeoutSec = 90)
Блокирующая версия CompleteAsync.
CompleteAsync
public async Task<string> CompleteAsync(string model, string systemPrompt, string userPrompt, double temperature = 0.3, int maxTokens = 800, int timeoutSec = 90)
Отправляет одно системное и одно пользовательское сообщение и возвращает ответ (top_p 0.9, без стриминга).
| Параметр | Описание |
|---|---|
model |
Id модели; обязателен. |
systemPrompt |
Системное сообщение. |
userPrompt |
Сообщение пользователя. |
temperature |
Температура сэмплирования. |
maxTokens |
Ограничение длины ответа. |
timeoutSec |
Таймаут запроса, секунды. |
Возвращает: Текст ответа. Бросает исключение при статусе не 2xx или неожиданном ответе; в сообщении есть сырой ответ.
CompleteVision
public string CompleteVision(string model, string systemPrompt, string userPrompt, IList<string> imagesBase64, double temperature = 0.1, int maxTokens = 800, int timeoutSec = 90)
Блокирующая версия CompleteVisionAsync.
CompleteVisionAsync
public async Task<string> CompleteVisionAsync(string model, string systemPrompt, string userPrompt, IList<string> imagesBase64, double temperature = 0.1, int maxTokens = 800, int timeoutSec = 90)
Отправляет промпт с картинками. К промпту добавляется размер первой картинки в пикселях; ответ, обёрнутый в блок кода, разворачивается, а если это JSON с canvas_width/canvas_height, им ставится размер первой картинки.
| Параметр | Описание |
|---|---|
model |
Id модели; обязателен. |
systemPrompt |
Системное сообщение. |
userPrompt |
Сообщение пользователя. |
temperature |
Температура сэмплирования. |
maxTokens |
Ограничение длины ответа. |
timeoutSec |
Таймаут запроса, секунды. |
imagesBase64 |
Картинки в Base64 (по желанию в виде data URL); хотя бы одна. |
Возвращает: Текст ответа. Бросает исключение при статусе не 2xx или неожиданном ответе; в сообщении есть сырой ответ.
GetModels
public List<string> GetModels()
Блокирующая версия GetModelsAsync.
GetModelsAsync
public async Task<List<string>> GetModelsAsync()
Доступные id моделей, по алфавиту. Список кешируется на время процесса; см. InvalidateModelsCache.
InvalidateModelsCache
public static void InvalidateModelsCache()
Забывает закешированный список моделей.