@merefield Спасибо!
Как тебе вообще удалось так быстро отладить это?
Я уберу Zendesk… просто ![]()
Горький опыт ![]()
Всем привет,
Я создал аккаунт в OpenAI. Стоит ли мне создать “Assistant”? Просто интересно, есть ли какие-то шаги, которые нужно выполнить для интеграции ИИ с плагином?
С уважением,
Нет, вам нужен только токен. Возможно, вам потребуется пополнить свой аккаунт OpenAI, чтобы получить доступ к более продвинутым моделям и повысить лимиты запросов.
Вся работа с API осуществляется плагином.
(кстати, интересный факт: Chatbot явно не поддерживает Assistants API, поскольку реализует собственную уникальную систему диалога и «внутренних размышлений», используя только Chat Completions API и Embeddings API. Это отлично, потому что Assistants API печально известен тем, что бездумно расходует токены и обходится вам в копеечку — Chatbot же создан с целью экономии!)
Вау, это делает гораздо больше, чем я думал.
Не могли бы вы объяснить, что такое токен в мире ChatGPT? Сейчас я плачу за подписку ChatGPT Premium — 20 долларов в месяц. Моя цель — предоставить пользователям нашего Discourse доступ к ИИ, над которым мы работаем, на сайте chatgpt.com.
Надеюсь, всё понятно и сценарий использования ясен!
Это как деньги. Токены можно представить как слова или части слов. Когда вы задаёте вопрос, это стоит определённого количества токенов (X). При обработке вашего вопроса OpenAI использует дополнительные токены. И наконец, создание ответа также требует определённого количества токенов.
В зависимости от используемой модели и контекста диалога вы платите за использование токенов — иногда больше, иногда меньше.
Возможность использования o1 значительно изменила моё взаимодействие с ИИ (и спасибо… не Богу, а навыкам программирования Роберта, что я могу ограничить его использование только для себя). Однако серия o1 не использует системный промпт, поэтому мне приходится добавлять такие инструкции, как показывать математику и т. д., прямо в свой промпт.
Было бы проще, если бы существовал стандартный текст, который автоматически добавлялся бы после основного промпта, так называемый постфикс. В Discourse есть нечто подобное, но либо я не могу этим воспользоваться, либо использую неправильно. Этот текст должен появляться в каждой категории и в личных сообщениях, когда упоминается чат-бот или он является частью ЛС. И только при использовании o1 или o1-mini ![]()
Серия o1 ещё не готова, поэтому со временем могут измениться её возможности по использованию инструментов и т. д. Поэтому я не прошу о новой функции, а скорее обсуждаю возможные варианты. Кроме того, серия o1 никогда не станет массовым решением: она слишком специализирована (и дорога), поэтому требование, чтобы пользователь сам помнил о необходимости добавлять эти дополнительные правила, может быть оправданным.
Не по теме, но модели GPT освоили математику после публикации o1.
Да, мы не должны слишком углубляться в кастомизацию, чтобы компенсировать несоответствия Open AI.
Я сильно подозреваю, что инструменты и, возможно, даже функции системных промптов появятся, когда o1 выйдет из режима предварительного просмотра.
Я не уверен, что чат-бот — это то место, где нужно внедрять систему «сниппетов», хотя я помню, что один из членов команды её создавал. Дайте мне найти это и обновить пост…
Вот вам:
Спасибо @Jagster за очень понятную информацию. Возможно, я имел в виду что-то другое? Я пытаюсь интегрировать этот плагин с OpenAI, используя это:
Это просто ключ API, который вы сгенерируете для получения доступа. Ничего больше, можно сказать, ваш пароль.
Ах, теперь я понимаю, в чём путаница.
Да, существует токен API (или ключ, который нужно получить в OpenAI), а также текстовые токены, представляющие части слов. Последние обрабатываются LLM. Первый используется для аутентификации в API.
Вот довольно хорошее руководство по терминологии от The Verge:
Я запускаю Llama локально и почти добился работы этого решения на локальном экземпляре Discourse. Чат-бот общается
, но у меня возникают трудности с генерацией эмбеддингов. Мой пользователь для тестов имеет уровень доверия 1. Задача Rake rake chatbot:refresh_embeddings[1] завершается ошибкой аутентификации.
Faraday::UnauthorizedError: the server responded with status 401 (Faraday::UnauthorizedError)
В поле токена Open AI для чат-бота я вставил URL, который предоставил мне Llama.
Не могли бы вы подсказать, как правильно настроить аутентификацию?
Отлично, что вы попробовали!
Рад, что он работает ![]()
Не уверен, возможно ли использовать чат-бот с внедрением локально.
Я бы рассмотрел хороший PR с поддержкой этой функции.
Я нашёл это:
Так что, возможно, это будет работать с правильной моделью и соответствующим дополнительным кодом и настройками в чат-боте. Вероятно, потребуется пользовательская настройка модели внедрения, которой пока не существует.
Однако уже есть следующее:
chatbot open ai embeddings model custom url
Это было реализовано в первую очередь для поддержки Azure, но его можно использовать аналогично тому, как Chat Completions могут указывать на локальный сервис Ollama.
Понимаю, что сейчас это ограничивает полезность бота в локальной среде.
Это токен, отправляемый на конечную точку. Это просто текстовое поле. Скорее всего, URL здесь не сработает. Ниже есть дополнительные настройки URL конечной точки пользовательских чат-комплитионов:
например, chatbot open ai model custom url high trust
Если вы сделаете форк и внесёте соответствующие изменения, которые соответствуют уже существующим решениям, используют доступные возможности, но добавляют минимум необходимого для поддержки локальных внедрений через Ollama, сохраняя при этом текущее поведение с OpenAI и Azure, я обязательно рассмотрю ваш PR с целью его принятия.
Скоро
Появятся новые функции для поддержки рабочих процессов, включающих эмбеддинги:
…
Совместимость с API OpenAI: поддержка конечной точки /v1/embeddings, совместимой с OpenAI
Учитывая, что «скоро» в этой быстро развивающейся области обычно означает действительно скоро, может быть, стоит подождать этого, чтобы решить мою задачу?
Наша инстанция — кладезь информации, уходящей на 20 лет назад, но утечка данных также является огромной проблемой, поэтому возникает желание провести локальное тестирование.
Кажется, я нашёл PR для Ollama, который, похоже, решает проблему совместимости конечных точек API. Мне нужно лучше разобраться в этом, но я ли на правильном пути?
Сейчас настройки для пользовательской модели эмбеддингов нет, и это критическая проблема.
При локальном запуске можно попробовать жестко задать модель, которую вы скачали для Ollama.
Подумав об этом подробнее, возникнет ещё одна проблема: определение таблицы эмбеддингов задано с размерностью, соответствующей стандарту небольшой модели OpenAI, что ОГРОМНО. Возможно, стоит подумать, как это можно преодолеть…
Чат-бот 1.2 вводит коллекцию полей пользователя с поддержкой ИИ как экспериментальную функцию.
Если у пользователя есть необязательные поля, которые в данный момент пусты, включение этого параметра заставит бота начать запрашивать у пользователя эту информацию. Бот будет последовательно заполнять недостающие поля пользователя, пока они не будут завершены, а затем вернётся к обычному поведению.

(извините за медленный ответ — запись была сделана в среде разработки)
Примечание: данная функция поддерживает только:
Множественный выбор пока не поддерживается.
Поля должны быть необязательными.
Порядок полей пользователя определяет приоритет.
Чат-бот 1.3 выпущен ![]()
chatbot_quota_basis позволяет включить эту опцию; в противном случае учёт ведётся по количеству запросовЧат-бот всегда поддерживал возможность установления квоты на использование.
Сегодня эта функция становится ещё более продвинутой!
Теперь чат-бот может отслеживать и ограничивать использование по токенам.
Вы можете назначать стоимость вызовам API, чтобы предотвратить их чрезмерное использование, что позволит вам с меньшим беспокойством предоставлять доступ к таким функциям, как генерация изображений.
Учёт по токенам является опциональным. Если вы переключитесь на учёт по токенам, обязательно увеличьте квоты для каждого уровня доверия, поскольку значения должны быть на несколько порядков выше. Проведите эксперименты.
Однако учёт по количеству запросов также немного изменился. Теперь квота будет сбрасываться до максимально разрешённого числа запросов и уменьшаться до нуля.
Рекомендуется запустить задачу глобального сброса квот один раз в качестве разовой операции, чтобы все пользователи начали с полной квотой. Это действие нужно выполнить только один раз!
В Sidekiq по адресу /sidekiq/scheduler:
Нажмите кнопку Trigger.
В любом случае пользователи теперь могут спрашивать, сколько квоты у них осталось:
Примечание: известная проблема: если этот вопрос задаётся впервые до выполнения задачи сброса, ответ может показаться странным! Однако независимо от выполнения задачи сброса, при повторном задании этого вопроса всё должно работать корректно.
Привет, Роберт,
Я ценю всю работу, которую ты вложил в бота, однако при попытке вызвать его в чате в логах появляется следующая ошибка:
![]()
Есть ли какие-то идеи, как это исправить без переустановки?