Добрый день!
Используем python 3.10 + flask + gunicorn. Используем код в самом начале запуска приложения:
import gevent.monkey
gevent.monkey.patch_all()
Для поддержки асинхронности потоков.
Но этот код ломает возможности использования SDK yandex-cloud-ml-sdk.
Запускаем код:
from yandex_cloud_ml_sdk import YCloudML
sdk = YCloudML(
folder_id="...",
auth="....",
)
model = sdk.models.completions("yandexgpt-lite")
print("model:", model)
messages = [
{
"role": "system",
"text": "Ты умный ассистент",
},
{
"role": "user",
"text": "Привет! Какими науками занимался Альберт Эйнштейн?",
},
]
response = model.configure(temperature=0.5).run(messages)
print("response", response)
for alternative in response:
print(alternative)
На строке:
response = model.configure(temperature=0.5).run(messages)
Приложение зависает.
Решением стало замена:
gevent.monkey.patch_all()
на
gevent.monkey.patch_signal()
Но это решение не подходит, т.к. другие части приложения требуют полноценного патчинга.
Важно отметить, что соединение через REST API успешно генерирует, проблем нет.
Можно ли настроить асинхронность запросов при использовании gevent.monkey.patch_all()?
Добрый день!
Используем python 3.10 + flask + gunicorn. Используем код в самом начале запуска приложения:
Для поддержки асинхронности потоков.
Но этот код ломает возможности использования SDK yandex-cloud-ml-sdk.
Запускаем код:
На строке:
response = model.configure(temperature=0.5).run(messages)Приложение зависает.
Решением стало замена:
gevent.monkey.patch_all()на
gevent.monkey.patch_signal()Но это решение не подходит, т.к. другие части приложения требуют полноценного патчинга.
Важно отметить, что соединение через REST API успешно генерирует, проблем нет.
Можно ли настроить асинхронность запросов при использовании
gevent.monkey.patch_all()?