Как сделать так, чтобы GPT API (Chat-GPT) запоминал контекст разговора в чате телеграм?

Я делаю бота (проект по практике) с GPT API и промтом для него. Но проблема в том, что он отвечает только на контекст вопроса одного сообщения, а не целого диалога. Помогите исправить. Пишу на пайтоне. Вот код:

@dp.message()
async def gpt_reply(message: types.Message, chat_context: list):
    completion = client.chat.completions.create(
        model="gpt-3.5-turbo",
        messages=[{"role": "system", "content": "You are helpful chat gpt bot in telegram"},
                  {"role": "user", "content": message.text}
                  ]
    )
    for i in range(1):
        chat_context.append({"role": "user", "content": message.text})
        chat_context.append({"role": "assistant", "content": gpt_reply(chat_context)})

    openai_reply = (completion.choices[0].message)
    await message.answer(openai_reply)


async def main():
    await dp.start_polling(bot, chat_context=[])


if __name__ == "__main__":
    asyncio.run(main())

Я понимаю, что лучше использовать while вместо for i in range, но это пока что просто черновик. Хочу понять как мне сделать "запоминание контекста" для бота.

Диспетчер и прочее установлено и подключено


Ответы (1 шт):

Автор решения: JustAQ

При запросе на сервера OpenAI вы передаете параметр messages в который вы передаете список сообщений в чате. Если вы хотите сохранять контекст вам нужно передавать туда предыдущие сообщения пользователя

→ Ссылка