Поток ответа в Flask с помощью AsyncGeneratorPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Поток ответа в Flask с помощью AsyncGenerator

Сообщение Anonymous »

Мне нужно будет передать данные пользователю через конечную точку через функцию, которая возвращает AsyncGenerator
Идея заключается в следующем:

Код: Выделить всё

message_route = Blueprint('message_route', __name__, template_folder='templates')

@message_route.route('/message//', methods=['POST'])
async def message(key, chat_uuid):

# [...] Other endpoint logic not helpful in resolving the issue

async def event_stream():
agent_handler = agent.run(input=content['message'])

# stream_events() return an AsyncGenerator[Event, None], so async is necessary
async for ev in agent_handler.stream_events():
if isinstance(ev, MessageOutputEvent):
print(ev.message)
yield ev.message

# wait for the process to finish before continuing
response = await agent_handler
print(response)

resp = make_response(event_stream())
resp.mimetype = "text/event-stream"
resp.set_cookie(key='user_uuid', samesite="none", value="user_123")
return resp, 200
Чтобы иметь возможность обрабатывать запросы с помощью async/await, я установил flask[async] (3.0.3), но когда я добавляю async в message(), я получаю ошибку:

Код: Выделить всё

TypeError: The view function did not return a valid response. The return type must be a string, dict, list, tuple with headers or status, Response instance, or WSGI callable, but it was a coroutine.
Я попытался использовать библиотеку Flask[async] для управления асинхронными конечными точками и получил ошибку. Кроме того, я пробовал использовать библиотеку asyncio, но не нашел решения

Подробнее здесь: https://stackoverflow.com/questions/791 ... cgenerator
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Проблема с использованием Depends() из FastApi с AsyncGenerator
    Гость » » в форуме Python
    0 Ответы
    23 Просмотры
    Последнее сообщение Гость
  • Проблема с использованием Depends() из FastApi с AsyncGenerator
    Гость » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Гость
  • Проверьте наличие __contains__ в AsyncGenerator/AsyncIterator.
    Anonymous » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • AsyncGenerator вместо AsyncSession в pytest, но почему
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Внутренняя ошибка сервера 500 при использовании flask - flask и flask - шаблона рендеринга
    Anonymous » » в форуме Python
    0 Ответы
    69 Просмотры
    Последнее сообщение Anonymous

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