Экспериментальный функционал
AI-ассистент — это интеллектуальный помощник, встроенный в Deckhouse Development Platform. Он отвечает на вопросы о платформе, анализирует данные каталога и выполняет различные задачи с использованием инструментов MCP (Model Context Protocol).
AI-ассистент использует настраиваемые AI-провайдеры для обработки запросов и может работать с различными языковыми моделями, включая OpenAI GPT, Ollama и любые модели, доступные через совместимый REST API.
Подключение AI-провайдера
Пользователь самостоятельно настраивает AI-провайдеры в своём профиле.
Для подключения нового AI-провайдера:
- Откройте Профиль → вкладка AI-провайдеры.
- Нажмите Добавить.
- Заполните Название, Модель, URL, Метод и Заголовки; при необходимости укажите Поле ответа и Шаблон тела запроса (подробности в разделах «Поле ответа» и «Шаблон тела запроса»).
- При использовании токенов в заголовках предпочтительно завести учётные данные и подставлять их через шаблонизацию.
- Нажмите Сохранить.
Примеры для распространённых API приведены в разделе «Примеры конфигурации».
Учетные данные для провайдеров
Для безопасного хранения токенов и ключей используется система учётных данных: они шифруются в базе и подставляются в заголовки запросов через шаблонизацию.
Добавление учетных данных
Для добавления новых учетных данных:
- В форме создания или редактирования провайдера нажмите Управление учетными данными.
- В диалоге нажмите Добавить учетные данные.
- Введите пару Ключ / Значение (например,
api_keyи секрет). - Нажмите Сохранить.
Изменение учетных данных
- Ключ существующих учётных данных нельзя изменить: удалите запись и создайте новую.
- Значение можно обновить, введя новое.
- После сохранения значения не показываются в интерфейсе.
Шаблонизация в заголовках
Вместо токена в открытом виде используйте подстановку:
Authorization: Bearer {{ .credentials.api_key }}где api_key — ключ, заданный в учётных данных.
Поле ответа
Поле Поле ответа задаёт путь в JSON-ответе API к тексту ответа модели (например choices.0.message.content). Если поле не задано, платформа попытается определить ответ автоматически.
Как подобрать путь: выполните тестовый запрос к API, откройте JSON и найдите поле с текстом ответа модели.
Шаблон тела запроса
Поле Шаблон тела запроса — JSON, который отправляется к API. В нём используются переменные:
{{.prompt}}— текст запроса пользователя (экранируется для JSON).{{.model}}— модель из настроек провайдера.
Примеры структуры
OpenAI-совместимый чат:
{
"model": "{{.model}}",
"messages": [
{
"role": "user",
"content": "{{.prompt}}"
}
],
"temperature": 0.7
}Другой формат сообщений:
{
"messages": [
{
"content": "{{.prompt}}",
"role": "user"
}
],
"model": "{{.model}}",
"stream": false
}Минимальный вариант:
{
"query": "{{.prompt}}",
"model_name": "{{.model}}"
}Особенности: шаблон должен быть валидным JSON; в шаблон можно добавлять поля вроде temperature, max_tokens и т.д.
Примеры конфигурации
API OpenAI (Chat Completions)
- Название — по желанию (например
ChatGPT). - Модель — например
gpt-4илиgpt-3.5-turbo. - URL —
https://api.openai.com/v1/chat/completions. - Метод —
POST. - Заголовки — например
Authorization: Bearer {{ .credentials.openai_api_key }}(ключopenai_api_keyзаведите в учётных данных). - Поле ответа —
choices.0.message.content. - Шаблон тела — как в первом примере в разделе «Шаблон тела запроса».
Ollama (/api/generate)
- URL —
http://localhost:11434/api/generate(или адрес вашей Ollama). - Метод —
POST. - Поле ответа —
response. - Шаблон тела:
{
"model": "{{.model}}",
"prompt": "{{.prompt}}",
"stream": false
}Произвольный REST API
- URL — эндпоинт вашего сервиса (например
https://api.example.com/v1/chat). - Метод — обычно
POST. - Заголовки — например
Authorization: Bearer {{ .credentials.api_key }},Content-Type: application/json. - Поле ответа — путь к полю с текстом в вашем JSON.
- Шаблон тела — на базе первого примера в разделе «Шаблон тела запроса», при необходимости добавьте поля (
max_tokensи т.д.).
Работа с AI-ассистентом
Панель ассистента открывается справа; кнопка запуска — в правом нижнем углу экрана.
Выбор провайдера
Вверху панели чата — список провайдеров. Если доступен один провайдер, он выбирается автоматически.
Чаты
Диалог ведётся в чатах; слева — список чатов и Новый чат.
- До 20 чатов на пользователя; при достижении лимита удалите старые чаты через меню «⋯».
- До первого сообщения у чата служебное название; после первого вопроса название подставляется по тексту (можно Переименовать).
- Удаление чата вместе с историей сообщений в нем необратимо.
Передача контекста
Переключатель Передавать контекст задаётся для каждого чата отдельно.
- Включено — в запрос уходит контекст переписки в этой теме.
- Выключено — только текущее сообщение; расход токенов ниже, без «памяти» в чате.
При включённом контексте и длинной истории старые реплики не отправляются целиком каждый раз: недавние сообщения идут полностью, более ранняя часть сжимается в резюме отдельным запросом к тому же провайдеру.
Включение передачи контекста увеличивает расход токенов при взаимодействии с моделью.
Инструменты MCP
Список инструментов, параметры и примеры описаны в документации MCP-сервера. В одном запросе модель может вызвать несколько инструментов. В панели чата можно раскрыть Доступные инструменты, посмотреть аргументы и скопировать пример в поле ввода кликом.