āĻāĻŦāĻ° āĻĻāĻŋāĻ¯āĻŧā§ āĻļā§āĻ°ā§ āĻāĻ°āĻž āĻ¯āĻžāĻāĨ¤ āĻāĻ¤āĻāĻžāĻ˛ Yandex.Cloud āĻāĻāĻāĻŋ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°āĻšā§āĻ¨ āĻāĻŽā§āĻĒāĻŋāĻāĻāĻŋāĻ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻāĻžāĻ˛ā§ āĻāĻ°āĻžāĻ° āĻā§āĻˇāĻŖāĻž āĻĻāĻŋāĻ¯āĻŧā§āĻā§
āĻ¯āĻžāĻāĻšā§āĻ, āĻā§āĻ āĻā§āĻ āĻāĻā§āĻŦāĻžāĻ°ā§āĻ āĻ
āĻ°ā§āĻĨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¨āĻžāĨ¤ āĻāĻ°āĻžāĻ āĻĄā§āĻā§āĻ˛āĻĒāĻžāĻ°
āĻ¤āĻŦā§ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻ¸ā§āĻā§āĻˇā§āĻŽāĻ¤āĻž āĻ°āĻ¯āĻŧā§āĻā§āĨ¤ āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻāĻĒāĻ¨āĻžāĻ° āĻĒāĻŋāĻ āĻā§āĻĄā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŋāĻā§ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻŦāĻ āĻ¸ā§āĻā§āĻ˛āĻŋāĻā§ āĻā§āĻ˛āĻžāĻāĻĄā§ āĻā§āĻ¨ā§ āĻāĻ¨āĻž āĻ -āĻ¤ā§āĻā§āĻāĨ¤ āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧāĻ¤, āĻ¯ā§āĻā§āĻ¨ā§ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻā§āĻ¯āĻžāĻāĻŦāĻāĻā§ āĻ¸āĻāĻ˛āĻžāĻĒā§āĻ° āĻ āĻŦāĻ¸ā§āĻĨāĻž āĻā§āĻĨāĻžāĻ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ (āĻ āĻ¤āĻāĻŦ āĻ°āĻžāĻˇā§āĻā§āĻ°ā§āĻ¯āĻŧ); āĻāĻāĻāĻŋ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°āĻšā§āĻ¨ āĻĢāĻžāĻāĻļāĻ¨ā§ āĻāĻāĻŋ āĻāĻ°āĻžāĻ° āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻ¸āĻšāĻ āĻāĻĒāĻžāĻ¯āĻŧ āĻāĻŋ? āĻ¤ā§āĻ¤ā§āĻ¯āĻŧāĻ¤, āĻāĻĒāĻ¨āĻŋ āĻā§āĻāĻžāĻŦā§ āĻ ā§āĻ¯āĻžāĻ˛āĻŋāĻ¸ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĻā§āĻ°ā§āĻ¤ āĻāĻŦāĻ āĻ¨ā§āĻāĻ°āĻž āĻĻāĻā§āĻˇāĻ¤āĻž āĻ˛āĻŋāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻŦāĻž āĻāĻŽāĻ¨āĻā§ āĻā§āĻ¨āĻ āĻ¨āĻ¨-āĻāĻŋāĻ°ā§ āĻĒā§āĻ˛āĻ āĻ¸āĻš āĻā§āĻ¨āĻ āĻ§āĻ°āĻŖā§āĻ° āĻŦāĻ āĻ˛āĻŋāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨? āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻāĻŋ āĻāĻ¸āĻ˛ā§ āĻāĻ āĻ¸ā§āĻā§āĻˇā§āĻŽāĻ¤āĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§āĨ¤
āĻ¨ā§āĻ¤āĻŋāĻ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤āĻŋ
āĻ
āĻ§ā§āĻ°ā§āĻ¯ā§āĻ° āĻāĻ¨ā§āĻ¯: āĻā§āĻ˛āĻžāĻāĻĄā§ āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻāĻĒāĻ˛ā§āĻĄ āĻāĻ°āĻžāĻ° āĻāĻā§ āĻāĻŽāĻŋ āĻāĻāĻāĻŋ āĻŽā§āĻāĻĢāĻžāĻāĻ˛ āĻĻāĻŋāĻ¯āĻŧā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž āĻ¸āĻāĻā§āĻ°āĻš āĻāĻ°āĻŋ, āĻāĻŽāĻŋ āĻāĻ¯āĻŧāĻžāĻ¨āĻĄā§āĻā§āĻ¸ āĻ
āĻŦāĻā§āĻā§āĻ āĻ¸ā§āĻā§āĻ°ā§āĻā§ āĻĄāĻžāĻ¯āĻŧāĻžāĻ˛āĻā§āĻ° āĻ
āĻŦāĻ¸ā§āĻĨāĻž āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻŋ (āĻāĻāĻŋ S3 API āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§), āĻāĻŦāĻ āĻĄāĻžāĻ¯āĻŧāĻžāĻ˛āĻ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻ¤ā§ āĻāĻŽāĻŋ āĻāĻŽāĻžāĻ° āĻ¨āĻŋāĻāĻ¸ā§āĻŦ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋ
āĻ¯āĻžāĻ°āĻž āĻāĻāĻā§ āĻāĻŽ āĻ
āĻ§ā§āĻ°ā§āĻ¯ āĻ¤āĻžāĻĻā§āĻ° āĻāĻ¨ā§āĻ¯, āĻāĻāĻŋāĻ˛āĻ¤āĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻŽāĻžāĻ° āĻāĻ˛ā§āĻĒā§ āĻĄā§āĻŦ āĻĻā§āĻāĻ¯āĻŧāĻžāĻ° āĻāĻā§, āĻāĻŽāĻŋ āĻā§āĻŦ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻāĻŋāĻā§ āĻĻāĻŋāĻ¯āĻŧā§ āĻļā§āĻ°ā§ āĻāĻ°āĻžāĻ° āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻāĻŋāĻāĨ¤ āĻ¯āĻĨāĻž, āĻāĻāĻāĻŋ āĻāĻāĻ-āĻĢāĻžāĻāĻ˛ āĻāĻā§āĻŦāĻ āĻĢāĻžāĻāĻļāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨, āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻĄāĻžāĻ¯āĻŧāĻžāĻ˛āĻ āĻŦāĻŋāĻāĻžāĻļāĻāĻžāĻ°ā§ āĻāĻ¨āĻ¸ā§āĻ˛ā§ āĻāĻāĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°ā§āĻ¨; āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ - āĻāĻ¨
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ
āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§ āĻ
āĻ¨ā§āĻāĻŦ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨ āĻ¯ā§ āĻāĻŽāĻ°āĻž āĻāĻāĻžāĻ¨ā§ āĻāĻŋāĻ¸ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ˛āĻĄāĻŧāĻžāĻ āĻāĻ°āĻāĻŋ, āĻ
ā§āĻ¯āĻžāĻ˛āĻŋāĻ¸āĻā§ āĻāĻŋāĻā§āĻāĻžāĻ¸āĻž āĻāĻ°ā§āĻ¨ '
āĻāĻ˛āĻŋāĻ¸: āĻšā§āĻ¯āĻžāĻ˛ā§! āĻāĻĒāĻ¨āĻŋ "āĻāĻāĻāĻŋ āĻ°āĻžāĻļāĻŋāĻĢāĻ˛" āĻĻāĻā§āĻˇāĻ¤āĻžāĻ¯āĻŧ āĻāĻā§āĻ¨āĨ¤ āĻ¤āĻžāĻ°āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋ āĻĻā§āĻ¯āĻŧ āĻ¤āĻž āĻāĻžāĻ¨āĻ¤ā§ "āĻļā§āĻ°ā§ āĻāĻ°ā§āĻ¨" āĻŦāĻ˛ā§āĻ¨āĨ¤
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§: āĻļā§āĻ°ā§ āĻāĻ°ā§āĻ¨
āĻāĻ¤ā§āĻ¤āĻ°āĻ āĻāĻĒāĻ¨āĻžāĻ° āĻ¨āĻžāĻŽ āĻŦāĻ˛ā§āĻ¨
āĻāĻ: āĻāĻžāĻ¸āĻŋāĻ¸ā§āĻ¯āĻŧāĻžāĻ˛āĻŋ
āĻāĻ¤ā§āĻ¤āĻ°āĻ āĻāĻāĻ¨ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻ¨ā§āĻŽ āĻ¸āĻžāĻ˛ āĻŦāĻ˛ā§āĻ¨āĨ¤ āĻŽāĻžāĻ¤ā§āĻ° āĻāĻžāĻ°āĻāĻŋ āĻ¸āĻāĻā§āĻ¯āĻž, āĻ
āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻāĻŋāĻā§ āĻ¨āĻ¯āĻŧāĨ¤
āĻāĻ: āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ
āĻāĻ¤ā§āĻ¤āĻ°: āĻ
āĻ¨ā§āĻā§āĻ°āĻš āĻāĻ°ā§ āĻāĻŦāĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻ¨āĨ¤ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻ¨ā§āĻŽā§āĻ° āĻŦāĻāĻ° āĻ˛āĻŋāĻā§āĻ¨ - āĻāĻžāĻ°āĻāĻŋ āĻ¸āĻāĻā§āĻ¯āĻžāĨ¤
āĻāĻ: 2002
āĻāĻāĻāĻŋ āĻŽāĻšāĻžāĻ¨! āĻāĻāĻ¨ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻ¨ā§āĻŽ āĻŽāĻžāĻ¸ā§āĻ° āĻ¨āĻžāĻŽ āĻĻāĻŋāĻ¨āĨ¤
āĻāĻ: āĻĢā§āĻŦā§āĻ°ā§āĻ¯āĻŧāĻžāĻ°āĻŋ
āĻāĻāĻāĻŋ āĻŽāĻšāĻžāĻ¨! āĻ
āĻŦāĻļā§āĻˇā§, āĻāĻŽāĻžāĻā§ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻ¨ā§āĻŽ āĻ¤āĻžāĻ°āĻŋāĻ āĻŦāĻ˛ā§āĻ¨ - āĻļā§āĻ§ā§ āĻāĻāĻāĻŋ āĻ¸āĻāĻā§āĻ¯āĻž, āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ āĻŦāĻž āĻĻā§āĻāĻŋ āĻ¸āĻāĻā§āĻ¯āĻžāĨ¤
āĻāĻ: 18
āĻāĻ¤ā§āĻ¤āĻ°: āĻāĻĒāĻ¨āĻžāĻā§ āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻ, āĻāĻžāĻ¸āĻŋāĻ¸ā§āĻ¯āĻŧāĻžāĻ˛āĻŋ! āĻāĻāĻ¨ āĻāĻŽāĻ°āĻž āĻāĻžāĻ¨āĻŋ: āĻāĻĒāĻ¨āĻžāĻ° āĻŦāĻ¯āĻŧāĻ¸ 17 āĻŦāĻāĻ° āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻā§āĻŽā§āĻāĨ¤ āĻāĻžāĻ˛, āĻ
āĻŦāĻļā§āĻ¯āĻ, āĻāĻĒāĻ¨āĻŋ āĻāĻžāĻā§āĻ¯āĻŦāĻžāĻ¨! āĻ¤āĻžāĻ°āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻŦāĻ˛ā§: Đ° ŅŅĐž ĐŗОвОŅŅŅ СвŅСдŅ, вŅ ŅСĐŊĐ°ĐĩŅĐĩ, СаĐŋŅŅŅив ĐŊавŅĐē.
āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻšāĻ˛ āĻ¯ā§ āĻāĻŽāĻ¨ āĻāĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻāĻĨā§āĻĒāĻāĻĨāĻ¨ āĻŦāĻāĻžāĻ¯āĻŧ āĻ°āĻžāĻāĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻĒāĻ¨āĻžāĻā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻ¨āĻžāĻŽ āĻāĻŦāĻ āĻāĻ¨ā§āĻŽ āĻ¤āĻžāĻ°āĻŋāĻ āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻ¤ā§ āĻšāĻŦā§ āĻāĻŦāĻ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°āĻšā§āĻ¨ āĻĢāĻžāĻāĻļāĻ¨ āĻĒāĻ°āĻŋāĻŦā§āĻļā§ āĻāĻāĻŋ āĻ
-āĻ¤ā§āĻā§āĻāĨ¤ āĻāĻāĻŋ RAM āĻŦāĻž āĻĄāĻŋāĻ¸ā§āĻā§ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻĒā§āĻ°āĻ¸āĻā§āĻ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻž āĻ¸āĻŽā§āĻāĻŦ āĻšāĻŦā§ āĻ¨āĻž, āĻāĻžāĻ°āĻŖ Yandex.Cloud āĻāĻāĻ āĻ¸āĻŽāĻ¯āĻŧā§ āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§āĻļāĻŋāĻ¨ā§ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻžāĻ˛āĻžāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻŦāĻ āĻāĻā§āĻāĻžāĻŽāĻ¤ āĻ¤āĻžāĻĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¸ā§āĻ¯ā§āĻāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻŋāĻā§ āĻ§āĻ°āĻ¨ā§āĻ° āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ āĻ¸ā§āĻā§āĻ°ā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻ
āĻŦāĻā§āĻā§āĻ āĻ¸ā§āĻā§āĻ°ā§āĻāĻā§ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ Yandex.Cloud (āĻ
āĻ°ā§āĻĨāĻžā§, āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻĻā§āĻ°ā§āĻ¤) āĻāĻāĻāĻŋ āĻŽā§āĻāĻžāĻŽā§āĻāĻŋ āĻ¸āĻ¸ā§āĻ¤āĻž āĻāĻŦāĻ āĻāĻāĻŋāĻ˛ āĻ¸āĻā§āĻāĻ¯āĻŧāĻ¸ā§āĻĨāĻžāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻŦā§āĻā§ āĻ¨ā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻāĻāĻāĻŋ āĻŦāĻŋāĻ¨āĻžāĻŽā§āĻ˛ā§āĻ¯ā§ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻšāĻŋāĻ¸āĻžāĻŦā§, āĻāĻĒāĻ¨āĻŋ āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻāĻāĻŋ āĻŦāĻŋāĻ¨āĻžāĻŽā§āĻ˛ā§āĻ¯ā§ āĻā§āĻāĻ°āĻž
āĻāĻ°ā§āĻāĻāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻšāĻ˛ āĻ āĻŦāĻā§āĻā§āĻ āĻ¸ā§āĻā§āĻ°ā§āĻ, āĻŽāĻā§āĻā§āĻĄāĻŋāĻŦāĻŋ, āĻāĻŦāĻ āĻ āĻ¨ā§āĻ¯ āĻā§āĻ¨ā§ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ āĻŦāĻž āĻĄā§āĻāĻž āĻ¸ā§āĻā§āĻ° āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻĒāĻ¨āĻžāĻ° āĻāĻŋāĻā§ āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻ° āĻĢāĻžāĻāĻļāĻ¨ āĻā§āĻĄā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻ¯āĻŧāĻžāĻ¨āĻĄā§āĻā§āĻ¸ āĻĢāĻžāĻāĻļāĻ¨ā§ āĻāĻĒāĻ˛ā§āĻĄ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻŦāĻ āĻāĻŽāĻŋ āĻāĻāĻž āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻŽāĻ¤ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ. āĻĻā§āĻ°ā§āĻāĻžāĻā§āĻ¯āĻŦāĻļāĻ¤, āĻāĻāĻŋ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖāĻ°ā§āĻĒā§ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻāĻ¨āĻ āĻšāĻŦā§ āĻ¨āĻž (āĻ¯ā§āĻŽāĻ¨ āĻšā§āĻ°ā§āĻā§āĻ¤ā§), āĻ¤āĻŦā§ āĻĒāĻ°āĻŋāĻŦā§āĻļ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻ˛āĻŋāĻā§ āĻāĻŋāĻā§ āĻŽā§āĻ˛āĻŋāĻ āĻāĻ°āĻžāĻŽ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ (āĻĢāĻžāĻāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨)āĨ¤
āĻā§āĻāĻžāĻŦā§ āĻāĻāĻāĻŋ āĻ°āĻžāĻļāĻŋāĻĢāĻ˛ ââāĻĻāĻā§āĻˇāĻ¤āĻž āĻāĻžāĻ˛ā§ āĻāĻ°āĻŦā§āĻ¨
- āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻāĻ°ā§āĻ¨: āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ āĻ¸āĻš āĻāĻŋāĻā§ āĻŽā§āĻļāĻŋāĻ¨ā§ āĻ¯āĻžāĻ¨āĨ¤ āĻ¨ā§āĻ¤āĻŋāĻāĻ¤āĻāĻžāĻŦā§, āĻāĻĒāĻ¨āĻŋ āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻāĻāĻ¨ā§āĻĄā§āĻā§āĻ° āĻ¸āĻžāĻĨā§āĻ āĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻ¤āĻŦā§ āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻāĻĒāĻ¨āĻžāĻā§ āĻŽā§āĻāĻĢāĻžāĻāĻ˛āĻāĻŋ āĻāĻžāĻ˛ā§ āĻāĻ°āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻāĻŋāĻā§ āĻāĻžāĻĻā§ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻŦāĻ āĻ¯ā§ āĻā§āĻ¨āĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻāĻĒāĻ¨āĻžāĻ° āĻāĻŽāĻĒāĻā§āĻˇā§ āĻĒāĻžāĻāĻĨāĻ¨ 3.6 āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻž āĻĻāĻ°āĻāĻžāĻ°āĨ¤
- Github āĻĨā§āĻā§ āĻāĻāĻŋ āĻā§āĻ˛ā§āĻ¨ āĻāĻ°ā§āĻ¨
āĻ°āĻžāĻļāĻŋāĻĢāĻ˛ ââāĻĻāĻā§āĻˇāĻ¤āĻžāĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖ . - Y.Cloud āĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ āĻāĻ°ā§āĻ¨:
https://cloud.yandex.ru - āĻ¨āĻŋāĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻĻā§āĻāĻŋ āĻŦāĻžāĻ˛āĻ¤āĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨
āĻŦāĻ¸ā§āĻ¤ā§ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ , āĻ¯ā§ āĻā§āĻ¨ā§ āĻ¨āĻžāĻŽā§ āĻĄāĻžāĻā§āĻ¨{BUCKET NAME}
иtgalice-test-cold-storage
(āĻāĻ āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻ¨āĻžāĻŽāĻāĻŋ āĻāĻāĻ¨ āĻšāĻžāĻ°ā§āĻĄāĻā§āĻĄ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§main.py
āĻāĻŽāĻžāĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖ)āĨ¤ āĻĒā§āĻ°āĻĨāĻŽ āĻŦāĻžāĻ˛āĻ¤āĻŋāĻāĻŋ āĻā§āĻŦāĻ˛ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻŦā§, āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧāĻāĻŋ - āĻĄāĻžāĻ¯āĻŧāĻžāĻ˛āĻ āĻ°āĻžāĻā§āĻ¯āĻā§āĻ˛āĻŋ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻ¤ā§āĨ¤ - āĻ¤ā§āĻ°āĻŋ
āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻ ā§āĻ¯āĻžāĻāĻžāĻāĻ¨ā§āĻ , āĻ¤āĻžāĻā§ āĻāĻāĻāĻŋ āĻā§āĻŽāĻŋāĻāĻž āĻĻāĻŋāĻ¨editor
, āĻāĻŦāĻ āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻŋāĻ āĻļāĻāĻ¸āĻžāĻĒāĻ¤ā§āĻ° āĻĒāĻžāĻ¨{KEY ID}
и{KEY VALUE}
â āĻāĻŽāĻ°āĻž āĻ¸āĻāĻ˛āĻžāĻĒā§āĻ° āĻ āĻŦāĻ¸ā§āĻĨāĻž āĻ°ā§āĻāĻ°ā§āĻĄ āĻāĻ°āĻ¤ā§ āĻ¤āĻžāĻĻā§āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦāĨ¤ Ya.Cloud āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻ¯āĻžāĻ¤ā§ Ya.Cloud āĻĨā§āĻā§ āĻ¸ā§āĻā§āĻ°ā§āĻ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¸ā§ āĻāĻ¨ā§āĻ¯ āĻāĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨āĨ¤ āĻāĻāĻĻāĻŋāĻ¨, āĻāĻŽāĻŋ āĻāĻļāĻž āĻāĻ°āĻŋ, āĻ āĻ¨ā§āĻŽā§āĻĻāĻ¨ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ āĻšāĻ¯āĻŧā§ āĻāĻ āĻŦā§, āĻ¤āĻŦā§ āĻāĻĒāĻžāĻ¤āĻ¤ āĻāĻāĻŋ āĻāĻŽāĻ¨āĻāĨ¤ - (āĻāĻā§āĻāĻŋāĻ) āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°ā§āĻ¨
āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻāĻ¨ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ yc
. āĻāĻĒāĻ¨āĻŋ āĻāĻ¯āĻŧā§āĻŦ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻ¤āĻŦā§ CLI āĻāĻžāĻ˛ āĻāĻžāĻ°āĻŖ āĻāĻ¤ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ§āĻ°āĻŖā§āĻ° āĻāĻĻā§āĻāĻžāĻŦāĻ¨ āĻĻā§āĻ°ā§āĻ¤ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤ - āĻāĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻāĻ¸āĻ˛ā§ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž āĻ¸āĻŽāĻžāĻŦā§āĻļ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨: āĻĻāĻā§āĻˇāĻ¤āĻžāĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻ¸āĻš āĻĢā§āĻ˛ā§āĻĄāĻžāĻ° āĻĨā§āĻā§ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻāĻ¨ā§ āĻāĻāĻŋ āĻāĻžāĻ˛āĻžāĻ¨
make all
. āĻĢā§āĻ˛ā§āĻĄāĻžāĻ°ā§ āĻāĻāĻā§āĻā§āĻ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ (āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻāĻ, āĻ¸ā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻā§āĻ° āĻŽāĻ¤ā§, āĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ) āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻž āĻšāĻŦā§dist
. - āĻšāĻžāĻ¤ āĻĻāĻŋāĻ¯āĻŧā§ āĻ
āĻŦāĻā§āĻā§āĻ āĻ¸ā§āĻā§āĻ°ā§āĻā§ āĻĸāĻžāĻ˛āĻž (āĻŦāĻžāĻ˛āĻ¤āĻŋāĻ¤ā§
{BUCKET NAME}
) āĻāĻā§āĻ° āĻ§āĻžāĻĒā§ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻāĻ°ā§āĻāĻžāĻāĻdist.zip
. āĻ¯āĻĻāĻŋ āĻāĻā§āĻāĻž āĻšāĻ¯āĻŧ, āĻāĻĒāĻ¨āĻŋ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻāĻ¨ āĻĨā§āĻā§ āĻāĻāĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻāĻĄāĻžāĻŦā§āĻ˛ā§āĻāĻ¸ āĻ¸āĻŋ āĻāĻ˛ āĻāĻ . - āĻāĻ¯āĻŧā§āĻŦ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻŦāĻž āĻāĻāĻāĻŋ āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻāĻāĻŋ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°āĻšā§āĻ¨ āĻĢāĻžāĻāĻļāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨
yc
. āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻĻā§āĻāĻ¤ā§ āĻāĻāĻ°āĻāĻŽ āĻšāĻŦā§:
yc serverless function version create
--function-name=horoscope
--environment=AWS_ACCESS_KEY_ID={KEY ID},AWS_SECRET_ACCESS_KEY={KEY VALUE}
--runtime=python37
--package-bucket-name={BUCKET NAME}
--package-object-name=dist.zip
--entrypoint=main.alice_handler
--memory=128M
--execution-timeout=3s
āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŋ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻāĻāĻ āĻāĻžāĻŦā§ āĻĒā§āĻ°āĻŖ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
āĻāĻāĻ¨ āĻāĻĒāĻ¨āĻžāĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻŦāĻŋāĻāĻžāĻļāĻāĻžāĻ°ā§ āĻāĻ¨āĻ¸ā§āĻ˛ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ° āĻĻāĻā§āĻˇāĻ¤āĻž āĻāĻ¨ā§āĻ¨āĻ¤ āĻāĻŦāĻ āĻĒā§āĻ°āĻāĻžāĻļ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻšā§āĻĄ āĻ āĻ§ā§āĻ¨ā§ āĻāĻŋ
āĻŽā§āĻāĻĢāĻžāĻāĻ˛ā§ āĻāĻ¸āĻ˛ā§ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻļā§āĻ˛āĻ¤āĻž āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻžāĻ° āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖāĻžāĻāĻžāĻ°ā§ āĻ°āĻžāĻāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻŽā§āĻāĻžāĻŽā§āĻāĻŋ āĻ¸āĻšāĻ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻ°āĻ¯āĻŧā§āĻā§ dist.zip
, āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻāĻ āĻŽāĻ¤:
mkdir -p dist/
pip3 install -r requirements.txt --target dist/
cp main.py dist/main.py
cp form.yaml dist/form.yaml
cd dist && zip --exclude '*.pyc' -r ../dist.zip ./*
āĻŦāĻžāĻāĻŋāĻāĻž āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ¤ā§ āĻŽā§āĻĄāĻŧāĻžāĻ¨ā§ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻ¸āĻšāĻ āĻā§āĻ˛ tgalice
. āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻĄā§āĻāĻž āĻĒā§āĻ°āĻŖ āĻāĻ°āĻžāĻ° āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻŋ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧ form.yaml
:
form_name: 'horoscope_form'
start:
regexp: 'ŅŅĐ°ŅŅ|ĐŊĐ°Ņ(Đ°ŅŅ|ĐŊи)'
suggests:
- ĐĄŅĐ°ŅŅ
fields:
- name: 'name'
question: ĐĐžĐļĐ°ĐģŅĐšŅŅĐ°, ĐŊаСОвиŅĐĩ ŅвОŅ иĐŧŅ.
- name: 'year'
question: ĐĸĐĩĐŋĐĩŅŅ ŅĐēĐ°ĐļиŅĐĩ ĐŧĐŊĐĩ ĐŗОд ваŅĐĩĐŗĐž ŅĐžĐļĐ´ĐĩĐŊиŅ. ĐĸĐžĐģŅĐēĐž ŅĐĩŅŅŅĐĩ ŅиŅŅŅ, ĐŊиŅĐĩĐŗĐž ĐģиŅĐŊĐĩĐŗĐž.
validate_regexp: '^[0-9]{4}$'
validate_message: ĐĐžĐļĐ°ĐģŅĐšŅŅĐ°, ĐŋĐžĐŋŅОйŅĐšŅĐĩ ĐĩŅŅ ŅаС. ĐаСОвиŅĐĩ ĐŗОд ваŅĐĩĐŗĐž ŅĐžĐļĐ´ĐĩĐŊиŅ - ŅĐĩŅŅŅĐĩ ŅиŅŅŅ.
- name: 'month'
question: ĐĐ°ĐŧĐĩŅĐ°ŅĐĩĐģŅĐŊĐž! ĐĸĐĩĐŋĐĩŅŅ ĐŊаСОвиŅĐĩ ĐŧĐĩŅŅŅ ваŅĐĩĐŗĐž ŅĐžĐļĐ´ĐĩĐŊиŅ.
options:
- ŅĐŊваŅŅ
...
- Đ´ĐĩĐēĐ°ĐąŅŅ
validate_message: ĐĸĐž, ŅŅĐž вŅ ĐŊаСваĐģи, ĐŊĐĩ ĐŋĐžŅ
ĐžĐļĐĩ ĐŊĐ° ĐŧĐĩŅŅŅ. ĐĐžĐļĐ°ĐģŅĐšŅŅĐ°, ĐŊаСОвиŅĐĩ ĐŧĐĩŅŅŅ ваŅĐĩĐŗĐž ŅĐžĐļĐ´ĐĩĐŊиŅ, ĐąĐĩС Đ´ŅŅĐŗиŅ
ŅĐģОв.
- name: 'day'
question: ĐŅĐģиŅĐŊĐž! ĐĐ°ĐēĐžĐŊĐĩŅ, ĐŊаСОвиŅĐĩ ĐŧĐŊĐĩ Đ´Đ°ŅŅ ваŅĐĩĐŗĐž ŅĐžĐļĐ´ĐĩĐŊиŅ - ŅĐžĐģŅĐēĐž ŅиŅĐģĐž, вŅĐĩĐŗĐž ОдĐŊĐ° иĐģи двĐĩ ŅиŅŅŅ.
validate_regexp: '[0123]?d$'
validate_message: ĐĐžĐļĐ°ĐģŅĐšŅŅĐ°, ĐŋĐžĐŋŅОйŅĐšŅĐĩ ĐĩŅŅ ŅаС. ĐĐ°Đŧ ĐŊŅĐļĐŊĐž ĐŊаСваŅŅ ŅиŅĐģĐž ŅвОĐĩĐŗĐž ŅĐžĐļĐ´ĐĩĐŊиŅ (ĐŊĐ°ĐŋŅиĐŧĐĩŅ, двадŅĐ°ŅĐžĐĩ); ŅŅĐž ОдĐŊĐ° иĐģи двĐĩ ŅиŅŅŅ.
āĻāĻ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨āĻāĻŋ āĻĒāĻžāĻ°ā§āĻ¸ āĻāĻ°āĻžāĻ° āĻāĻŦāĻ āĻā§āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻāĻŖāĻ¨āĻž āĻāĻ°āĻžāĻ° āĻāĻžāĻāĻāĻŋ āĻĒāĻžāĻāĻĨāĻ¨ āĻā§āĻ˛āĻžāĻ¸ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨ā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§āĻā§
class CheckableFormFiller(tgalice.dialog_manager.form_filling.FormFillingDialogManager):
SIGNS = {
'ŅĐŊваŅŅ': 'ĐОСĐĩŅĐžĐŗ',
...
}
def handle_completed_form(self, form, user_object, ctx):
response = tgalice.dialog_manager.base.Response(
text='ĐĄĐŋĐ°ŅийО, {}! ĐĸĐĩĐŋĐĩŅŅ ĐŧŅ СĐŊĐ°ĐĩĐŧ: ваĐŧ {} ĐģĐĩŅ, и вŅ {}. n'
'ĐĐžŅ ŅŅĐž ваĐŧ, ĐēĐžĐŊĐĩŅĐŊĐž, ĐŋОвĐĩСĐģĐž! ĐвŅСдŅ ĐŗОвОŅŅŅ ваĐŧ: {}'.format(
form['fields']['name'],
2019 - int(form['fields']['year']),
self.SIGNS[form['fields']['month']],
random.choice(FORECASTS),
),
user_object=user_object,
)
return response
āĻāĻ°āĻ āĻ¸āĻ āĻŋāĻāĻāĻžāĻŦā§, āĻŦā§āĻ¸ āĻā§āĻ˛āĻžāĻ¸ FormFillingDialogManager
"āĻĢāĻ°ā§āĻŽ" āĻāĻŦāĻ āĻļāĻŋāĻļā§ āĻļā§āĻ°ā§āĻŖā§āĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻĒā§āĻ°āĻŖā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤ handle_completed_form
āĻ¸ā§ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻšāĻ˛ā§ āĻ¤āĻžāĻā§ āĻā§ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¤āĻž āĻŦāĻ˛ā§āĨ¤
āĻāĻĨā§āĻĒāĻāĻĨāĻ¨ā§āĻ° āĻāĻ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻĒā§āĻ°āĻŦāĻžāĻš āĻāĻžāĻĄāĻŧāĻžāĻ, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻā§ āĻ
āĻŦāĻļā§āĻ¯āĻ āĻ
āĻāĻŋāĻ¨āĻ¨ā§āĻĻāĻ¨ āĻāĻžāĻ¨āĻžāĻ¤ā§ āĻšāĻŦā§, āĻ¸ā§āĻāĻ¸āĻžāĻĨā§ "āĻ¸āĻšāĻžāĻ¯āĻŧāĻ¤āĻž" āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ¤āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻāĻŦāĻ "āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨" āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻĻāĻā§āĻˇāĻ¤āĻž āĻĨā§āĻā§ āĻŽā§āĻā§āĻ¤āĻŋ āĻĻāĻŋāĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻ āĻāĻĻā§āĻĻā§āĻļā§āĻ¯ā§ āĻāĻ¨ tgalice
āĻāĻāĻāĻŋ āĻā§āĻŽāĻĒā§āĻ˛ā§āĻāĻ āĻ°āĻ¯āĻŧā§āĻā§, āĻ¤āĻžāĻ āĻĒā§āĻ°ā§ āĻĄāĻžāĻ¯āĻŧāĻžāĻ˛āĻ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻāĻžāĻ°āĻāĻŋ āĻā§āĻāĻ°āĻž āĻĻāĻŋāĻ¯āĻŧā§ āĻ¤ā§āĻ°āĻŋ:
dm = tgalice.dialog_manager.CascadeDialogManager(
tgalice.dialog_manager.GreetAndHelpDialogManager(
greeting_message=DEFAULT_MESSAGE,
help_message=DEFAULT_MESSAGE,
exit_message='ĐĐž ŅвидаĐŊиŅ, ĐŋŅиŅ
ОдиŅĐĩ в ĐŊавŅĐē "ĐĐšŅиŅĐŊŅĐš ĐŗĐžŅĐžŅĐēĐžĐŋ" ĐĩŅŅ!'
),
CheckableFormFiller(`form.yaml`, default_message=DEFAULT_MESSAGE)
)
CascadeDialogManager
āĻāĻāĻŋ āĻ¸āĻšāĻāĻāĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°ā§: āĻāĻāĻŋ āĻĒāĻžāĻ˛āĻžāĻā§āĻ°āĻŽā§ āĻ¸āĻāĻ˛āĻžāĻĒā§āĻ° āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ
āĻŦāĻ¸ā§āĻĨāĻžāĻ¯āĻŧ āĻāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§ āĻāĻŦāĻ āĻĒā§āĻ°āĻĨāĻŽ āĻāĻĒāĻ¯ā§āĻā§āĻ¤āĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°ā§āĨ¤
āĻĄāĻžāĻ¯āĻŧāĻžāĻ˛āĻ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻāĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻāĻāĻŋ āĻĒāĻžāĻāĻĨāĻ¨ āĻŦāĻ¸ā§āĻ¤ā§ āĻĢā§āĻ°āĻ¤ āĻĻā§āĻ¯āĻŧāĨ¤ Response
, āĻ¯āĻž āĻ¤āĻžāĻ°āĻĒāĻ° āĻĒā§āĻ˛ā§āĻāĻ¨ āĻā§āĻā§āĻ¸āĻā§ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻŦāĻž āĻāĻ˛āĻŋāĻ¸ āĻŦāĻž āĻā§āĻ˛āĻŋāĻā§āĻ°āĻžāĻŽā§āĻ° āĻāĻāĻāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻ¯āĻŧ - āĻŦāĻāĻāĻŋ āĻā§āĻĨāĻžāĻ¯āĻŧ āĻāĻ˛āĻā§ āĻ¤āĻžāĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§; āĻāĻāĻŋāĻ¤ā§ āĻ¸āĻāĻ˛āĻžāĻĒā§āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻ
āĻŦāĻ¸ā§āĻĨāĻžāĻ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯āĻž āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨āĨ¤ āĻāĻ āĻĒā§āĻ°ā§ āĻ°āĻžāĻ¨ā§āĻ¨āĻžāĻāĻ°āĻāĻŋ āĻ
āĻ¨ā§āĻ¯ āĻļā§āĻ°ā§āĻŖā§āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧ, DialogConnector
, āĻ¤āĻžāĻ Yandex āĻĢāĻžāĻāĻļāĻ¨āĻā§āĻ˛āĻŋāĻ¤ā§ āĻāĻāĻāĻŋ āĻĻāĻā§āĻˇāĻ¤āĻž āĻāĻžāĻ˛ā§ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻāĻāĻŋ āĻāĻāĻ°āĻāĻŽ āĻĻā§āĻāĻžāĻā§āĻā§:
...
session = boto3.session.Session()
s3 = session.client(
service_name='s3',
endpoint_url='https://storage.yandexcloud.net',
aws_access_key_id=os.environ['AWS_ACCESS_KEY_ID'],
aws_secret_access_key=os.environ['AWS_SECRET_ACCESS_KEY'],
region_name='ru-central1',
)
storage = tgalice.session_storage.S3BasedStorage(s3_client=s3, bucket_name='tgalice-test-cold-storage')
connector = tgalice.dialog_connector.DialogConnector(dialog_manager=dm, storage=storage)
alice_handler = connector.serverless_alice_handler
āĻāĻĒāĻ¨āĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻā§āĻā§āĻ¨, āĻāĻ āĻā§āĻĄā§āĻ° āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻāĻ āĻ
āĻŦāĻā§āĻā§āĻ āĻ¸ā§āĻā§āĻ°ā§āĻā§āĻ° S3 āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻāĻŋ āĻ¸āĻāĻ¯ā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻĒāĻĄāĻŧāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻŋāĻāĻžāĻŦā§ āĻāĻ āĻ¸āĻāĻ¯ā§āĻ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ
āĻļā§āĻˇ āĻ˛āĻžāĻāĻ¨ āĻĢāĻžāĻāĻļāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§ alice_handler
â āĻāĻāĻ āĻ¯āĻž āĻāĻŽāĻ°āĻž Yandex.Cloud āĻā§ āĻŦāĻ˛ā§āĻāĻŋāĻ˛āĻžāĻŽ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻ¸ā§āĻ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻžāĻ¨āĻ¤ā§ --entrypoint=main.alice_handler
.
āĻ¯ā§ āĻ¸āĻŦ, āĻāĻ¸āĻ˛ā§. āĻ¸āĻŽāĻžāĻŦā§āĻļā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŽā§āĻāĻĢāĻžāĻāĻ˛āĻ¸, āĻĒā§āĻ°āĻ¸āĻā§āĻ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ S3-āĻāĻ° āĻŽāĻ¤ā§ āĻ
āĻŦāĻā§āĻā§āĻ āĻ¸ā§āĻā§āĻ°ā§āĻ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻĒāĻžāĻāĻĨāĻ¨ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ tgalice
. āĻĒāĻžāĻāĻĨāĻ¨ā§āĻ° āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°āĻšā§āĻ¨ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻŦāĻ āĻ
āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻŽāĻŋāĻ˛āĻŋāĻ¤, āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ¸ā§āĻ¸ā§āĻĨ āĻŽāĻžāĻ¨ā§āĻˇā§āĻ° āĻĻāĻā§āĻˇāĻ¤āĻž āĻŦāĻŋāĻāĻžāĻļā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¯āĻĨā§āĻˇā§āĻāĨ¤
āĻāĻĒāĻ¨āĻŋ āĻāĻŋāĻā§āĻāĻžāĻ¸āĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻā§āĻ¨ āĻāĻāĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻāĻŋāĻ˛ tgalice
? āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦāĻŋāĻ°āĻā§āĻ¤āĻŋāĻāĻ° āĻā§āĻĄ āĻ¯āĻž JSON-āĻā§āĻ˛āĻŋāĻā§ āĻ
āĻ¨ā§āĻ°ā§āĻ§ āĻĨā§āĻā§ āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻŦāĻ āĻ¸ā§āĻā§āĻ°ā§āĻ āĻĨā§āĻā§ āĻŽā§āĻŽāĻ°āĻŋāĻ¤ā§ āĻāĻŦāĻ āĻĒāĻŋāĻāĻ¨ā§ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻāĻ°ā§āĨ¤ āĻāĻāĻžāĻĄāĻŧāĻžāĻ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ āĻā§āĻĄ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ°āĻ¯āĻŧā§āĻā§, āĻāĻāĻŋ āĻŦā§āĻāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻ¯ā§ "āĻĢā§āĻŦā§āĻ°ā§āĻ¯āĻŧāĻžāĻ°āĻŋ" "āĻĢā§āĻŦā§āĻ°ā§āĻ¯āĻŧāĻžāĻ°āĻŋ" āĻāĻ° āĻŽāĻ¤ā§, āĻāĻŦāĻ āĻĻāĻ°āĻŋāĻĻā§āĻ°āĻĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ
āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ NLUāĨ¤ āĻāĻŽāĻžāĻ° āĻ§āĻžāĻ°āĻŖāĻž āĻ
āĻ¨ā§āĻ¸āĻžāĻ°ā§, āĻāĻāĻŋ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻ¯āĻĨā§āĻˇā§āĻ āĻšāĻāĻ¯āĻŧāĻž āĻāĻāĻŋāĻ¤ āĻ¯āĻžāĻ¤ā§ āĻāĻĒāĻ¨āĻŋ āĻĒā§āĻ°āĻ¯ā§āĻā§āĻ¤āĻŋāĻāĻ¤ āĻŦāĻŋāĻŦāĻ°āĻŖ āĻĻā§āĻŦāĻžāĻ°āĻž āĻā§āĻŦ āĻŦā§āĻļāĻŋ āĻŦāĻŋāĻā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻ¨āĻž āĻšāĻ¯āĻŧā§ āĻāĻ¯āĻŧāĻžāĻŽāĻ˛ āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋāĻ¤ā§ āĻĻāĻā§āĻˇāĻ¤āĻžāĻ° āĻĒā§āĻ°ā§āĻā§āĻāĻžāĻāĻĒāĻā§āĻ˛āĻŋ āĻ¸ā§āĻā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻ°āĻ āĻā§āĻ°ā§āĻ¤āĻ° NLU āĻāĻžāĻ¨ āĻ¤āĻŦā§ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻĻāĻā§āĻˇāĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻāĻā§āĻāĻž, āĻāĻāĻ¨ āĻ¯ā§āĻ āĻĻāĻŋāĻ¨
āĻāĻ¤ā§āĻ¸: www.habr.com