ИИ-ассистент — кастомизированное приложение на базе языковой модели для диалогового взаимодействия. В отличие от обычного чата, ассистент имеет заданное поведение (System Prompt), может вызывать внешние функции (Tool Calling) и генерировать структурированные ответы. OpenAI-совместимый API vLLM позволяет построить такого ассистента полностью на своей инфраструктуре.
Как устроен ИИ-ассистент
Архитектура ассистента состоит из 3 ключевых компонентов:
-
1
Инференс-сервер (vLLM): выделенный GPU-сервер с моделью. Обрабатывает запросы с помощью PagedAttention и Continuous Batching.
-
2
Слой бизнес-логики: промежуточное ПО, которое принимает запросы от пользователей, преобразует их в промпты для LLM, управляет контекстом диалога и применяет дополнительные инструкции (системный промпт).
-
3
Пользовательский интерфейс: чат-виджет на сайте, бот в мессенджере или интеграция через API для внутренних систем.
Разворачивание модели
-
1
Войдите в панель управления Рег.облака.
-
2
Нажмите +Новый ресурс > Cервер.
-
3
Выберите образ ИИ-инференса (vLLM).
-
4
Выберите модель ассистента:
Qwen/Qwen2.5-7B-Instruct — текстовые задачи, русский язык;
Qwen/Qwen3-VL-8B-Instruct — работа с изображениями;
DeepSeek-Coder-V2-Lite-Instruct — помощь в разработке.
-
5
Выберите vGPU-конфигурацию и тип диска. Затем выберите подходящий тариф.
-
6
Выберите регион размещения сервера.
-
7
Закажите публичный плавающий IP-адрес.
-
8
Выберите тариф защиты от DDoS-атак.
-
9
Настройте автоматическое резервное копирование.
-
10
При необходимости добавьте SSH-ключ и укажите название сервера.
-
11
Нажмите кнопку Заказать сервер.
Интеграция ассистента
После запуска сервера подключите вашу LLM к любому фронтенду или фреймворку для создания чат-ботов, используя стандарты OpenAI API.
Базовый пример на Python
Ниже приведен пример Python-клиента службы поддержки для тестирования. Он использует системный промпт для задания поведения и сохраняет историю диалога для поддержания контекста.
from openai import OpenAI
client = OpenAI(
base_url="https://<ваш_endpoint>/v1",
api_key="<ваш_api_ключ>"
)
def ask_assistant(user_query, dialog_history=None):
if dialog_history is None:
dialog_history = []
system_prompt = """Ты — ИИ-ассистент службы поддержки Рег.облака.
Отвечай вежливо и по делу. Если не знаешь ответа — предложи создать тикет."""
messages = [{"role": "system", "content": system_prompt}] + dialog_history
messages.append({"role": "user", "content": user_query})
response = client.chat.completions.create(
model="Qwen/Qwen2.5-7B-Instruct",
messages=messages,
temperature=0.3,
max_tokens=1024
)
return response.choices[0].message.content
Где: ask_assistant — функция, которая принимает вопрос пользователя, добавляет системный промпт и отправляет запрос к модели. Ответ возвращается в виде строки.
Добавление вызова функций (Tool Calling)
Ассистент может не только отвечать, но и выполнять действия. Для этого в vLLM поддерживается механизм Tool Calling, совместимый с OpenAI API.
Пример вызова:
tools = [
{
"type": "function",
"function": {
"name": "get_server_status",
"description": "Получить статус сервера по его ID",
"parameters": {
"type": "object",
"properties": {
"server_id": {"type": "string"}
},
"required": ["server_id"]
}
}
}
]
response = client.chat.completions.create(
model="Qwen/Qwen2.5-7B-Instruct",
messages=[{"role": "user", "content": "Проверь статус сервера vps-99999"}],
tools=tools,
tool_choice="auto"
)
Где:
parameters — ожидаемые аргументы функции в формате JSON Schema;
tool_choice=«auto» — модель сама решает, вызывать функцию или ответить текстом.
Модель анализирует вопрос и, если он соответствует описанию функции, возвращает её вызов с параметрами. Ваше приложение должно обработать этот вызов и передать результат обратно в диалог.
Подключение к фреймворкам
Описанный выше Python-клиент можно заменить на готовые библиотеки для создания чат-ботов: LangChain, LlamaIndex или low-code-платформы. Все они поддерживают OpenAI-совместимые API — достаточно указать ваш адрес сервиса (endpoint) и ключ.
Где можно использовать ИИ-ассистента
Развернутый на вашем выделенном сервере ИИ-ассистент может использоваться в различных бизнес-сценариях:
поддержка клиентов. Автоматизация ответов на типовые вопросы, маршрутизация сложных случаев на операторов;
корпоративный помощник. Поиск по внутренней базе знаний, регламентам и документам;
ассистент разработчика. Помощь в написании, проверке и отладке кода, интегрируется в CI/CD-пайплайны;
интеграция в личный кабинет. Умный помощник для пользователей: настройка сервисов, диагностика проблем, анализ счетов.
Была ли статья полезна?
Спасибо за оценку. Рады помочь 😊