UNPKG

solver-sdk

Version:

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

256 lines 9.06 kB
import { HttpClient } from '../utils/http-client.js'; /** * Информация о модели * * @interface ModelInfo * @property {string} id - Уникальный идентификатор модели * @property {string} name - Отображаемое имя модели * @property {string[]} capabilities - Список возможностей модели * @property {number} contextWindow - Максимальный размер контекстного окна в токенах * @property {boolean} isDefault - Флаг, указывающий является ли модель стандартной для провайдера * @property {number} [maxTokens] - Максимальное количество токенов ответа * @property {string[]} [supportedLanguages] - Список поддерживаемых языков */ export interface ModelInfo { /** Идентификатор модели */ id: string; /** Имя модели */ name: string; /** Возможности модели */ capabilities: string[]; /** Максимальный размер контекстного окна (в токенах) */ contextWindow: number; /** Является ли модель по умолчанию для своего провайдера */ isDefault: boolean; /** Максимальное количество токенов для ответа */ maxTokens?: number; /** Поддерживаемые языки */ supportedLanguages?: string[]; } /** * Информация о моделях провайдера * * @interface ProviderModels * @property {string} provider - Идентификатор провайдера * @property {string} name - Название провайдера * @property {ModelInfo[]} models - Список моделей провайдера * * @example * ```javascript * { * provider: "openai", * name: "OpenAI", * models: [ * { * id: "gpt-4o", * name: "GPT-4o", * capabilities: ["chat", "completions"], * contextWindow: 128000, * isDefault: true, * maxTokens: 16000, * supportedLanguages: ["en", "ru", "fr", "de"] * } * ] * } * ``` */ export interface ProviderModels { /** Идентификатор провайдера */ provider: string; /** Имя провайдера */ name: string; /** Список моделей */ models: ModelInfo[]; } /** * Ответ на запрос всех моделей * * @interface AllModelsResponse * @property {ProviderModels[]} models - Список моделей, сгруппированных по провайдерам * * @example * ```javascript * { * models: [ * { * provider: "openai", * name: "OpenAI", * models: [...] * }, * { * provider: "anthropic", * name: "Anthropic", * models: [...] * } * ] * } * ``` */ export interface AllModelsResponse { /** Список моделей по провайдерам */ models: ProviderModels[]; } /** * Информация о провайдере * * @interface ProviderInfo * @property {string} id - Идентификатор провайдера * @property {string} name - Название провайдера * @property {string[]} capabilities - Список возможностей провайдера * * @example * ```javascript * { * id: "openai", * name: "OpenAI", * capabilities: ["chat", "completions", "embeddings"] * } * ``` */ export interface ProviderInfo { /** Идентификатор провайдера */ id: string; /** Имя провайдера */ name: string; /** Возможности провайдера */ capabilities: string[]; } /** * Ответ на запрос провайдеров * * @interface ProvidersResponse * @property {ProviderInfo[]} providers - Список доступных провайдеров * * @example * ```javascript * { * providers: [ * { * id: "openai", * name: "OpenAI", * capabilities: ["chat", "completions", "embeddings"] * }, * { * id: "anthropic", * name: "Anthropic", * capabilities: ["chat"] * } * ] * } * ``` */ export interface ProvidersResponse { /** Список провайдеров */ providers: ProviderInfo[]; } /** * Информация о модели и её провайдере * * @interface ModelProviderInfo * @property {string} modelId - Идентификатор модели * @property {ProviderInfo} provider - Информация о провайдере * @property {boolean} isAvailable - Доступна ли модель в данный момент * * @example * ```javascript * { * modelId: "gpt-4o", * provider: { * id: "openai", * name: "OpenAI", * capabilities: ["chat", "completions", "embeddings"] * }, * isAvailable: true * } * ``` */ export interface ModelProviderInfo { /** Идентификатор модели */ modelId: string; /** Информация о провайдере */ provider: ProviderInfo; /** Доступна ли модель */ isAvailable: boolean; } /** * 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 declare class ModelsApi { /** HTTP клиент для выполнения запросов */ private readonly httpClient; /** * Создает новый экземпляр API для работы с моделями * @param {HttpClient} httpClient HTTP клиент */ constructor(httpClient: HttpClient); /** * Получает список всех доступных моделей * @returns {Promise<any[]>} Массив моделей */ getAllModels(): Promise<any[]>; /** * Получает модели конкретного провайдера * * Возвращает список моделей для указанного провайдера, включая информацию * о контекстном окне, поддерживаемых языках и других характеристиках. * * @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); * ``` */ getProviderModels(providerId: string): Promise<ProviderModels>; /** * Получает список доступных моделей из реального API * @returns {Promise<any[]>} Массив моделей */ getModels(): Promise<any[]>; /** * Алиас для getModels (для совместимости с тестами) * @returns {Promise<any[]>} Массив моделей */ getAvailableModels(): Promise<any[]>; /** * Получает информацию о конкретной модели * @param {string} modelId ID модели * @returns {Promise<any>} Информация о модели */ getModelInfo(modelId: string): Promise<any>; } //# sourceMappingURL=models-api.d.ts.map