Discourse Chatbot 🤖

Наш бот тайм-аутил, пока мы не установили reasoning на минимальный. Спасибо!

1 лайк

Честно говоря, я считаю, что GPT-5 в целом слишком медленный при высоком уровне рассуждений, и его преимущества явно не оправдывают дополнительное время ожидания ответов.

А как он показал себя у вас в поддержке? Демонстрирует ли GPT-5 с минимальным уровнем рассуждений лучшие результаты, чем, скажем, 4o или 4.1?

Я пробовал gpt-5 через Chat GPT — это совсем другое дело по сравнению с API. Для получения ответов, лишь немного лучших, чем те, что дают 4o или o1, требуется длительное время на рассуждения. Когда нужно отвечать быстро, он не лучше версии 4.1.

Я почти уверен, что ситуация с API аналогична или даже хуже из-за отсутствия инструментов и возможностей промптинга. Но я не могу сказать точно, потому что gpt-5 работает мучительно медленно, а в среде форума он должен отвечать почти со скоростью света.

1 лайк

Что касается производительности контента, по anecdotal данным, кажется, что gpt-5 даёт заметно более качественные технические ответы, чем gpt-4o. Не знаю, как это измерить количественно, но это меня действительно впечатлило.

Результаты по времени ответа варьируются. Судя по экспериментам сегодня утром, gpt-5 в среднем работает медленнее, но не намного, и были случаи, когда ответ приходил быстрее с gpt-5. Время ответа составляет от 5 до 35 секунд.

Мы используем RAG, но не могу определить, какая часть задержки связана с поиском в RAG, а какая — с завершением чата. Возможно, иногда модель решает не выполнять поиск в RAG, поиск проходит быстрее, или что-то кэшируется (в поиске или при завершении).

Мы обычно выбираем более качественные ответы, даже если они приходят медленнее, поскольку предоставление клиентам ошибочных технических рекомендаций обходится дорого. Однако до определённого предела: если происходит тайм-аут, это создаёт очень плохой пользовательский опыт.

GPT-5 рекомендует для нашего случая в первую очередь gpt-5-mini и переходить на gpt-5 только в некоторых ситуациях. Звучит интересно, но сложно. Вы рассматривали возможность динамического переключения между моделями? Почему OpenAI не делает это автоматически? ChatGPT - Compare GPT models performance

1 лайк

Пришлось вернуться к gpt-4o, потому что, похоже, gpt-5-mini считает, что может делать то, чего не умеет. Он с уверенностью предложил настроить службу мониторинга сигнализации для клиента и подключить её к оборудованию домашней сигнализации. Он запросил у них идентификаторы оборудования и начал галлюцинировать, ведя себя как консьерж, который всё настраивает. Наш сайт может это сделать, но чат-бот — нет. Похоже, он не соблюдает ограничения, прописанные в системном промпте, как это делал gpt-4o. Нам нужно ужесточить настройки, прежде чем мы сможем разрешить людям его использовать.

Обновление: Оказалось, что gpt-5 гораздо лучше следует инструкциям и соблюдает правила в промпте, чем gpt-5-mini. Если вы собираетесь позволить боту представлять ваш бренд, я рекомендую gpt-5, даже если он работает медленнее и стоит в 5 раз дороже. Слишком велик риск, что gpt-5-mini выйдет из-под контроля.

1 лайк

Мне очень повезло с GTP-5-mini в агентных потоках благодаря вызову инструментов, написанию кода и работе со структурированными данными. Обычно я замечаю, что для AI-приложений работать со структурированными данными проще, чем с неструктурированными! Это было для меня неожиданным! Зато средства контроля (guardrails) проще реализовать (код в цикле, человек в цикле, LLM как судья и т.д.).

Посмотрите это видео для пошагового обзора высокопроизводительного и недорогoго GPT-5-mini и GPT-4o:

Если кто-то заинтересован в интеграции возможностей работы со структурированными данными в Discourse в виде плагина или иного решения, пожалуйста, свяжитесь со мной.

Например, это может быть NLP-расширение для SQL/статистики/науки о данных в Data Explorer. Также можно было бы создать инструмент/плагин/функцию, позволяющую выполнять запросы на естественном языке к файлам в формате read-only SQLLite, DuckDB и другим OLAP-файлам, загруженным в контейнер. Просто мысль… :thinking:

Кстати, я добавил GPT 5.1 в плагин, а также внес некоторые исправления:

1 лайк

@tom_eric вы спрашивали о возможности играть в игры с другими участниками форума в другой теме.

Я попробовал этот запрос с Chatbot, и он, похоже, работает с GPT 5.1. Попробуйте:

@Chatbot организуйте игру в Го на доске 9x9 с @Other_Player и мной, используя таблицу Markdown для отображения доски — я сделаю первый ход, и ходы будут приниматься только от меня и @Other_Player, и только в нашу очередь — отображайте доску и просите меня сделать первый ход …

1 лайк

О, спасибо. Это действительно креативная идея. О, спасибо. Это действительно креативная идея.

1 лайк

Ничего, дай знать, как всё получится :+1:

Небольшая кастомизация окружения разработки позволила мне поэкспериментировать с чат-ботом, играющим в Zork, используя этот плагин и Discourse Frotz :man_mage:

(здесь с GPT 5.1 на пониженном уровне рассуждений)

Немного позже:

Набирает приличный счёт! И ещё:


:open_mouth:

:graduation_cap:

(Извините, настройка слишком сложна, чтобы просто поделиться ею здесь).

1 лайк

Вау! Я и не знал, что это возможно. Похоже, с хорошими промптами возможно почти всё :sweat_smile:

1 лайк

В выпадающих списках моделей чат-бота теперь доступны GPT 5.2 и 5.2 Pro. Для версии 5.2 добавлен уровень рассуждения xhigh, если вы любите сжигать токены и наносить ущерб окружающей среде :sweat_smile:

Также вы могли заметить, что пользователи плагина Maths теперь могут легко заставить чат-бота обсуждать математику с красиво отрендеренными уравнениями, не добавляя ничего в системный промпт…

1 лайк

Я переместил кнопку запуска в более аккуратное место в правом нижнем углу (кроме iOS PWA/приложения) — дайте знать, если это работает не так, как задумано.

Это всегда было задумано для упрощения CSS с учётом этих надоедливых панелей управления на iOS, но я больше не мог с этим жить — это просто режет глаза :face_vomiting: :sweat_smile:

@ThisSource это был первый чат-бот на базе ИИ для Discourse, и он всё ещё работает :).

С радостью объявляю о первом постоянном спонсоре проекта Chatbot — компании Surety, которая теперь занимает новый раздел «Спонсоры проекта» в README.

Surety стремится предоставлять профессиональный мониторинг сигнализации и системы умного дома для энтузиастов своими руками максимально прозрачным и эффективным способом, идя вразрез с тенденциями в индустрии домашней безопасности.

Спасибо, Surety!

@37Rb

Если вы хотите стать спонсором одного из моих проектов, ознакомьтесь с этим: Sponsor @merefield on GitHub Sponsors · GitHub :folded_hands:

2 лайка

Сводка последних PR — 1–3 августа 2026 г.

Несколько связанных PR были объединены в Discourse Chatbot и его плагинах-расширениях.

Основные моменты

  • Внедрены продвинутые стратегии локального рассуждения, включая verify-and-revise (проверка и исправление), best-of-two (выбор лучшего из двух) и uncertainty-guided reasoning (рассуждение с учетом неопределенности).
  • Добавлены актуальные модели OpenAI и новый параметр max reasoning effort (максимальные усилия рассуждения).
  • Добавлен семантический шлюз для блокировки вопросов на основе сходства эмбеддингов.
    • Значительная экономия ресурсов, поскольку эмбеддинги используются для блокировки тем, которые вы не хотите, чтобы бот обрабатывал, без расхода токенов LLM.
  • Базовая и RAG-реализации объединены в единый класс DiscourseChatbot::Bot.
  • Настройки режимов бота заменены на встроенные селекторы инструментов, зависящие от уровня доверия.
  • Переименован API расширений с “Function” на “Tool”.
  • Инструмент-калькулятор на базе SafeRuby заменен на ограниченный парсер выражений Dentaku — это значительное улучшение безопасности, поскольку, несмотря на название, в SafeRuby существуют уязвимости.
  • Внедрена загрузка через Zeitwerk в Chatbot и его плагинах-расширениях.
  • Инструменты, специфичные для локаций, перенесены в плагин Locations Early Access (спонсируйте меня, чтобы вернуть доступ).
  • Улучшено восстановление после ошибок калькулятора и поддержка распространенных обозначений π/e.
  • Обновлен README.
  • Версия основного плагина повышена с 1.8.0 до 2.4.1.

Discourse Chatbot

  • #162 — FIX: Сохранение состояния рассуждения в Responses API (FIX: Preserve Responses API reasoning state - Pull Request #162 - merefield/discourse-chatbot - GitHub)
    Обеспечена надежность рассуждений и продолжений инструментов в Responses API, введены настраиваемые лимиты итераций и токенов,
    улучшена проверка происхождения URL, сохранены полезные частичные ответы, и предотвращено принятие пустых или некорректных ответов.

  • #163 — FEATURE: Добавление продвинутых стратегий локального рассуждения (FEATURE: Add advanced local reasoning strategies - Pull Request #163 - merefield/discourse-chatbot - GitHub)
    Добавлены стратегии рассуждения для Chat Completions: simple (простое), verify-and-revise (проверка и исправление), best-of-two (выбор лучшего из двух) и uncertainty-guided (с учетом неопределенности), с
    ограничением дополнительных запросов и журналами аудита, видимыми для персонала.

  • #164 — FEATURE: Добавление актуальных моделей OpenAI (FEATURE: Add current OpenAI models - Pull Request #164 - merefield/discourse-chatbot - GitHub)
    Обновлены селекторы моделей новыми вариантами GPT-5.x и Pro, настроен роутинг подходящих моделей через Responses
    API, и добавлен параметр max reasoning effort.

  • #165 — FIX: Улучшение рекомендаций по повторным попыткам калькулятора (FIX: Improve calculator retry guidance - Pull Request #165 - merefield/discourse-chatbot - GitHub)
    Предоставлены моделям более четкие синтаксис калькулятора и рекомендации по восстановлению, чтобы исправимые ошибки приводили к соответствующим повторным попыткам.

  • #166 — FEATURE: Добавление семантического шлюза для блокировки вопросов (FEATURE: Add semantic blocked-question gate - Pull Request #166 - merefield/discourse-chatbot - GitHub)
    Добавлен опциональный шлюз на основе эмбеддингов, который может идентифицировать административно определенные заблокированные темы и возвращать шаблонные ответы до вызова основной модели. Включает кэширование, аудит для персонала, поведение fail-open и поддержку пользовательских моделей эмбеддингов.

  • #167 — DEV: Замена SafeRuby и внедрение загрузки через Zeitwerk (DEV: Replace SafeRuby and adopt Zeitwerk loading - Pull Request #167 - merefield/discourse-chatbot - GitHub)
    Заменен локальный парсер SafeRuby на Dentaku, пространства имен и имена файлов приведены в соответствие с Zeitwerk, и
    модернизированы конфигурация загрузки и линтинга плагина. Оказалось, что в SafeRuby есть уязвимости, поэтому была необходима миграция.

  • #168 — DEV: Извлечение функций локаций из Chatbot (DEV: Extract Locations functions from Chatbot - Pull Request #168 - merefield/discourse-chatbot - GitHub)
    Удалены инструменты и настройки, специфичные для локаций, из основного плагина, позволяя предоставлять их независимо через discourse-locations.

  • #169 — FEATURE: Замена режимов бота на выбор инструментов по уровню доверия
    (FEATURE: Replace bot modes with trust-level tool selection - Pull Request #169 - merefield/discourse-chatbot - GitHub)
    Это была основная рационализация архитектуры:

    • Заменены отдельные боты basic и RAG на DiscourseChatbot::Bot.
    • Добавлены встроенные селекторы инструментов для каждого уровня доверия.
    • Пустой селектор приравнен к простому боту без инструментов.
    • Vision и рисование интегрированы в систему выбора инструментов.
    • Инструменты из внешних плагинов оставлены вне встроенных селекторов.
    • Переименована терминология, настройки и классы с Function на Tool.
    • Настройки упорядочены, сгруппированы и условно скрыты.
    • Добавлена обработка миграции для существующих конфигураций.
    • Списание квоты сделано потокобезопасным.
    • Исправлены лимиты символов в ответах, выбор логирования и чтение бинарных PDF-файлов.
  • #170 — FIX: Улучшение восстановления инструмента калькулятора (FIX: Improve calculator tool recovery - Pull Request #170 - merefield/discourse-chatbot - GitHub)
    Приведены к синтаксису, совместимому с Dentaku, распространенные выражения, такие как Math::PI, Math.PI, Math::E, Math.E и π.
    Повторные вызовы с неизменными невалидными данными теперь отклоняются с указанием действий для исправления.

  • #171 — DEV: Обновление документации по чат-боту (DEV: Refresh chatbot documentation - Pull Request #171 - merefield/discourse-chatbot - GitHub)
    Обновлен README для унифицированного бота и архитектуры инструментов, стратегий рассуждения, заблокированных вопросов, поведения калькулятора, лимитов, квот, пользовательских конечных точек, поддержки изображений/PDF и актуальных настроек. Поддержка Vision больше не описывается как экспериментальная.

Сопутствующие плагины

  • discourse-locations #4 — FIX: Обновление расширений локаций для Chatbot под Tool API (https://github.com/merefield/discourse-locations-early-access/pull/4)
    Мигрированы извлеченные интеграции локаций в DiscourseChatbot::Tool, размещены в пространстве имен Locations::Chatbot::Tools и обновлены для унифицированного бота.

  • Function extension example #1 — FIX: Обновление примера расширения под Tool API Chatbot (FIX: Update example extension for Chatbot tool API - Pull Request #1 - merefield/discourse-chatbot-function-extension-example - GitHub)
    Обновлен пример плагина для демонстрации DiscourseChatbot::Tool, загрузки через Zeitwerk, ориентированных на инструменты настроек и
    переводов, а также целенаправленного тестирования поведения без кода обратной совместимости.

2 лайка

2 лайка

@Karthik_K1, пожалуйста, посмотрите скриншот в последнем сообщении.

Чат-бот практически решает эту проблему с высокой эффективностью:

Очевидно, что если вы не можете устанавливать сторонние плагины, это поможет мало.

1 лайк

Только что добавил несколько оптимизаций кэша, которые должны снизить стоимость использования чат-бота.