Скачать

AI-чат — руководство пользователя | YoBench

Как пользоваться модулем «AI Chat» в YoBench: провайдеры OpenAI/Claude/YandexGPT/локальные LLM, стриминг, system prompt, RAG, tool use.

Что такое модуль «AI Chat»

Модуль — единая точка для разговоров с AI прямо внутри YoBench. Подключите OpenAI, Anthropic Claude, YandexGPT или любой OpenAI-совместимый локальный LLM (LM Studio, Ollama, vLLM, llama.cpp), создавайте параллельные беседы, привязывайте к ним RAG-контексты и давайте модели пользоваться production-набором инструментов — браузером, терминалом, файловой системой, веб-поиском и генерацией Word / Excel / PowerPoint / PDF — под вашим контролем с явными разрешениями.

Что вы получаете:

  • Agent-based AI Core — ассистент работает как агент с явными permission-диалогами, единым execution timeline и структурированным чат-логгером с фильтрацией и экспортом.
  • Production-набор инструментов — генерация и редактирование документов Word, Excel, PowerPoint и PDF, извлечение изображений, hardened-терминал и файловая система с классификацией путей, разрешением symlinks и защитой от SSRF.
  • Подключаемые адаптеры web search — Brave, DuckDuckGo или Tavily в качестве бэкенда поиска, переключение per workspace без перенастройки модели.
  • Единый голосовой опыт — одна кнопка микрофона плюс два toggles. Streaming TTS по предложениям, автоопределение языка (en/ru/de/fr/pt/es), автоперезапуск микрофона для hands-free диалога.
  • Отмена как first-class outcome — Отменено пользователем отображается отдельно от ошибок в timeline и логах, длинные инструменты корректно завершаются.
  • Vision-поддержка — image-bearing tool results (скриншоты браузера, картинки, извлечённые из документов) видны ассистенту в следующем шаге.
  • Несколько параллельных бесед — каждая со своим провайдером, моделью, system prompt, RAG-контекстом.
  • Стриминг ответов — токены приходят порциями, а не по завершении.
  • RAG-контексты — ответы по вашим документам с гибридным поиском (vector + BM25).
  • Логи — все события чата (запросы LLM, стриминг, выполнение tools) пишутся отдельно с маскированием API-ключей.
  • Сжатие контекста — старая история автоматически суммируется в context_summary, чтобы не упираться в лимиты токенов.

Поддерживаемые провайдеры

В коде реализованы:

  • OpenAI — официальный API через OpenAIAdapter.
  • Anthropic Claude — через ClaudeAdapter.
  • YandexGPT — через YandexGPTAdapter.
  • OpenAI-совместимые локальные LLM — LM Studio, Ollama, vLLM, llama.cpp; маршрутизируются через OpenAIAdapter.

Параметры провайдера в реестре:

  • API key — ключ.
  • API URL — базовый URL (опционально, иначе дефолт провайдера).
  • Model — идентификатор модели.
  • Temperature — креативность (0–2, по умолчанию 0.7).
  • Max tokens — максимум выходных токенов (по умолчанию 4096).
  • Frequency penalty — штраф за повторения (0–2, по умолчанию 0). Для локальных LLM рекомендовано 0.3–0.5.
  • Presence penalty — штраф за новые темы (0–2, по умолчанию 0).
  • Прокси — опционально для запросов.

Параметры беседы

При создании беседы (chat_conversations) указываются:

  • Title — отображаемое имя; может авто-генерироваться по первому сообщению.
  • Provider — какой AI-провайдер использовать.
  • System prompt — инструкция для модели.
  • Temperature — переопределение глобального значения.
  • Tools enabled — включить tool use.
  • Max auto-iterations — сколько итераций tool→результат подряд разрешено (по умолчанию 3).
  • Web search provider — отдельный провайдер для веб-поиска (если используется).
  • Context — привязанный RAG-контекст из Менеджера контекстов.

Сообщения хранятся в chat_messages (role: user / assistant / system, content).

Tool use

Когда Tools enabled включено, модель работает как агент и может вызывать инструменты, зарегистрированные в ToolRegistry. В коде поставляются:

  • browser — действия navigate, click, fill, type, key, screenshot, wait_for_selector, wait_for_navigation, wait_for_url_change, evaluate, get_content, close. Используется headless-Chromium.
  • terminal — выполнение shell-команд в hardened кросс-платформенной оболочке.
  • file system — чтение / запись / листинг с классификацией путей (project / system / user) и разрешением symlinks.
  • web — веб-операции через подключаемые адаптеры поиска (Brave, DuckDuckGo, Tavily) плюс fetch.
  • documents — генерация и редактирование Word (DOCX), Excel (XLSX), PowerPoint (PPTX) и PDF; извлечение изображений из документов.

Поток: модель выбирает tool__action → ExecutionEngine запускает → результат подаётся обратно в контекст → при необходимости выполняется ещё одна итерация (до max_auto_iterations).

Permissions

Чувствительные действия вызывают явный permission-диалог перед выполнением:

  • Запись на файловую систему за пределами project scope.
  • Команды терминала, выглядящие деструктивно.
  • Исходящие сетевые запросы к доменам не из allow-list.

Доступны варианты Allow once (разрешить один раз), Allow for this conversation (разрешить в этой беседе) или Deny (запретить). Отказы превращаются в чистый исход cancelled — агент не повторяет попытку, а в timeline сохраняется решение.

Cancellation

Отмена — это полноценный исход, а не ошибка:

  • Останавливаете запуск в любой момент → scope key отменяется, длинные инструменты (browser, terminal) корректно завершаются.
  • В timeline cancelled отличается от error, с текстом причины («Cancelled by user», «Permission denied» и т. п.).
  • Логи сохраняют частичное состояние, чтобы можно было продолжить с того же места.

Vision и image-bearing results

Инструменты, возвращающие изображения (browser__screenshot, documents__extract_images), отдают image-bearing tool results. На следующем шаге ассистент видит эти картинки рядом с текстом, поэтому vision-модели могут анализировать скриншоты и извлечённые иллюстрации без повторного прикрепления вручную.

Голос

Голосовой опыт унифицирован — одна кнопка микрофона плюс два toggles для озвучивать ответы и режим авто-диалога:

  • Streaming TTS по предложениям — ответ модели начинает озвучиваться, как только готово первое предложение, не дожидаясь полного завершения.
  • Автоопределение языка — en / ru / de / fr / pt / es. Голос подхватывает ваш язык без ручного выбора.
  • Автоперезапуск микрофона — в режиме авто-диалога микрофон снова активируется после того, как ассистент договорил, и беседу можно продолжать без рук.
  • Офлайн по умолчанию — speech-to-text через Whisper, text-to-speech через Piper. Никаких внешних сервисов, пока вы явно их не подключите.

RAG-контекст

В настройках беседы можно выбрать контекст из Менеджера контекстов. При первом сообщении модуль ищет релевантные чанки и подставляет их в system prompt. На последующих ходах retrieval не повторяется — контекст уже виден модели.

Каждая сессия может также переключить режим поиска:

  • Быстрый (по умолчанию) — гибридный поиск (vector + keyword) возвращает результаты за доли секунды.
  • Точный — добавляет reranker после гибридного поиска. Медленнее, заметно лучше на длинных или неоднозначных запросах.

Глобальные настройки

В Настройки → AI Chat:

  • chatDefaultProviderId — провайдер по умолчанию для новых бесед.
  • chatDefaultContextId — RAG-контекст по умолчанию.
  • chatDefaultSystemPrompt — системный промпт по умолчанию.
  • chatDefaultTemperature — температура (по умолчанию 0.7).
  • chatDefaultToolsEnabled — включать tool use в новых беседах (по умолчанию on).
  • chatDefaultMaxAutoIterations — лимит авто-итераций (по умолчанию 3).
  • chatDefaultWebSearchProviderId — провайдер веб-поиска.
  • chatDefaultMaxTokens — максимум выходных токенов (по умолчанию 4096).
  • chatDefaultFrequencyPenalty / chatDefaultPresencePenalty — штрафы (по умолчанию 0).

Флоу использования

1. Подключите провайдера

В Настройки → Провайдеры добавьте провайдер: тип, API key, модель, при необходимости — base URL и прокси.

2. Создайте беседу

  1. Откройте AI Chat в левом меню.
  2. Нажмите Новая беседа.
  3. Выберите провайдер (или используется default).
  4. Опционально задайте system prompt, температуру, RAG-контекст.

3. Пишите сообщения

Введите запрос → ответ приходит стримингом. Можно включить/выключить Tools enabled для конкретной беседы.

4. Прикрепляйте изображения и контексты

  • Изображения — drag-and-drop в композер, base64 уйдёт в запрос (провайдер должен поддерживать vision).
  • RAG-контекст — выберите в настройках беседы.

5. Контролируйте tool use

В настройках беседы укажите Max auto-iterations. Модель может вызвать browser__navigate → terminal__run и т.д. Подробности — в Логах.

6. Изучайте логи

Вкладка Логи показывает поток событий: LLM-запросы, стриминг, tool execute, ошибки. Фильтр по level, category. Секреты (API keys, Bearer-токены) автоматически маскируются.

7. Управляйте беседами

  • Переименовать — авто-наименование по первому сообщению, но можно поменять вручную.
  • Удалить — удаляет беседу и сообщения.
  • Остановить генерацию — chat:stop-generation обрывает текущий стрим.

Что дальше

  • Подключите Контексты и RAG для ответов по своим документам.
  • Используйте Веб-парсер для подготовки данных, которые потом просите AI обработать.
  • Для написания/редактирования документов есть встроенный AI-ассистент в Документах.

Помощь и обратная связь

Хотели бы поддержку Gemini, Mistral или новые tools? Напишите нам через форму обратной связи.