Лучший подход для чанкинга текста в чат-агенте AI с использованием React и Django (Langchain) без сокетов?

Я создаю чат-агент с искусственным интеллектом, который должен обрабатывать фрагменты текста и отображать ответы слово за словом в режиме реального времени. Моя установка включает в себя интеграцию React (фронтенд) и Django Langchain (бэкенд). Я хочу добиться этого, не полагаясь на сокеты для передачи данных, а используя подход, который может получать и отображать ответы по мере их генерации, обеспечивая пользователю непрерывный поток слов.

Вот схема моей текущей установки:

Фронтенд: React (с Redux или без) Бэкенд: Django, интегрированный с Langchain для обработки логики ИИ Что я ищу: Text chunking: Best practices for chunking AI responses (word by word or partial sentences) and updating the UI in React. Обновления в реальном времени: Как получать и отображать эти данные инкрементально (например, получая поток или фрагменты) без использования сокетов. Эффективная обработка: Стратегии, позволяющие сделать работу пользователей плавной, особенно на фронтенде с React.

Я предпочитаю не использовать WebSockets и хочу придерживаться традиционных HTTP-запросов, если это возможно. Я ищу подход, который бы беспрепятственно обрабатывал данные/ответы, чтобы пользователи получали обновления в реальном времени без длительного ожидания. Если у кого-то есть опыт работы с Langchain в этом контексте или он может поделиться идеями о том, как достичь этого с помощью REST API или другого эффективного метода, я буду рад услышать ваши предложения.

Предполагаю, что если бы вы написали const-массив, готовый к вызову, вы могли бы «вытолкнуть» фрагмент текста, но, как правило, ограничения библиотек могут конфликтовать и не позволить преобразование, особенно в атрибутах кода, которые могут быть общими для других языков. Однако для ответа на ваш «взгляд» вы можете не получить ответа, а получить часть предложения или другое слово, и даже лучше, если вы сможете определить это в вашем массиве. Вы можете отобразить все то же самое, либо вызывая напрямую по вводу, либо вызывая имя переменной массива по вводу, если вы можете закрепить это в языке. С веб-сокетами не нужно связываться, и вы можете позволить браузеру сделать все совместимое за вас, если вы используете api ключи, или в случае открытых ресурсов, таких как Википедия, просто использовать код searcharea.

Вернуться на верх