Как отображать изображения внутри (посередине) потокового ответа LLM в приложении чата FastAPI WebSocket?Python

Программы на Python
Ответить
Anonymous
 Как отображать изображения внутри (посередине) потокового ответа LLM в приложении чата FastAPI WebSocket?

Сообщение Anonymous »

Я создаю приложение для чата в реальном времени, используя FastAPI WebSockets и LangGraph (LangChain), где помощник может возвращать как текст, так и соответствующие финансовые диаграммы/изображения, полученные из векторного хранилища Weaviate.
Текстовый ответ прекрасно передается по токену, но изображения в настоящее время отправляются только после завершения полнотекстового ответа. (response_end), в результате чего они появляются под завершенным сообщением вместо встроенных в строку, где на них ссылаются при анализе.
Вот текущий процесс (упрощенный):
  • Пользователь отправляет запрос → обрабатывается через LangGraph.
  • Текстовые токены передаются через {"type": "token", "content": "..."
  • Когда LangGraph завершает работу, я собираю все возвращенные изображения (base64 из Weaviate) в Collect_images.
  • Отправьте {"type": "response_end"
  • Затем циклически перебираю собранные_изображения и отправить каждое через {"type": "image_b64", ...
Результат: Все изображения отображаются внизу, даже если LLM говорит: «Как вы можете видеть на диаграмме выше...»
Цель: отображать изображения в строке именно там, где им место в тексте (например, после абзаца, в котором упоминается «производительность»). тренд"), в идеале, пока текст все еще транслируется или, по крайней мере, полностью встроен.

Подробнее здесь: https://stackoverflow.com/questions/798 ... se-in-a-fa
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»