Советы по боту поддержки для технического форума (Discourse AI против Discourse Chatbot)

Под «скрытым» я имею в виду категорию, которая не видна большинству пользователей. Она не обязательно должна быть скрыта, но создание категории, содержащей только PDF-файлы, предназначенные для использования в качестве знаний в RAG, может быть загромождено другими пользователями.

Я привёл PDF в качестве примера, так как многие руководства, вероятно, уже существуют в формате PDF, и предложил скрыть их в отдельной категории, поскольку это проще понять. Для других вариантов, не требующих скрытой категории, хорошим местом для начала является Langchain Retrieval.

У меня нет возражений против этого, это подталкивает идею о том, что нужно сделать, в правильном направлении.

Однако термин «ассистент» в некоторых контекстах уступает место новому игроку — GPTs. GPTs также, похоже, вытесняют плагины ChatGPT, но я не использую плагины ChatGPT уже несколько месяцев, поэтому на самом деле не замечаю этого, лишь вижу обсуждения этого на форумах.

1 лайк

Но подождите:

  • разве Assistant API и GPT не были представлены в один и тот же день?
  • разве GPT — это не просто более удобный для конечного пользователя, интерфейс без кода для ассистента, который нельзя вызывать через API?
2 лайка

Да

Вы были там? Я не был.

Я знаю, что один из сотрудников Discourse присутствовал.

Честно говоря, я не обладал достаточными знаниями, чтобы ответить, поэтому посмотрел это видео.

Что касается Assistant, то, похоже, GPT предоставляет вам:

  • Веб-браузинг
  • Генерацию изображений DALL-E
  • Интерпретатор кода

Я согласен с большей частью того, что вы отметили.

Также, только что узнав гораздо больше о GPT, просматривая видео, скажу, что это впечатляет, хотя всё ещё не отвечает потребностям большинства людей, но прогресс очевиден. Было также интересно увидеть часть JSON, который совпадает или похож на плагины ChatGPT.

Касательно этой темы отмечу, что многие на форуме OpenAI пытаются загружать файлы для использования с RAG, но быстро обнаруживают ограничение в 10 файлов. Кроме того, ссылку на GPT можно отправить, но другой пользователь также должен быть подписчиком ChatGPT Plus, поэтому для многих, кто занимается коммерческой деятельностью, это, скорее всего, тупиковый вариант.

1 лайк

Open AI Assistant API находится на ранней стадии развития и фактически находится в режиме предварительного просмотра:

  • Сообщается, что она чрезмерно дорога (она заполняет доступный контекст при каждой итерации, независимо от необходимости, и вы платите за это, даже если это не требуется)
  • По-видимому, она страдает от проблемы «бесконечного цикла», когда иногда начинает итерировать бесконечно. Это удивительная проблема, учитывая кажущуюся экспертизу компании, поскольку создание механизма смягчения этой проблемы вполне очевидно.

Я полагаю, что ей нужно больше времени для доработки и необходимо учесть отзывы первых пользователей.

Как потенциальное будущее упрощение для потребителей AI-сервисов, таких как Chatbot, я приветствую её.

В любом случае вам потребуется интерфейс с Discourse.

Chatbot уже обеспечивает те же возможности, что и API Assistant, но без её проблем, и дополнительно предоставляет интерфейс с Discourse. В конечном счёте он не зависит от конкретной версии API и будет развиваться вместе с доступными сервисами. Возможно, в будущем он предложит опцию Assistant API, но на данный момент нет никаких преимуществ в этом, так как это создаст только проблемы (включая описанные выше).

3 лайка

Не физически :confused:

20, но да, очень ограниченное количество — что можно частично обойти, объединив все необходимые файлы в один большой файл (что довольно быстро становится довольно дорогим)

и главный сюрприз в том, что вы не узнаете, насколько это дорого, до тех пор, пока не станет поздно…

Почти — API помощника имеет возможность включать приватные, пользовательские знания, которые находятся вне Discourse.

Рад, что это не только я :wink:

1 лайк

В чём тогда разница с использованием данных, загруженных в Discourse, или с применением приватных промптов?

Разумеется, данные загружаются в их сервисы.

Смотрите пример выше: если у вас есть PDF-файлы с руководствами пользователя и они загружены в Discourse, они не будут обработаны и проиндексированы. Вам потребуется конвертировать их в Markdown. Это не только утомительно, но и потребует дополнительной автоматизации и конвертации.

Кто заставляет вас загружать в древнем формате PDF?

Должно быть, было бы лучше конвертировать один раз и иметь возможность редактировать локально.

В любом случае, следите за обновлениями — в этом пространстве для чат-бота нас ждёт ещё многое.

1 лайк

Возможно, сама реальность?
Дело в том, что большинство знаний в предметной области не доступны в формате Markdown.

Опять же, возьмём приведённый выше пример. У них есть отличные пользовательские руководства в формате PDF, которые создаются совершенно другим подразделением. Конвертировать один раз и редактировать локально — не сработает.

:fire: :fire:

1 лайк

Прайс-редактор для чтения PDF-файлов приветствуется, Ричард!

Но, полагаю, возможностей Markdown на данный момент более чем достаточно.

обратно к Эрику

Мы просто подождем, пока ассистенты станут немного дешевле. И да, тем временем Markdown отлично подойдет!

1 лайк

Рад, что другие тоже присоединяются к обсуждению, и надеюсь, что это будет полезно для Райана.

Возможно, @37Rb (Райан) сможет предоставить больше информации.

  1. Планируете ли вы использовать руководства для работы с RAG-ботом на базе Discourse AI на сайте Discourse?
    a. В каком формате сейчас существуют такие руководства? В бумажном виде, PDF, на веб-сайте или в другом формате?
    b. Как часто база знаний будет обновляться новыми версиями или изменениями в руководствах?
    c. Будут ли руководства опубликованы на сайте в открытом доступе?
  2. Какая ещё информация, помимо форума Discourse, может быть полезна ИИ для ответов на сайте поддержки?
  3. При создании бота на базе Discourse AI вы видите ли другие потребности в его функциях? Я задаю этот вопрос, потому что, если вы ознакомитесь с историей создания ИИ-бота в Discourse, то увидите, что он претерпел множество изменений. Это не был идеальный бот с самого начала, и он продолжает развиваться.
  4. Можете ли вы привести примеры того, как вы видите использование бота или агентов? Например, покажите несколько разных сценариев общения пользователя с ботом.
    Обратите внимание: я использую термин «агент» в значении, близком к агенту Langchain, а не путая его с ассистентом OpenAI.
2 лайка

Что это значит?

Непубличная информация, которую бот видит напрямую (но в конечном итоге влияет на то, как он общается с пользователем)

@37Rb

У меня появилась идея, после того как я увидел демонстрацию создания GPT от OpenAI на YouTube.

Вы можете создать GPT от OpenAI, для которого требуется подписка ChatGPT Plus и, вероятно, доступ после ожидания в очереди, аналогично тому, что вы ищете, чтобы узнать о преимуществах и недостатках такой технологии, и что можно использовать для создания бота AI для Discourse. Я не предлагаю вам создавать бота, но это поможет вам лучше понять, что может делать ИИ и где он может полностью провалиться.

2 лайка

Да.

PDF или HTML (размещены онлайн), но я не против конвертировать их в текст/Markdown и поддерживать как посты на Discourse. Мы можем написать скрипт, чтобы упростить этот процесс.

Руководства по продуктам обновляются нечасто, но другой контент в базе знаний — да. Такие вещи, как FAQ, частые/актуальные проблемы и т. д., будут обновляться чаще. Мы публикуем как можно больше информации открыто, но некоторые материалы логичнее оставить приватными — не потому, что они содержат конфиденциальные данные, а потому, что в виде публичного поста они могут выглядеть странно и запутанно.

Да, официальные руководства по продуктам обычно представлены в формате PDF. Например…

На данный момент, вероятно, ничего. Слишком большой риск позволить ему искать в интернете и получать результаты, которые не соответствуют нашей действительности.

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

Мне кажется, что поскольку всё основано на RAG, самое важное — это дать нам тонкий контроль над тем, как бот ищет информацию на форуме и формирует запросы для ИИ. Судя по тому, что я читал, сегодня с этим лучше всего справляется Discourse Chatbot от merefield. Я надеюсь проверить эту гипотезу на этой неделе.

Для нас это всегда предоставление поддержки пользователям/клиентам путём ответов на их вопросы или решения их проблем. Например:

  1. Помощь в выборе оборудования для обеспечения безопасности конкретного дома, иногда с учётом уже имеющейся системы безопасности.
  2. Помощь в установке и использовании системы.
  3. Помощь в устранении неполадок при возникновении проблем.
  4. Ответы на вопросы, вызванные любопытством: как работают те или иные вещи, что может появиться в будущем и т. д.

Лучшие примеры — это реальные вопросы, которые публикуются каждый день, на которые отвечает наша команда поддержки (а иногда и участники сообщества).

4 лайка

Спасибо!

Я понимаю, что для вас это просто простая ссылка, но для многих других, кто следует вашим шагам по созданию сайта поддержки с ботом на базе ИИ, который отвечает на вопросы, и позволяющим другим видеть обмен идеями на публичном форуме, это передовая технология. Я знаю, что компании делают это в частном порядке, но вы делаете это публично. :slightly_smiling_face:

Также я был рад увидеть диаграммы, так как они подтвердили правильность моих мыслей.

Я бы этого не делал.

Бот на самом деле не будет искать на форуме так же, как текст ищется в сообщении. Ключевое слово и связанная технология, которые вам нужно изучить для этого, — это векторная база данных и поиск ближайшего соседа.

Чтобы увидеть примеры кода такого использования, зайдите на

Желаю вам удачи в этом!

1 лайк

Обычно я не рекомендую продукты, за которые нужно платить, однако много лет назад я узнал о

когда отвечал на этот вопрос на StackExchange здесь.

Я несколько раз использовал бесплатную онлайн-версию и, как я отмечал в своём ответе, не видел ничего лучшего. За эти годы я искал множество способов извлекать текст и другую информацию из PDF-файлов.

Я хочу добавить немного больше информации по этому вопросу, так как некоторые могут подумать, что ссылка (название руководства, дата публикации, раздел и абзац) является частью информации, используемой в RAG, но я не рассматривал это таким образом и не привёл некоторых необходимых деталей. Я предполагал использование метаданных; для меня данные и метаданные имеют совершенно разные значения и способы применения.

Когда я спрашивал об этом ChatGPT, он дал ответ, который в целом соответствовал моим ожиданиям, но с несколькими дополнительными деталями, такими как Elasticsearch.

Запрос

Как можно использовать RAG (Retrieval Augmented Generation) с PDF-руководством по продукту и получать название, дату публикации, номер страницы и номер абзаца из руководства в качестве ссылки вместе с указанной информацией?

Ответ

Использование Retrieval Augmented Generation (RAG) с PDF-руководством для извлечения конкретной информации, такой как название, дата публикации, номер страницы и номер абзаца, включает несколько шагов. RAG, разработанный Facebook AI, объединяет возможности поиска (извлечения соответствующих документов или данных) с генерацией языка, позволяя модели ссылаться на внешние знания и включать их. Вот общий подход к использованию RAG с PDF-руководством:

  1. Преобразование PDF-руководства в текстовый формат:

    • Сначала необходимо преобразовать PDF-руководство в текстовый формат, который можно обработать. Для этого можно использовать такие инструменты, как Adobe Acrobat, pdftotext (часть проекта Xpdf) или библиотеки Python, такие как PyPDF2 или PDFMiner.
  2. Предварительная обработка текста:

    • После получения текста его, возможно, потребуется предварительно обработать. Это включает удаление ненужного форматирования, обработку специальных символов и, возможно, разделение текста на разделы, страницы и абзацы с идентифицируемыми маркерами.
  3. Индексация руководства:

    • Для эффективной работы RAG содержимое руководства должно быть проиндексировано. Это означает создание базы данных или структурированного формата, где каждая часть информации (например, абзац или раздел) хранится вместе с соответствующими метаданными (номер страницы, номер абзаца и т. д.). Для этой цели можно использовать Elasticsearch или аналогичную поисковую систему.
  4. Интеграция RAG:

    • После индексации руководства можно интегрировать RAG. RAG обычно сочетает языковую модель на основе трансформеров (например, BERT или RoBERTa) для поиска и модель последовательность-в-последовательность (например, BART или T5) для генерации. Вам потребуется настроить RAG для запросов к вашему проиндексированному руководству. Это может потребовать настройки компонента поиска для работы с вашей поисковой системой.
  5. Запрос к системе:

    • При запросе к системе RAG компонент поиска сначала находит наиболее релевантные разделы руководства на основе вашего запроса. Эта информация затем передаётся компоненту генерации, который формулирует ответ.
  6. Извлечение справочной информации:

    • Чтобы получить название, дату публикации, номер страницы и номер абзаца, необходимо убедиться, что эти детали либо включены в извлечённые фрагменты, либо система может обратиться к проиндексированным данным для получения этих метаданных. Это может потребовать дополнительной логики в вашей системе.
  7. Постобработка для ссылок:

    • После генерации ответа может потребоваться этап постобработки для правильного форматирования ссылок, чтобы название, дата публикации, номер страницы и номер абзаца были точно включены.
  8. Тонкая настройка и оценка:

    • В зависимости от ваших конкретных требований и сложности руководства может потребоваться тонкая настройка модели RAG на аналогичных типах документов или запросов. Оцените производительность системы и при необходимости скорректируйте свой подход.
  9. Интеграция с пользовательским интерфейсом:

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

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


Примечание: Хотя я использую ChatGPT для генерации информации, я также не публикую информацию от ChatGPT, если считаю её неверной. Другими словами, ChatGPT может быть полезен, но вы должны знать, правильна ли предоставленная информация. Хотя я не реализовал точно то, что отмечает ChatGPT здесь, у меня достаточно опыта в этой области, чтобы использовать этот подход или его вариант.

2 лайка

Я создал тестовый форум для каждого плагина: Discourse AI и Discourse Chatbot.

В плагине Discourse Chatbot есть шаг, на котором вы создаёте эмбеддинги, используя API эмбеддингов от OpenAI. Плагин Discourse AI, похоже, этого не делает (на панели управления OpenAI не отображалась активность по эмбеддингам), но он всё равно находит посты на нашем форуме. Если он не генерирует эмбеддинги для семантического поиска, как плагин Discourse AI ищет по форуму? Использует ли он обычный текстовый поиск? Или вычисляет собственные эмбеддинги?

1 лайк