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 после гибридного поиска. Медленнее, заметно лучше на длинных или неоднозначных запросах.
Глобальные настройки
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. Создайте беседу
- Откройте AI Chat в левом меню.
- Нажмите Новая беседа.
- Выберите провайдер (или используется default).
- Опционально задайте 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? Напишите нам через форму обратной связи.