UNPKG

solver-sdk

Version:

SDK for WorkAI API - AI-powered code analysis with WorkCoins billing system

95 lines 4.04 kB
/** * API для работы с моделями * * Предоставляет методы для получения информации о доступных моделях ИИ * и их провайдерах. Позволяет получить полный список моделей, список * провайдеров, модели конкретного провайдера или информацию о провайдере * для конкретной модели. * * @example * ```javascript * // Получение всех доступных моделей * const allModels = await sdk.models.getAllModels(); * console.log(allModels.models); * * // Получение провайдеров * const providers = await sdk.models.getProviders(); * console.log(providers.providers); * * // Получение моделей конкретного провайдера * const openaiModels = await sdk.models.getProviderModels('openai'); * console.log(openaiModels.models); * * // Получение информации о провайдере для модели * const modelInfo = await sdk.models.getModelProvider('gpt-4o'); * console.log(modelInfo.provider); * ``` */ export class ModelsApi { /** * Создает новый экземпляр API для работы с моделями * @param {HttpClient} httpClient HTTP клиент */ constructor(httpClient) { this.httpClient = httpClient; } /** * Получает список всех доступных моделей * @returns {Promise<any[]>} Массив моделей */ async getAllModels() { const response = await this.httpClient.get('/api/v1/models'); return response.models || response || []; } /** * Получает модели конкретного провайдера * * Возвращает список моделей для указанного провайдера, включая информацию * о контекстном окне, поддерживаемых языках и других характеристиках. * * @param {string} providerId Идентификатор провайдера (например, openai, anthropic, google) * @returns {Promise<ProviderModels>} Модели провайдера * * @example * ```javascript * // Получение моделей OpenAI * const openaiModels = await sdk.models.getProviderModels('openai'); * * // Получение модели с наибольшим контекстным окном * const modelWithLargestContext = openaiModels.models * .sort((a, b) => b.contextWindow - a.contextWindow)[0]; * * // Получение модели по умолчанию * const defaultModel = openaiModels.models * .find(model => model.isDefault); * ``` */ async getProviderModels(providerId) { return this.httpClient.get(`/api/v1/models/providers/${providerId}`); } /** * Получает список доступных моделей из реального API * @returns {Promise<any[]>} Массив моделей */ async getModels() { const response = await this.httpClient.get('/api/v1/models'); return response.models || []; } /** * Алиас для getModels (для совместимости с тестами) * @returns {Promise<any[]>} Массив моделей */ async getAvailableModels() { return this.getModels(); } /** * Получает информацию о конкретной модели * @param {string} modelId ID модели * @returns {Promise<any>} Информация о модели */ async getModelInfo(modelId) { const models = await this.getModels(); return models.find(m => m.id === modelId) || null; } } //# sourceMappingURL=models-api.js.map