Я был бы рад ошибаться, но, насколько я понимаю, ChatGPT «помнит» только текст последнего отправленного вами запроса. Вы можете проверить это в OpenAI Playground: начните чат, а затем после отправки текста нажмите кнопку «View code» (Посмотреть код). Вы увидите, что каждый раз при отправке нового текста он добавляется к запросу:
prompt="Ниже приведён разговор с ИИ-ассистентом. Ассистент помогает, креативен, умен и очень дружелюбен.\n\nЧеловек: Просто проверяю, как устанавливается промпт.\nИИ: Привет! Похоже, вы хотите узнать о настройке промптов. Чем ещё я могу помочь вам сегодня?\nЧеловек: Если я использую функционал чата OpenAI в своём приложении, нужно ли мне обновлять промпт каждый раз, когда пользователь задаёт новый вопрос? Определённо, стоит держать промпты в актуальном состоянии, так как это поможет обеспечить получение пользователями наиболее релевантной информации для каждого их вопроса. В зависимости от размера вашего приложения и сложности разговоров, вам может потребоваться регулярно обновлять промпты или разработать более сложную систему для определения моментов, когда обновления необходимы. Дайте знать, если я могу помочь чем-то ещё."
Это может продолжаться до достижения лимита в 4000 токенов (~3000 слов), упомянутого в документации, на которую вы сослались. Обратите внимание, что отправка больших промптов может стать дорогой. На данный момент, насколько я знаю, это стоит $0,02 за 1000 токенов с моделью Davinci.
Если моё понимание верно, то приложение или плагин для Discourse, работающий с ChatGPT, должно добавлять каждый новый вопрос и ответ к промпту. Это можно делать до достижения лимита в 4000 токенов (~3000 слов). Если этот лимит превышен, похоже, OpenAI возвращает ошибку. Обработку этой ошибки должно обеспечивать приложение, отправляющее запросы к OpenAI.
Возможным обходным путём для ограничения по токенам может быть извлечение ключевых деталей из разговора и обновление промпта только этими деталями. Возможно, удастся сделать запрос от имени пользователя для получения этой информации. Что-то вроде:
Эти детали затем можно сохранить в приложении, отправляющем запросы к OpenAI, и использовать для возобновления разговора в более поздний момент.
Более точные ответы на этот вопрос вы получите здесь: https://community.openai.com/. Отлично видеть, что они используют Discourse для своего сообщества!