Сработало! Большое спасибо!
Отлично!
Но, ага, Ro-Bot соврал (это ограничение LLM).
Ro-Bot не мог этого знать, если вы не добавите это в системный промпт, но любой запрос будет стоить вам квоты (пока она не закончится)
Хорошо, что знаю! LOL. Я должен это добавить на случай, если кто-то спросит. ![]()
Всем привет,
@merefield Огромное спасибо за потрясающий плагин и за всю вашу тяжелую работу! Я очень ценю ваш вклад.
Мне нужна ваша помощь в том, как лучше всего использовать эмбеддинги и промпты. У меня уже хорошо работает OpenAI с gpt4o-mini, поэтому надеюсь, что и с эмбеддингами всё будет так же плавно. Мой план: придумать термин и добавить фоновую информацию, а затем задать вопрос ИИ, чтобы проверить, вернёт ли он выдуманный термин.
Один момент мне не до конца ясен: когда вы настраиваете категорию для индексации, включается ли в промпт вся тема целиком, если найден релевантный совпадающий фрагмент, или только та конкретная часть текста, которая использовалась для создания эмбеддинга? Я пытаюсь решить, что лучше: более короткие и сфокусированные темы или длинные и детальные, особенно учитывая важность эффективного использования токенов.
Ещё одна область, которую я исследую, — это взаимосвязь между разными входными данными промпта. Я тестировал настройку chatbot.prompt.system.basic.open и скрытый текст, который можно передавать боту для формирования его ответов. Я знаю, что они как-то работают вместе, но точно не уверен, как именно. Например, если я включаю инструкции вроде «Ты такой-то, пожалуйста, сделай А, Б, В» в системный промпт, это кажется менее эффективным, чем если включить их в промпт со скрытым текстом. Я пытаюсь лучше разобраться в этих концепциях и найти оптимальный подход.
Заранее спасибо за любые советы, которыми вы можете поделиться!
Привет, Брайан,
Заголовки тем подвергаются эмбеддингу, а каждый пост — отдельно.
Запрос может быть сопоставлен с любым из них и вернуть соответствующие посты.
Как только вы начнёте использовать эмбеддинги, следует переключиться на системные промпты RAG-бота.
Вам понадобятся chatbot.prompt.system.rag.open (для публичных ответов) и chatbot.prompt.system.rag.private (для приватных ответов в личных сообщениях и DM). Это разделение изначально было введено, чтобы вы могли немного иначе настраивать бота для поддержки один на один (если захотите, но можете оставить их одинаковыми).
Под скрытым текстом вы имеете в виду дополнительные промпты, специфичные для категорий?
Я в основном использую это для приветствия новых участников, когда они пишут в моей категории «Приветствия». Но, уверен, это может найти и более творческое применение.
Это делается немного иначе. Такой текст публикуется как скрытый промпт пользователя, а не как часть промпта бота, например:
Пожалуйста, дай мне тёплое приветствие для форума! Скажи, что все здесь очень дружелюбны и готовы помочь! Посоветуй мне прочитать тему «Приветствие», если я ещё этого не сделал: ССЫЛКА, а также правила публикации здесь: ССЫЛКА
Поэтому лучше писать его от первого лица.
Спасибо, Роберт, иногда простые вещи. Даже прочитав о том, что нужно использовать .rag-промпт, я продолжал использовать basic.open.
Я всё ещё пытаюсь понять, что именно отправляется в OpenAI в качестве промпта для RAG. Это всё вложение? То есть, если я создам тему, которая довольно обширна, будет ли вся эта длинная тема отправлена как промпт? Другими словами, выгоднее ли с точки зрения токенов создать две короткие и более точные темы, чем одну тему со всей информацией? Я всё ещё пытаюсь понять наиболее разумный подход к обеспечению эффективности.
Если вы измените настройки логирования и перенаправите вывод на уровень warn (эти настройки находятся в самом конце раздела настроек плагина), вы сможете просматривать все вызовы API в /logs.
Не забудьте вернуть настройки в исходное состояние, если не хотите засорять логи.
Привет, Роберт.
Каждый раз, когда я захожу в чат-бот, он пишет: «Привет, чем я могу помочь вам с HappyBooks сегодня?». Я бы хотел, чтобы чат отвечал только тогда, когда я ему пишу.
Как это сделать?
Привет, Уилли!
Если вы используете кнопку быстрого запуска, она всегда будет проговаривать текст первой, если только вы не отключите эту настройку:
И это вопиющая орфографическая ошибка (которую я исправлю)
![]()
Как настроить чат-бота так, чтобы он отвечал только на вопросы о сайте, а не на запросы вроде «5 + 5 = ?»?
Использование системного промпта, в котором вы категорически отказываетесь отвечать на такие вопросы, с примерами.
Но удачи вам в этом. Я не знаю, насколько хорошо другие LLM придерживаются таких правил, но модели OpenAI могут следовать им, а могут и нет. Даже если они будут действовать именно так, как задумано здесь, сейчас и для вас, в других постах, завтра и для других пользователей ситуация, скорее всего, будет совершенно противоположной.
Да, один из альтернативных подходов — просто управлять доступом с помощью предоставленной системы квот. Если пользователи хотят сложить 5 и 5 в личном сообщении, это их дело, но они расходуют свою квоту, делая это.
В любом случае, я не думаю, что это потребует много токенов ![]()
В публичном пространстве всё ещё на модераторах лежит ответственность за проверку появляющегося контента на сайте, как и с любым новым сообщением.
На моих собственных сайтах я регулярно поручаю своему боту выполнять самые разные задачи, которые, возможно, не являются ключевыми для основной тематики сайтов
(хотя и в приватном режиме и в пределах моей квоты)
5+5=10
Это произошло автоматически из-за iOS
(и иногда это действительно раздражает).
Если бы это подсчитывалось чат-ботом OpenAI, это практически ничего не стоило бы.
Привет, @merefield, не мог бы ты проверить, настроено ли оно для работы с Perplexity, так как он тоже использует модель GPT.
Если удастся найти прокси, возможно. Но без всей этой возни — только OpenAI.
Я всего лишь один разработчик, поэтому пришлось держать рамки разумными.
Конечно, я попробую и сообщу вам об этом.
Привет, @merefield! Я заметил, что ИИ не очень хорошо следует промпту. Похоже, что в логах он обрезается.
Ниже приведён полный промпт, который я сохранил в системном промпте. Он был выбран просто как тестовый.
Промпт для персонажа комедийного чат-бота. Вы — комедийный чат-бот, виртуальный артист, созданный, чтобы дарить смех и радость в каждом разговоре. Ваш тон лёгкий, остроумный и увлекательный, с flair для комедийного тайминга и репертуаром, охватывающим самые разные стили юмора. Ваша роль — быть душой цифровой вечеринки: делать остроумные наблюдения, произносить панчлайны и адаптировать свой юмор под контекст и предпочтения аудитории.
В логе отображается только одна строка, или мои промпты обрезаются?
Я не нашёл никаких настроек, и ранее у меня не было проблем с лимитами в OpenAI.
Спасибо! Брайан
Я отключил чат-бота прошлой ночью, потому что «первый ответ» очень плохо следовал подсказке категории. Почти не следовал вовсе. Я думал написать личное сообщение, когда узнаю что-то более надёжное, но вот мы и здесь. При этом и более обычное общение не особо хорошо справлялось с выполнением системной подсказки.
Да, интерфейс обрезает вывод.
Тем не менее вы всё ещё сможете найти полную версию в файле production.log в обычном месте.
(tail shared/standalone/log/rails/production.log из директории Discourse)


