### GET /v1/models Source: https://api.vsellm.ru/openapi.json ## Получение списка доступных моделей Возвращает список всех доступных моделей для использования в API. Совместим с OpenAI Models API для интеграции с существующими проектами. ### Примеры использования #### Python OpenAI SDK: ```python import openai client = openai.OpenAI( api_key="your-api-key", base_url="https://api.vsellm.ru/v1" ) # Получение списка моделей models = client.models.list() # Вывод всех доступных моделей for model in models.data: print(f"ID: {model.id}, Owner: {model.owned_by}") ``` #### cURL запрос: ```bash curl -X GET https://api.vsellm.ru/v1/models \ -H "Authorization: Bearer your-api-key" ``` ```markdown ### Responses #### 200 - Список доступных моделей **ModelsResponse** - **data** (array (ModelObject)) (required): Список доступных моделей Array items: - **id** (string) (required): Уникальный идентификатор модели - **object** (string (model)): Тип объекта ("model") - **created** (integer) (required): Время создания модели (Unix timestamp) - **owned_by** (string) (required): Владелец модели - **object** (string (list)): Тип объекта ("list") #### 401 - Неавторизованный доступ Неавторизованный доступ #### 429 - Превышен лимит запросов Превышен лимит запросов #### 500 - Внутренняя ошибка сервера Внутренняя ошибка сервера ### Example Usage ```bash curl -X GET "https://api.example.com/v1/models" ``` ``` -------------------------------- ### GET /v1/models_info Source: https://api.vsellm.ru/openapi.json ## Получение детальной информации о моделях Возвращает детальную информацию о всех доступных моделях включая стоимость, режимы работы и метаданные. Поддерживает вывод в форматах JSON и CSV (совместимый с Google Таблицами). ### Параметры - `csv`: boolean (по умолчанию False) - если True, возвращает данные в формате CSV ### Примеры использования #### Получение JSON: ```bash curl -X GET https://api.vsellm.ru/v1/models_info ``` #### Получение CSV: ```bash curl -X GET "https://api.vsellm.ru/v1/models_info?csv=true" ``` #### Python запрос: ```python import requests # JSON формат response = requests.get("https://api.vsellm.ru/v1/models_info") data = response.json() # CSV формат response = requests.get("https://api.vsellm.ru/v1/models_info?csv=true") csv_data = response.text ``` ```markdown ### Parameters - **csv** (boolean, query, optional): Возвращать данные в формате CSV (по умолчанию False) ### Responses #### 200 - Детальная информация о моделях #### 422 - Validation Error **HTTPValidationError** - **detail** (array (ValidationError)) Array items: - **loc** (array (union)) (required) - **msg** (string) (required) - **type** (string) (required) #### 500 - Ошибка при получении данных моделей Ошибка при получении данных моделей ### Example Usage ```bash curl -X GET "https://api.example.com/v1/models_info?csv=false" ``` ``` -------------------------------- ### POST /v1/chat/completions Source: https://api.vsellm.ru/openapi.json Создает ответ модели для данного диалога. Полностью совместим с OpenAI Chat API. ### Примеры использования #### Простой запрос с Python OpenAI SDK: ```python import openai client = openai.OpenAI( api_key="your-api-key", base_url="https://api.vsellm.ru/v1" ) response = client.chat.completions.create( model="anthropic/claude-sonnet-4", messages=[ {"role": "user", "content": "Расскажи анекдот"} ] ) print(response.choices[0].message.content) ``` #### Запрос с системным промптом: ```python response = client.chat.completions.create( model="google/gemini-2.5-flash", messages=[ {"role": "system", "content": "Ты полезный ассистент"}, {"role": "user", "content": "Как дела?"} ], temperature=0.7, max_tokens=150 ) ``` #### Стриминговый запрос: ```python stream = client.chat.completions.create( model="GigaChat/GigaChat-2-Max", messages=[ {"role": "user", "content": "Напиши короткий рассказ"} ], stream=True ) for chunk in stream: if chunk.choices[0].delta.content: print(chunk.choices[0].delta.content, end="") ``` #### cURL запрос: ```bash curl -X POST https://api.vsellm.ru/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer your-api-key" \ -d '{ "model": "openai/gpt-oss-120b", "messages": [ { "role": "user", "content": "Привет! Как дела?" } ], "temperature": 0.7, "max_tokens": 150 }' ``` ```markdown ### Request Body **Content-Type:** application/json - **model** (string) (required): Название модели для использования - **messages** (array (ChatCompletionMessage)) (required): Список сообщений в диалоге Array items: - **role** (string (system|user|assistant)) (required): Роли сообщений в чате ("system"|"user"|"assistant") - **content** (string) (required): Содержимое сообщения - **name** (string): Имя отправителя сообщения (опционально) - **max_tokens** (integer): Максимальное количество токенов в ответе - **temperature** (number): Температура для контроля случайности (0.0-2.0) - **top_p** (number): Nucleus sampling parameter (0.0-1.0) - **n** (integer): Количество вариантов ответа - **stream** (boolean): Включить потоковую передачу ответа - **user** (string): Уникальный идентификатор пользователя ### Responses #### 200 - Успешный ответ **ChatCompletionResponse** - **id** (string) (required): Уникальный идентификатор запроса - **object** (string (chat.completion)): Тип объекта ("chat.completion") - **created** (integer) (required): Временная метка создания (Unix timestamp) - **model** (string) (required): Используемая модель - **choices** (array (ChatCompletionChoice)) (required): Список вариантов ответа Array items: - **index** (integer) (required): Индекс варианта ответа - **message** (object) (required): Сообщение в чате - **role** (string (system|user|assistant)) (required): Роли сообщений в чате ("system"|"user"|"assistant") - **content** (string) (required): Содержимое сообщения - **name** (string): Имя отправителя сообщения (опционально) - **finish_reason** (string (stop|length|content_filter|tool_calls|function_call)) (required): Причина завершения генерации ("stop"|"length"|"content_filter"|"tool_calls"|"function_call") - **usage** (object) (required): Информация об использовании токенов - **prompt_tokens** (integer) (required): Количество токенов в запросе - **completion_tokens** (integer) (required): Количество токенов в ответе - **total_tokens** (integer) (required): Общее количество использованных токенов #### 400 - Некорректный запрос Некорректный запрос #### 401 - Неавторизованный доступ Неавторизованный доступ #### 422 - Validation Error **HTTPValidationError** - **detail** (array (ValidationError)) Array items: - **loc** (array (union)) (required) - **msg** (string) (required) - **type** (string) (required) #### 429 - Превышен лимит запросов Превышен лимит запросов #### 500 - Внутренняя ошибка сервера Внутренняя ошибка сервера ### Example Usage ```bash curl -X POST "https://api.example.com/v1/chat/completions" \ -H "Content-Type: application/json" \ -d '{ "model": "string", "messages": [ "value" ], "max_tokens": "0", "temperature": "0", "top_p": "0", "n": "0", "stream": "true", "user": "string" }' ``` ``` -------------------------------- ### API Overview: VseLLM API Source: https://api.vsellm.ru/openapi.json Совместимый с OpenAI API прокси для работы с различными языковыми моделями. ## Возможности - Полная совместимость с OpenAI API - Поддержка множества моделей - Аутентификация через API ключи - Стриминговые и обычные ответы ## Быстрый старт ```python import openai client = openai.OpenAI( api_key="your-api-key", base_url="https://api.vsellm.ru/v1" ) response = client.chat.completions.create( model="openai/gpt-4o", messages=[ {"role": "user", "content": "Привет!"} ] ) print(response.choices[0].message.content) ``` ## Быстрый старт swager Прямо на этой странице, вы можете нажать кнопку *Authorize* и ввести свой ключ. После этого можно запросить модели и попробовать api чата из примеров. ```yaml # VseLLM API # Version: 1.0.0 Совместимый с OpenAI API прокси для работы с различными языковыми моделями. ## Возможности - Полная совместимость с OpenAI API - Поддержка множества моделей - Аутентификация через API ключи - Стриминговые и обычные ответы ## Быстрый старт ```python import openai client = openai.OpenAI( api_key="your-api-key", base_url="https://api.vsellm.ru/v1" ) response = client.chat.completions.create( model="openai/gpt-4o", messages=[ {"role": "user", "content": "Привет!"} ] ) print(response.choices[0].message.content) ``` ## Быстрый старт swager Прямо на этой странице, вы можете нажать кнопку *Authorize* и ввести свой ключ. После этого можно запросить модели и попробовать api чата из примеров. # Base URL: Not specified ``` -------------------------------- ### POST /v1/embeddings Source: https://api.vsellm.ru/openapi.json ## Создание embedding вводимого текста Создает векторные представления (embeddings) для входного текста, которые можно использовать для семантического поиска, классификации, кластеризации и других задач NLP. ### Параметры - **input**: Текст для встраивания (строка или массив строк/токенов) - **model**: ID модели для использования - **encoding_format**: Формат возврата embedding (float или base64) - **user**: Уникальный идентификатор пользователя (опционально) ### Примеры использования #### Python OpenAI SDK: ```python import openai client = openai.OpenAI( api_key="your-api-key", base_url="https://api.vsellm.ru/v1" ) # Создание embedding для одного текста response = client.embeddings.create( input="The food was delicious and the waiter was friendly", model="text-embedding-3-small" ) embedding = response.data[0].embedding print(f"Embedding dimension: {len(embedding)}") ``` #### Множественные тексты: ```python response = client.embeddings.create( input=[ "Hello world", "Goodbye world", "How are you?" ], model="text-embedding-3-small" ) for i, embedding_obj in enumerate(response.data): print(f"Text {i}: {len(embedding_obj.embedding)} dimensions") ``` #### cURL запрос: ```bash curl -X POST https://api.vsellm.ru/v1/embeddings \ -H "Content-Type: application/json" \ -H "Authorization: Bearer your-api-key" \ -d '{ "input": "The food was delicious and the waiter...", "model": "text-embedding-3-small", "encoding_format": "float" }' ``` ```markdown ### Request Body **Content-Type:** application/json - **input** (string) (required) - **model** (string) (required): ID модели для использования - **encoding_format** (string (float|base64)): Формат для возврата embedding ("float"|"base64") - **user** (string): Уникальный идентификатор пользователя ### Responses #### 200 - Успешный ответ с embeddings **EmbeddingResponse** - **object** (string (list)): Тип объекта ("list") - **data** (array (EmbeddingObject)) (required): Список объектов embedding Array items: - **object** (string (embedding)): Тип объекта ("embedding") - **embedding** (array (number)) (required): Вектор embedding - список вещественных чисел - **index** (integer) (required): Индекс embedding в списке - **model** (string) (required): Используемая модель - **usage** (object) (required): Информация об использовании токенов для embeddings - **prompt_tokens** (integer) (required): Количество токенов в запросе - **total_tokens** (integer) (required): Общее количество использованных токенов #### 400 - Некорректный запрос Некорректный запрос #### 401 - Неавторизованный доступ Неавторизованный доступ #### 422 - Validation Error **HTTPValidationError** - **detail** (array (ValidationError)) Array items: - **loc** (array (union)) (required) - **msg** (string) (required) - **type** (string) (required) #### 429 - Превышен лимит запросов Превышен лимит запросов #### 500 - Внутренняя ошибка сервера Внутренняя ошибка сервера ### Example Usage ```bash curl -X POST "https://api.example.com/v1/embeddings" \ -H "Content-Type: application/json" \ -d '{ "input": "value", "model": "string", "encoding_format": "float", "user": "string" }' ``` ``` -------------------------------- ### Security: x-api-key Source: https://api.vsellm.ru/openapi.json API ключ для аутентификации. Используйте формат: Bearer your-api-key или просто your-api-key ```markdown ## Security: x-api-key **Description:** API ключ для аутентификации. Используйте формат: Bearer your-api-key или просто your-api-key **Type:** apiKey ``` -------------------------------- ### Schema: Usage Source: https://api.vsellm.ru/openapi.json Информация об использовании токенов ```markdown ## Schema: Usage Информация об использовании токенов **Type:** object - **prompt_tokens** (integer) (required): Количество токенов в запросе - **completion_tokens** (integer) (required): Количество токенов в ответе - **total_tokens** (integer) (required): Общее количество использованных токенов ``` -------------------------------- ### Schema: ChatCompletionResponse Source: https://api.vsellm.ru/openapi.json Ответ chat completion API ```markdown ## Schema: ChatCompletionResponse Ответ chat completion API **Type:** object - **id** (string) (required): Уникальный идентификатор запроса - **object** (string (chat.completion)): Тип объекта ("chat.completion") - **created** (integer) (required): Временная метка создания (Unix timestamp) - **model** (string) (required): Используемая модель - **choices** (array (ChatCompletionChoice)) (required): Список вариантов ответа Array items: - **index** (integer) (required): Индекс варианта ответа - **message** (object) (required): Сообщение в чате - **role** (string (system|user|assistant)) (required): Роли сообщений в чате ("system"|"user"|"assistant") - **content** (string) (required): Содержимое сообщения - **name** (string): Имя отправителя сообщения (опционально) - **finish_reason** (string (stop|length|content_filter|tool_calls|function_call)) (required): Причина завершения генерации ("stop"|"length"|"content_filter"|"tool_calls"|"function_call") - **usage** (object) (required): Информация об использовании токенов - **prompt_tokens** (integer) (required): Количество токенов в запросе - **completion_tokens** (integer) (required): Количество токенов в ответе - **total_tokens** (integer) (required): Общее количество использованных токенов ``` -------------------------------- ### Schema: ModelsResponse Source: https://api.vsellm.ru/openapi.json Ответ со списком доступных моделей ```markdown ## Schema: ModelsResponse Ответ со списком доступных моделей **Type:** object - **data** (array (ModelObject)) (required): Список доступных моделей Array items: - **id** (string) (required): Уникальный идентификатор модели - **object** (string (model)): Тип объекта ("model") - **created** (integer) (required): Время создания модели (Unix timestamp) - **owned_by** (string) (required): Владелец модели - **object** (string (list)): Тип объекта ("list") ``` -------------------------------- ### Schema: ChatMessageRole Source: https://api.vsellm.ru/openapi.json Роли сообщений в чате ```markdown ## Schema: ChatMessageRole Роли сообщений в чате **Type:** string ``` -------------------------------- ### Schema: ChatCompletionMessage Source: https://api.vsellm.ru/openapi.json Сообщение в чате ```markdown ## Schema: ChatCompletionMessage Сообщение в чате **Type:** object - **role** (string (system|user|assistant)) (required): Роли сообщений в чате ("system"|"user"|"assistant") - **content** (string) (required): Содержимое сообщения - **name** (string): Имя отправителя сообщения (опционально) ``` -------------------------------- ### Schema: ChatCompletionRequest Source: https://api.vsellm.ru/openapi.json Запрос для создания chat completion ```markdown ## Schema: ChatCompletionRequest Запрос для создания chat completion **Type:** object - **model** (string) (required): Название модели для использования - **messages** (array (ChatCompletionMessage)) (required): Список сообщений в диалоге Array items: - **role** (string (system|user|assistant)) (required): Роли сообщений в чате ("system"|"user"|"assistant") - **content** (string) (required): Содержимое сообщения - **name** (string): Имя отправителя сообщения (опционально) - **max_tokens** (integer): Максимальное количество токенов в ответе - **temperature** (number): Температура для контроля случайности (0.0-2.0) - **top_p** (number): Nucleus sampling parameter (0.0-1.0) - **n** (integer): Количество вариантов ответа - **stream** (boolean): Включить потоковую передачу ответа - **user** (string): Уникальный идентификатор пользователя ``` -------------------------------- ### Schema: ModelObject Source: https://api.vsellm.ru/openapi.json Информация о доступной модели ```markdown ## Schema: ModelObject Информация о доступной модели **Type:** object - **id** (string) (required): Уникальный идентификатор модели - **object** (string (model)): Тип объекта ("model") - **created** (integer) (required): Время создания модели (Unix timestamp) - **owned_by** (string) (required): Владелец модели ``` -------------------------------- ### Schema: EmbeddingObject Source: https://api.vsellm.ru/openapi.json Объект embedding ```markdown ## Schema: EmbeddingObject Объект embedding **Type:** object - **object** (string (embedding)): Тип объекта ("embedding") - **embedding** (array (number)) (required): Вектор embedding - список вещественных чисел - **index** (integer) (required): Индекс embedding в списке ``` -------------------------------- ### Schema: ChatCompletionChoice Source: https://api.vsellm.ru/openapi.json Вариант ответа в chat completion ```markdown ## Schema: ChatCompletionChoice Вариант ответа в chat completion **Type:** object - **index** (integer) (required): Индекс варианта ответа - **message** (object) (required): Сообщение в чате - **role** (string (system|user|assistant)) (required): Роли сообщений в чате ("system"|"user"|"assistant") - **content** (string) (required): Содержимое сообщения - **name** (string): Имя отправителя сообщения (опционально) - **finish_reason** (string (stop|length|content_filter|tool_calls|function_call)) (required): Причина завершения генерации ("stop"|"length"|"content_filter"|"tool_calls"|"function_call") ``` -------------------------------- ### Schema: EmbeddingResponse Source: https://api.vsellm.ru/openapi.json Ответ embeddings API ```markdown ## Schema: EmbeddingResponse Ответ embeddings API **Type:** object - **object** (string (list)): Тип объекта ("list") - **data** (array (EmbeddingObject)) (required): Список объектов embedding Array items: - **object** (string (embedding)): Тип объекта ("embedding") - **embedding** (array (number)) (required): Вектор embedding - список вещественных чисел - **index** (integer) (required): Индекс embedding в списке - **model** (string) (required): Используемая модель - **usage** (object) (required): Информация об использовании токенов для embeddings - **prompt_tokens** (integer) (required): Количество токенов в запросе - **total_tokens** (integer) (required): Общее количество использованных токенов ``` -------------------------------- ### Schema: EmbeddingUsage Source: https://api.vsellm.ru/openapi.json Информация об использовании токенов для embeddings ```markdown ## Schema: EmbeddingUsage Информация об использовании токенов для embeddings **Type:** object - **prompt_tokens** (integer) (required): Количество токенов в запросе - **total_tokens** (integer) (required): Общее количество использованных токенов ``` -------------------------------- ### Schema: EmbeddingRequest Source: https://api.vsellm.ru/openapi.json Запрос для создания embeddings ```markdown ## Schema: EmbeddingRequest Запрос для создания embeddings **Type:** object - **input** (string) (required) - **model** (string) (required): ID модели для использования - **encoding_format** (string (float|base64)): Формат для возврата embedding ("float"|"base64") - **user** (string): Уникальный идентификатор пользователя ``` -------------------------------- ### Schema: HTTPValidationError Source: https://api.vsellm.ru/openapi.json Schema definition for HTTPValidationError ```markdown ## Schema: HTTPValidationError Schema definition for HTTPValidationError **Type:** object - **detail** (array (ValidationError)) Array items: - **loc** (array (union)) (required) - **msg** (string) (required) - **type** (string) (required) ``` -------------------------------- ### Schema: ValidationError Source: https://api.vsellm.ru/openapi.json Schema definition for ValidationError ```markdown ## Schema: ValidationError Schema definition for ValidationError **Type:** object - **loc** (array (union)) (required) - **msg** (string) (required) - **type** (string) (required) ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.