{"id":364509,"date":"2024-05-21T02:18:23","date_gmt":"2024-05-21T02:18:23","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=364509"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=364509","title":{"rendered":"<span>\u041c\u043e\u0436\u0435\u0442 \u043b\u0438 \u043d\u0435\u0439\u0440\u043e-\u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a \u043d\u0430 \u0431\u0430\u0437\u0435 ChatGPT \u0437\u0432\u043e\u043d\u0438\u0442\u044c \u043f\u043e \u043e\u0431\u044b\u0447\u043d\u043e\u0439 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u043d\u043e\u0439 \u043b\u0438\u043d\u0438\u0438?<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/upload_files\/f2d\/72c\/12a\/f2d72c12a88aa9f31c9774c054c2fabe.jpg\" alt=\"\u0424\u043e\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043e \u0447\u0435\u0440\u0435\u0437 DALL\u00b7E 3 \u043f\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0443 \u201c\u0441\u0433\u0435\u043d\u0435\u0440\u0438 \u043c\u043d\u0435 \u0444\u043e\u0442\u043e \u0434\u043b\u044f \u0441\u0442\u0430\u0442\u044c\u0438 \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0440\u043e\u043b\u044c ChatGPT \u0437\u0432\u043e\u043d\u0438\u0442 \u043f\u043e \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0443 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u043c\u0443 \u0441\u043e\u0438\u0441\u043a\u0430\u0442\u0435\u043b\u044e \u043d\u0430 \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u044e \u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u043c\u043e\u0434\u0435\u043b\u044c \u043b\u0438\u0447\u043d\u043e\u0441\u0442\u0438 \u043f\u043e \u0410\u0434\u0438\u0437\u0435\u0441\u0443\u201d\" title=\"\u0424\u043e\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043e \u0447\u0435\u0440\u0435\u0437 DALL\u00b7E 3 \u043f\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0443 \u201c\u0441\u0433\u0435\u043d\u0435\u0440\u0438 \u043c\u043d\u0435 \u0444\u043e\u0442\u043e \u0434\u043b\u044f \u0441\u0442\u0430\u0442\u044c\u0438 \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0440\u043e\u043b\u044c ChatGPT \u0437\u0432\u043e\u043d\u0438\u0442 \u043f\u043e \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0443 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u043c\u0443 \u0441\u043e\u0438\u0441\u043a\u0430\u0442\u0435\u043b\u044e \u043d\u0430 \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u044e \u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u043c\u043e\u0434\u0435\u043b\u044c \u043b\u0438\u0447\u043d\u043e\u0441\u0442\u0438 \u043f\u043e \u0410\u0434\u0438\u0437\u0435\u0441\u0443\u201d\" width=\"1024\" height=\"1024\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/f2d\/72c\/12a\/f2d72c12a88aa9f31c9774c054c2fabe.jpg\" data-blurred=\"true\"\/><\/p>\n<div><figcaption>\u0424\u043e\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043e \u0447\u0435\u0440\u0435\u0437 DALL\u00b7E 3 \u043f\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0443 \u201c\u0441\u0433\u0435\u043d\u0435\u0440\u0438 \u043c\u043d\u0435 \u0444\u043e\u0442\u043e \u0434\u043b\u044f \u0441\u0442\u0430\u0442\u044c\u0438 \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0440\u043e\u043b\u044c ChatGPT \u0437\u0432\u043e\u043d\u0438\u0442 \u043f\u043e \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0443 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u043c\u0443 \u0441\u043e\u0438\u0441\u043a\u0430\u0442\u0435\u043b\u044e \u043d\u0430 \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u044e \u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u043c\u043e\u0434\u0435\u043b\u044c \u043b\u0438\u0447\u043d\u043e\u0441\u0442\u0438 \u043f\u043e \u0410\u0434\u0438\u0437\u0435\u0441\u0443\u201d<\/figcaption><\/div>\n<\/figure>\n<h3>\u0412\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435<\/h3>\n<p>ChatGPT &#8212; LLM \u043c\u043e\u0434\u0435\u043b\u044c \u043e\u0442 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 OpenAI \u0438 \u0431\u0435\u0437 \u043f\u0440\u0435\u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u044f \u044d\u0442\u043e \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u0432 \u043c\u0438\u0440\u0435 \u0432 \u043f\u0440\u043e\u0448\u0435\u0434\u0448\u0435\u043c 2023 \u0433\u043e\u0434\u0443.<\/p>\n<p>\u0412\u0435\u0441\u044c 2023 \u0433\u043e\u0434 \u044f \u0443\u0447\u0430\u0441\u0442\u0432\u0443\u044e \u0432 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438  \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u043d\u0435\u0439\u0440\u043e-\u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \u043d\u0430 \u0431\u0430\u0437\u0435 ChatGPT \u0438 \u0432\u043e\u0442 \u043d\u0430\u043a\u043e\u043d\u0435\u0446-\u0442\u043e \u043c\u044b \u043f\u043e\u0434\u043e\u0448\u043b\u0438 \u043a \u043e\u0447\u0435\u043d\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0435:<\/p>\n<blockquote>\n<p>\u0427\u0442\u043e, \u0435\u0441\u043b\u0438 \u0434\u0430\u0442\u044c \u043d\u0435\u0439\u0440\u043e-\u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0443 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043e\u0442\u0432\u0435\u0447\u0430\u0442\u044c \u043f\u043e \u043e\u0431\u044b\u0447\u043d\u043e\u0439 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u043d\u043e\u0439 \u043b\u0438\u043d\u0438\u0438 \u0438\u043b\u0438 \u0441\u0430\u043c\u043e\u043c\u0443 \u0434\u0435\u043b\u0430\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u0435 \u0432\u044b\u0437\u043e\u0432\u044b \u0438\u0441\u0445\u043e\u0434\u044f \u0438\u0437 \u0441\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0439 \u0440\u043e\u043b\u0438?<\/p>\n<\/blockquote>\n<p>\u0412\u0441\u043f\u043e\u043c\u043d\u0438\u043c, \u0447\u0442\u043e \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u043d\u044b\u0435 \u0437\u0432\u043e\u043d\u043a\u0438 \u0443\u0436\u0435 \u043c\u043d\u043e\u0433\u043e \u043b\u0435\u0442 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043e\u0431\u0449\u0435\u043d\u0438\u044f. \u0411\u0435\u0437\u0443\u0441\u043b\u043e\u0432\u043d\u043e, \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u043d\u044b\u0445 \u0437\u0432\u043e\u043d\u043a\u043e\u0432 \u043d\u0435 \u043d\u043e\u0432\u0430: \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u044b\u0435 \u043c\u0435\u043d\u044e (IVR), \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u044f \u043f\u043e\u0447\u0442\u0430 \u0438 \u0440\u043e\u0431\u043e\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0437\u0432\u043e\u043d\u043a\u0438 \u0443\u0436\u0435 \u0434\u0430\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u0446\u0435\u043b\u0435\u0439, \u043e\u0442 \u043c\u0430\u0440\u043a\u0435\u0442\u0438\u043d\u0433\u043e\u0432\u044b\u0445 \u043a\u0430\u043c\u043f\u0430\u043d\u0438\u0439 \u0434\u043e \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432. \u041d\u043e \u0442\u0435\u043f\u0435\u0440\u044c, \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u0432 \u044d\u0442\u0438 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0441 \u043f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044b\u043c\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u0438\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442\u0430, \u043c\u044b \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0446\u0435\u043b\u044b\u0439 \u043d\u043e\u0432\u044b\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438.<\/p>\n<p>\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u0441\u0435\u0431\u0435 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439, \u0433\u0434\u0435 AI \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u043d\u0430 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0438\u043b\u0438 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u044b\u0437\u043e\u0432\u044b, \u043d\u043e \u0438 \u043c\u043e\u0436\u0435\u0442 \u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u0433\u043b\u0443\u0431\u043e\u043a\u0438\u0445, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0434\u0438\u0430\u043b\u043e\u0433\u0430\u0445, \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u0443\u044f\u0441\u044c \u043a \u043d\u044e\u0430\u043d\u0441\u0430\u043c \u0440\u0430\u0437\u0433\u043e\u0432\u043e\u0440\u0430 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u0422\u0430\u043a\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043c\u043e\u0436\u0435\u0442 \u043a\u0430\u0440\u0434\u0438\u043d\u0430\u043b\u044c\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0442\u043e, \u043a\u0430\u043a \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0442 \u043a \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u044e \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432, \u043f\u0440\u043e\u0434\u0430\u0436\u0430\u043c, HR-\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c \u0438 \u0434\u0430\u0436\u0435 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u043c\u0443 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0447\u0435\u0441\u043a\u043e\u043c\u0443 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044e.<\/p>\n<h3>\u0410 \u043c\u043e\u0436\u043d\u043e \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435?<\/h3>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/upload_files\/276\/50b\/2d4\/27650b2d420b85becfc38489e4825196.jpg\" alt=\"\u0424\u043e\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043e \u0447\u0435\u0440\u0435\u0437 DALL\u00b7E 3 \u043f\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0443 \u201c\u0441\u0433\u0435\u0440\u0435\u043d\u0438 \u0444\u043e\u0442\u043e \u0441\u043e\u0438\u0441\u043a\u0430\u0442\u0435\u043b\u044f \u043d\u0430 \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u044e \u043e\u0444\u0438\u0446\u0438\u0430\u043d\u0442\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u043d\u043e\u0435 \u0438\u043d\u0442\u0435\u0440\u0432\u044c\u044e\u201d  \" title=\"\u0424\u043e\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043e \u0447\u0435\u0440\u0435\u0437 DALL\u00b7E 3 \u043f\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0443 \u201c\u0441\u0433\u0435\u0440\u0435\u043d\u0438 \u0444\u043e\u0442\u043e \u0441\u043e\u0438\u0441\u043a\u0430\u0442\u0435\u043b\u044f \u043d\u0430 \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u044e \u043e\u0444\u0438\u0446\u0438\u0430\u043d\u0442\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u043d\u043e\u0435 \u0438\u043d\u0442\u0435\u0440\u0432\u044c\u044e\u201d  \" width=\"1024\" height=\"1024\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/276\/50b\/2d4\/27650b2d420b85becfc38489e4825196.jpg\" data-blurred=\"true\"\/><\/p>\n<div><figcaption>\u0424\u043e\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043e \u0447\u0435\u0440\u0435\u0437 DALL\u00b7E 3 \u043f\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0443 \u201c\u0441\u0433\u0435\u0440\u0435\u043d\u0438 \u0444\u043e\u0442\u043e \u0441\u043e\u0438\u0441\u043a\u0430\u0442\u0435\u043b\u044f \u043d\u0430 \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u044e \u043e\u0444\u0438\u0446\u0438\u0430\u043d\u0442\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u043d\u043e\u0435 \u0438\u043d\u0442\u0435\u0440\u0432\u044c\u044e\u201d  <\/figcaption><\/div>\n<\/figure>\n<p>\u0414\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u043c \u0440\u043e\u043b\u044c ChatGPT \u043f\u043e\u0437\u0432\u043e\u043d\u0438\u0442\u044c \u0441\u043e\u0438\u0441\u043a\u0430\u0442\u0435\u043b\u044e \u043d\u0430 \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u044e \u043e\u0444\u0438\u0446\u0438\u0430\u043d\u0442\u0430 \u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0435\u0433\u043e \u0442\u0438\u043f \u043b\u0438\u0447\u043d\u043e\u0441\u0442\u0438 \u043f\u043e <a href=\"https:\/\/ru.wikipedia.org\/wiki\/PAEI_(%D0%BA%D0%BE%D0%B4_%D0%90%D0%B4%D0%B8%D0%B7%D0%B5%D1%81%D0%B0)\" rel=\"noopener noreferrer nofollow\">\u0418. \u0410\u0434\u0438\u0437\u0435\u0441\u0443 (\u043c\u043e\u0434\u0435\u043b\u044c PAEI)<\/a>.<\/p>\n<p>\u0427\u0442\u043e \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f?<\/p>\n<ol>\n<li>\n<p>ChatGPT4 Turbo \u043e\u0442 OpenAI (\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f API: <a href=\"https:\/\/platform.openai.com\/docs\/api-reference\" rel=\"noopener noreferrer nofollow\">https:\/\/platform.openai.com\/docs\/api-reference<\/a>)<\/p>\n<\/li>\n<li>\n<p>\u0421\u0435\u0440\u0432\u0438\u0441 \u043f\u043e \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u043d\u043e\u0439 \u043b\u0438\u043d\u0438\u0435\u0439 (\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f API: <a href=\"https:\/\/voximplant.com\/docs\/guides\" rel=\"noopener noreferrer nofollow\">https:\/\/voximplant.com\/docs\/guides<\/a>)<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0441\u0442\u0443\u043f \u043a API \u043f\u043e \u0441\u0438\u043d\u0442\u0435\u0437\u0443 \u0440\u0435\u0447\u0438 (\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f API:  <a href=\"https:\/\/elevenlabs.io\/api\" rel=\"noopener noreferrer nofollow\">https:\/\/elevenlabs.io\/api<\/a>)<\/p>\n<\/li>\n<\/ol>\n<h3>\u0428\u0430\u0433\u21161: \u0421\u0438\u0441\u0442\u0435\u043c\u043d\u0430\u044f \u0440\u043e\u043b\u044c ChatGPT<\/h3>\n<pre><code class=\"markdown\">\u0426\u0435\u043b\u044c: \u0422\u0432\u043e\u044f \u0446\u0435\u043b\u044c - \u0437\u0430\u0434\u0430\u0432 \u0421\u0422\u0420\u041e\u0413\u041e \u041f\u041e\u0421\u041b\u0415\u0414\u041e\u0412\u0410\u0422\u0415\u041b\u042c\u041d\u041e \u0442\u0440\u0438 \u0432\u043e\u043f\u0440\u043e\u0441\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043c\u043e\u0434\u0435\u043b\u044c \u0441\u043e\u0438\u0441\u043a\u0430\u0442\u0435\u043b\u044f \u043f\u043e \u0410\u0434\u0438\u0437\u0435\u0441\u0443 \u0438 \u043e\u0437\u0432\u0443\u0447\u0438\u0442\u044c \u0435\u0451 \u043f\u043e\u0441\u043b\u0435 \u043e\u0442\u0432\u0435\u0442\u0430 \u043d\u0430 \u0442\u0440\u0435\u0442\u0438\u0439 \u0432\u043e\u043f\u0440\u043e\u0441.  \u0420\u043e\u043b\u044c: \u0422\u044b - \u0436\u0435\u043d\u0449\u0438\u043d\u0430. \u0422\u0435\u0431\u044f \u0437\u043e\u0432\u0443\u0442 - \u0416\u0430\u043d\u043d\u0430 \u0422\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0448\u044c \u0432 \u0434\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u0438 - HR-\u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u0422\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0448\u044c \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 - \u0425\u043b\u0435\u0431 \u0438 \u0411\u0443\u043b\u043a\u0438  \u0422\u044b - \u043f\u043e\u043c\u043e\u0449\u043d\u0438\u043a HR \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u0430 \u0432 \u0441\u0435\u0442\u0438 \u043a\u0430\u0444\u0435 \u0425\u043b\u0435\u0431 \u0438 \u0411\u0443\u043b\u043a\u0438 \u0432 \u0415\u043a\u0430\u0442\u0435\u0440\u0438\u043d\u0431\u0443\u0440\u0433\u0435. \u0422\u044b \u043e\u0431\u0449\u0430\u0435\u0448\u044c\u0441\u044f \u0441 \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u043e\u043c \u043d\u0430 \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u044e \u043e\u0444\u0438\u0446\u0438\u0430\u043d\u0442\u0430 \u043f\u043e \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0443 \u0438 \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0442\u0432\u043e\u0438 \u043e\u0442\u0432\u0435\u0442\u044b \u0438 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u043e\u0447\u0435\u043d\u044c \u043a\u0440\u0430\u0442\u043a\u0438\u043c\u0438 \u0438 \u043b\u0430\u043a\u043e\u043d\u0438\u0447\u043d\u044b\u043c\u0438.  \u0412\u043e\u0442 \u0432\u043e\u043f\u0440\u043e\u0441\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0442\u0435\u0431\u0435 \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c: 1. \u041a\u0430\u043a \u0432\u044b \u043e\u0431\u044b\u0447\u043d\u043e \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0443\u0435\u0442\u0435 \u0441\u0432\u043e\u044e \u0440\u0430\u0431\u043e\u0442\u0443 \u0438 \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u0442\u0435 \u0441\u0432\u043e\u0438 \u0437\u0430\u0434\u0430\u0447\u0438? 2. \u041a\u0430\u043a \u0432\u044b \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0432 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f\u0445? 3. \u041a\u0430\u043a \u0432\u044b \u043e\u0431\u044b\u0447\u043d\u043e \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u0442\u0435 \u0441 \u043a\u043e\u043b\u043b\u0435\u0433\u0430\u043c\u0438 \u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c\u0438?  \u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435: 1. \u041d\u0430\u0447\u043d\u0438 \u0434\u0438\u0430\u043b\u043e\u0433 \u0431\u0435\u0437 \u043f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f \u0421\u0420\u0410\u0417\u0423 \u0437\u0430\u0434\u0430\u0432 \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441. 2. \u0417\u0430\u0434\u0430\u0432\u0430\u0439 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u0442\u0440\u043e\u0433\u043e \u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443 \u0432\u043e\u043f\u0440\u043e\u0441\u0443 \u0437\u0430 \u0440\u0430\u0437. 3. \u041f\u043e\u0441\u043b\u0435 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u043d\u0430 \u0432\u0441\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438 \u043c\u043e\u0434\u0435\u043b\u044c \u043f\u043e \u0410\u0434\u0438\u0437\u0438\u0441\u0443 \u0438 \u043d\u0430\u043f\u0438\u0448\u0438 \u0435\u0451 \u0432 \u0441\u0432\u043e\u0435\u043c \u043e\u0442\u0432\u0435\u0442\u0435, \u0432 \u043a\u043e\u043d\u0446\u0435 \u0441\u043a\u0430\u0436\u0438: \"\u0421\u043f\u0430\u0441\u0438\u0431\u043e, \u043c\u044b \u0441 \u0412\u0430\u043c\u0438 \u0441\u043a\u043e\u0440\u043e \u0441\u0432\u044f\u0436\u0435\u043c\u0441\u044f ?\".  ! \u041f\u0435\u0440\u0435\u0434 \u043e\u0442\u0432\u0435\u0442\u043e\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u044c \u0447\u0442\u043e \u0442\u044b \u0437\u0430\u0434\u0430\u0435\u0448\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u0432\u043e\u043f\u0440\u043e\u0441 \u0437\u0430 \u0440\u0430\u0437 \u0438 \u0432 \u0442\u0432\u043e\u0435\u043c \u043e\u0442\u0432\u0435\u0442\u0435 \u043d\u0435\u0442 \u043f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f.<\/code><\/pre>\n<p> \u0420\u043e\u043b\u044c \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u043f\u043e API \u043d\u0430 \u0431\u0430\u0437\u0435 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u043d\u0435\u0439\u0440\u043e-\u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/cfb\/d96\/596\/cfbd965964f84e11955e6e64996c3699.png\" alt=\"\u0414\u043b\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0440\u043e\u043b\u0438 \u0438\u0437 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u043d\u0430\u043c \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043b\u0438\u0447\u043d\u043e\u0441\u0442\u044c\" title=\"\u0414\u043b\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0440\u043e\u043b\u0438 \u0438\u0437 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u043d\u0430\u043c \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043b\u0438\u0447\u043d\u043e\u0441\u0442\u044c\" width=\"1366\" height=\"657\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/cfb\/d96\/596\/cfbd965964f84e11955e6e64996c3699.png\"\/><\/p>\n<div><figcaption>\u0414\u043b\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0440\u043e\u043b\u0438 \u0438\u0437 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u043d\u0430\u043c \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043b\u0438\u0447\u043d\u043e\u0441\u0442\u044c<\/figcaption><\/div>\n<\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/abe\/f37\/718\/abef37718e1dc826b6f4c767e1e2ce79.png\" alt=\"\u041f\u0440\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043b\u0438\u0447\u043d\u043e\u0441\u0442\u0438 \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0440\u0430\u0437\u0431\u0438\u0442\u044c \u0432\u0441\u0435 \u043f\u043e \u0431\u043b\u043e\u043a\u0430\u043c: \u0420\u043e\u043b\u044c, \u0426\u0435\u043b\u044c, \u041f\u0435\u0440\u0432\u0430\u044f \u0444\u0440\u0430\u0437\u0430 \u0438 \u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435\" title=\"\u041f\u0440\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043b\u0438\u0447\u043d\u043e\u0441\u0442\u0438 \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0440\u0430\u0437\u0431\u0438\u0442\u044c \u0432\u0441\u0435 \u043f\u043e \u0431\u043b\u043e\u043a\u0430\u043c: \u0420\u043e\u043b\u044c, \u0426\u0435\u043b\u044c, \u041f\u0435\u0440\u0432\u0430\u044f \u0444\u0440\u0430\u0437\u0430 \u0438 \u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435\" width=\"1366\" height=\"657\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/abe\/f37\/718\/abef37718e1dc826b6f4c767e1e2ce79.png\"\/><\/p>\n<div><figcaption>\u041f\u0440\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043b\u0438\u0447\u043d\u043e\u0441\u0442\u0438 \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0440\u0430\u0437\u0431\u0438\u0442\u044c \u0432\u0441\u0435 \u043f\u043e \u0431\u043b\u043e\u043a\u0430\u043c: \u0420\u043e\u043b\u044c, \u0426\u0435\u043b\u044c, \u041f\u0435\u0440\u0432\u0430\u044f \u0444\u0440\u0430\u0437\u0430 \u0438 \u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435<\/figcaption><\/div>\n<\/figure>\n<h2> \u0428\u0430\u0433\u21162: \u0421\u043a\u0440\u0438\u043f\u0442 \u0437\u0432\u043e\u043d\u043a\u0430 \u0432 Voximplant  <\/h2>\n<pre><code class=\"javascript\">require(Modules.ASR); require(Modules.CallList); require(Modules.AI);  \/\/ OpenAI API URL const openaiURL = 'https:\/\/api.openai.com\/v1\/chat\/completions' \/\/ Your OpenAI API KEY const openaiApiKey = 'sk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'  var messages = []; \/\/ \u041c\u0430\u0441\u0441\u0438\u0432 \u0432\u0441\u0435\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u0432 \u0434\u0438\u0430\u043b\u043e\u0433\u0435 var ai_busy = false; var ai_say = false; var speech = \"\"; \/\/ \u0412 \u044d\u0442\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0431\u0443\u0434\u0435\u043c \u043d\u0430\u043a\u0430\u043f\u043b\u0438\u0432\u0430\u0442\u044c \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u0435\u043c\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u043e\u0442 \u0430\u0431\u043e\u043d\u0435\u043d\u0442\u0430. var voice = \"\"; var model = \"gpt-3.5-turbo\"; (\/\/ \u041c\u043e\u0434\u0435\u043b\u044c \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u0443 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043d\u0435\u0439\u0440\u043e-\u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430 \u0441\u0432\u043e\u044f \u043c\u043e\u0434\u0435\u043b\u044c.  timeouts = {   silence: null,   pause: null,   duration: null }  var hello_text = \"\"; \/\/ \u041f\u0435\u0440\u0432\u0430\u044f \u0444\u0440\u0430\u0437\u0430 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430, \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u0441 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b.  messages.push({ \"role\": \"system\", \"content\": \"\" }) \/\/ \u041c\u0430\u0441\u0441\u0438\u0432 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439. \u041f\u0435\u0440\u0432\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u044d\u0442\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u0430\u044f \u0440\u043e\u043b\u044c. \u0422\u0435\u043a\u0441\u0442 \u0440\u043e\u043b\u0438 \u043f\u0440\u0438\u0434\u0435\u0442 \u0441 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b.  var call, player, asr;  \/\/ Send request to the API async function requestCompletion() {     Logger.write(`--->>> requestCompletion ${messages}`);     return Net.httpRequestAsync(openaiURL, {         headers: [             \"Content-Type: application\/json\",             \"Authorization: Bearer \" + openaiApiKey         ],         method: 'POST',         postData: JSON.stringify({             \"model\": model, \/\/ gpt-4-1106-preview  gpt-3.5-turbo             \"messages\": messages,             \"openai_api_key\": openaiApiKey,              \"temperature\": 0,         })     }) }  function speechAnalysis() {   \/\/ \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043c\u043e\u0434\u0443\u043b\u044c ASR   stopASR()   const cleanText = speech.trim().toLowerCase()    if (!cleanText.length) {     \/\/ \u0435\u0441\u043b\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0441 \u043d\u0443\u043b\u0435\u0432\u043e\u0439 \u0434\u043b\u0438\u043d\u043e\u0439, \u0442\u043e \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442 \u0447\u0442\u043e \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b \u0442\u0430\u0439\u043c\u0435\u0440 \u0442\u0438\u0448\u0438\u043d\u044b,     \/\/ \u0442.\u0435. \u0447\u0435\u043b\u043e\u0432\u0435\u043a \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043e\u0442\u0432\u0435\u0442\u0438\u043b, \u0438 \u043c\u044b \u043c\u043e\u0436\u0435\u043c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c \u0432\u043e\u043f\u0440\u043e\u0441 \u0430\u0431\u043e\u043d\u0435\u043d\u0442\u0443     handleSilence()   } else {     ASREvents_Result(speech);   } }  function stopASR() {   asr.stop()   call.removeEventListener(CallEvents.PlaybackFinished)   clearTimeout(timeouts.duration) }  function startASR() {   asr = VoxEngine.createASR({     lang: ASRLanguage.RUSSIAN_RU,     profile: ASRProfileList.YandexV3.ru_RU,     interimResults: true   })   asr.addEventListener(ASREvents.InterimResult, e => {     clearTimeout(timeouts.pause)     clearTimeout(timeouts.silence)     timeouts.pause = setTimeout(speechAnalysis, 3000)     call.stopPlayback()   })   asr.addEventListener(ASREvents.Result, e => {     \/\/ \u0421\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u043c \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u0435\u043c\u044b\u0435 \u043e\u0442\u0432\u0435\u0442\u044b     if (speech.indexOf(e.text) === -1) {       speech += \" \" + e.text;     }   })   \/\/ \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u043e\u0442\u043e\u043a \u0432 ASR   call.sendMediaTo(asr) }  function handleSilence() {   \/\/ \u0422\u0443\u0442 \u043c\u043e\u0436\u043d\u043e \u0447\u0442\u043e-\u0442\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c \u0432 \u043b\u0438\u043d\u0438\u044e \u0447\u0442\u043e\u0431\u044b \"\u0441\u043a\u0440\u0430\u0441\u0438\u0442\u044c\" \u043f\u0430\u0443\u0437\u044b   \/\/ \u041d\u0430\u0447\u043d\u0451\u043c \u0441\u043b\u0443\u0448\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 3 \u0441\u0435\u043a\u0443\u043d\u0434\u044b \u0438 \u0434\u0430\u0434\u0438\u043c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441 \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u043f\u0435\u0440\u0435\u0431\u0438\u0432\u0430\u0442\u044c \u0440\u043e\u0431\u043e\u0442\u0430   setTimeout(startASR, 3000)   call.addEventListener(CallEvents.PlaybackFinished, startSilenceAndDurationTimeouts) }  function startSilenceAndDurationTimeouts() {   timeouts.silence = setTimeout(speechAnalysis, 8000)   timeouts.duration = setTimeout(speechAnalysis, 30000) }  \/\/ \u0414\u0430\u043d\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0442\u0435\u043a\u0441\u0442 \u0432 API \u043f\u043e \u0441\u0438\u043d\u0442\u0435\u0437\u0443 \u0433\u043e\u043b\u043e\u0441\u0430 \u043f\u043e \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u043c\u0443 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044e function sendMessage(call, text) {     const textToSynthesize = encodeURIComponent(text);     const speechSynthesisApiUrl = `https:\/\/__\u041f\u041b\u0410\u0422\u0424\u041e\u0420\u041c\u0410_\u041d\u0415\u0419\u0420\u041e_\u0421\u041e\u0422\u0420\u0423\u0414\u041d\u0418\u041a\u041e\u0412__\/api\/v1.0\/tts?voice=${voice}&amp;text=${textToSynthesize}`;     Net.httpRequest(speechSynthesisApiUrl, (res) => {         if (res.code === 200) {             let audioUrl = res.text;             Logger.write(res.code + \" sendMessage: \" + text);             call.startPlayback(audioUrl);             ai_say = true;             call.addEventListener(CallEvents.PlaybackFinished, handlePlaybackFinished);         } else {             Logger.write(`\u041e\u0448\u0438\u0431\u043a\u0430: ${res.code} - ${res.text}`);         }     }, {method: 'GET'});     return 'OK' }  \/\/ \u0412\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u043e\u0441\u044c function handlePlaybackFinished(e) {   Logger.write('--->>> handlePlaybackFinished');   ai_busy = false;   ai_say = false;   e.call.removeEventListener(CallEvents.PlaybackFinished, handlePlaybackFinished);   startASR(); }  function sendMessageURL(call, mp3_url) {     call.startPlayback(mp3_url);     return 'OK' }  \/\/ \u042d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442 \u043c\u0443\u0437\u044b\u043a\u0443 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f \u043e\u0442\u0432\u0435\u0442\u0430 \u043e\u0442 ChatGPT function sendBeforeMessage(call) {     const messages = [         \/\/'https:\/\/activeai.aura-s.com\/wp-content\/uploads\/2023\/12\/ai_thinking.mp3',         \/\/'https:\/\/mvp.atiks.org\/wp-content\/uploads\/2023\/12\/8192dd7301e4c1a.mp3',         \/\/'https:\/\/mvp.atiks.org\/wp-content\/uploads\/2023\/12\/7e7352510ae830e.mp3',         'https:\/\/mvp.atiks.org\/wp-content\/uploads\/2023\/12\/3c72bb47cbe8153.mp3',     ];     const randomIndex = Math.floor(Math.random() * messages.length);     const messageURL = messages[randomIndex];     sendMessageURL(call, messageURL); }  \/\/ \u0412\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u043e\u0441\u044c function StarthandlePlaybackFinished(e) {     Logger.write('--->>> handlePlaybackFinished');     e.call.removeEventListener(CallEvents.PlaybackFinished, StarthandlePlaybackFinished);     e.call.sendMediaTo(asr); }  \/\/ Callback \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f \u0432\u044b\u0437\u043e\u0432\u0430 function onCallDisconnected(e) {     sendEmail('web@atiks.org');     Logger.write(`Call disconnected`); }  \/\/ Callback \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u043e\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430 function onCallFailed(e) {   Logger.write(`Call failed`); }  function onCallConnected(e) {   sendBeforeMessage(call)   sendMessage(e.call, hello_text);   e.call.addEventListener(CallEvents.PlaybackFinished, StarthandlePlaybackFinished); }  \/\/ \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0441\u0442\u0430\u0440\u0442\u043e\u0432\u043e\u0433\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u044f VoxEngine.addEventListener(AppEvents.Started, (e) => {     let data = VoxEngine.customData();     Logger.write(`customData: ${data}`); data = JSON.parse(data);     changeRole(data.script_id);     model = data.model;     call = VoxEngine.callPSTN(data.phone, \"73432472939\");     call.addEventListener(CallEvents.Connected, onCallConnected);     call.addEventListener(CallEvents.Disconnected, onCallDisconnected);     call.addEventListener(CallEvents.Failed, onCallFailed);     startASR(); });  \/\/ \u042d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0439 \u0440\u043e\u043b\u044c \u0441 \u043d\u0430\u0448\u0435\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u043d\u0435\u0439\u0440\u043e-\u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 function changeRole(script_id) {     const speechSynthesisApiUrl = `https:\/\/__\u041f\u041b\u0410\u0422\u0424\u041e\u0420\u041c\u0410_\u041d\u0415\u0419\u0420\u041e_\u0421\u041e\u0422\u0420\u0423\u0414\u041d\u0418\u041a\u041e\u0412__\/api\/v1.0\/get_promt_text?script_id=${script_id}`;     Net.httpRequest(speechSynthesisApiUrl, (res) => {         if (res.code === 200) {             const promt = res.text.split(\"###\");             messages[0].content = promt[0];             hello_text = promt[1];             voice = promt[2];             Logger.write(`changeRole: ${hello_text} - ${voice}`);         } else {             Logger.write(`\u041e\u0448\u0438\u0431\u043a\u0430: ${res.code} - ${res.text}`);         }     }, {method: 'GET'});     return 'OK' }   \/\/ \u041e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0438 \u0434\u0438\u0430\u043b\u043e\u0433\u0430 async function sendEmail(mail_to) {     Logger.write(`--->>> sendEmail ${messages}`);     const dialogText = messages     .filter(message => message.role !== \"system\")     .map(message => {       \/\/ \u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u043c role \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \"\u0418\u0418\" \u0438\u043b\u0438 \"\u0421\u043e\u0438\u0441\u043a\u0430\u0442\u0435\u043b\u044c\"       const role = message.role === \"assistant\" ? \"\u0418\u0418\" : \"\u0421\u043e\u0438\u0441\u043a\u0430\u0442\u0435\u043b\u044c\";       return `${role}: ${message.content}`;     })     .join('\\n') \/\/ \u0414\u0430\u043b\u0435\u0435 \u043a\u043e\u0434 \u043e\u0442\u0440\u0432\u0430\u0432\u043a\u0438 \u043d\u0430 email \/\/ ... }  async function ASREvents_Result(text) {     \/\/ \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u043d\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u043e\u0442 \u0430\u0431\u043e\u043d\u0435\u043d\u0442\u0430 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439     messages.push({ \"role\": \"user\", \"content\": text })     speech = \"\";     sendBeforeMessage(call);     Logger.write(\"Sending data to the OpenAI endpoint\");     let ts1 = Date.now();     if ((ai_busy == false) &amp;&amp; (ai_say == false)) {         ai_busy = true;         var res = await requestCompletion();         let ts2 = Date.now();         Logger.write(\"Request complete in \" + (ts2 - ts1) + \" ms\")         if (res.code == 200) {             let jsData = JSON.parse(res.text)             sendMessage(call, jsData.choices[0].message.content);             messages.push({ \"role\": \"assistant\", \"content\": jsData.choices[0].message.content })             call.sendMediaTo(asr);         }     } else {         \/\/ \u0422\u0443\u0442 \u043c\u043e\u0436\u043d\u043e \u0447\u0442\u043e-\u0442\u043e \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u0432 \u043b\u0438\u043d\u0438\u044e \u043f\u043e\u043a\u0430 ChatGPT \u043f\u0440\u0438\u0434\u0443\u043c\u044b\u0432\u0430\u0435\u0442 \u043e\u0442\u0432\u0435\u0442     }     call.sendMediaTo(asr); }<\/code><\/pre>\n<p> \u041f\u043e\u0441\u043b\u0435 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0432 \u043f\u0430\u043d\u0435\u043b\u0438 Voximplant \u043f\u0440\u043e\u043f\u0438\u0448\u0438\u0442\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u201cRouting\u201d, \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f ID \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0434\u043b\u044f \u0435\u0433\u043e \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438.  <\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/bb2\/4d8\/e7b\/bb24d8e7b720892ec3e999b6f6daa951.png\" alt=\"\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u043c\u0430\u0440\u0448\u0440\u0443\u0442 \u0434\u043b\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 &quot;Routing&quot;\" title=\"\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u043c\u0430\u0440\u0448\u0440\u0443\u0442 \u0434\u043b\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 &quot;Routing&quot;\" width=\"1354\" height=\"542\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/bb2\/4d8\/e7b\/bb24d8e7b720892ec3e999b6f6daa951.png\"\/><\/p>\n<div><figcaption>\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u043c\u0430\u0440\u0448\u0440\u0443\u0442 \u0434\u043b\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 &#171;Routing&#187;<\/figcaption><\/div>\n<\/figure>\n<p> \u0410 \u0432\u043e\u0442 \u0441\u043a\u0440\u0438\u043f\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442 \u0432\u044b\u0437\u043e\u0432 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f \u043d\u0430 \u043d\u0443\u0436\u043d\u043e\u0439 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440:  <\/p>\n<pre><code class=\"python\">from voximplant.apiclient import VoximplantAPI, VoximplantException import json from loggin_init import logger  voxapi = VoximplantAPI(\"providers\/DialogAI.json\")  # gpt-4-1106-preview  gpt-3.5-turbo def call(phone, script_id, rule_id=3657614, model='gpt-3.5-turbo'):     SCRIPT_CUSTOM_DATA = json.dumps({         'phone' : phone,         'script_id' : script_id,         'model' : model,     })     try:         res = voxapi.start_scenarios(rule_id,             script_custom_data=SCRIPT_CUSTOM_DATA)         return res     except VoximplantException as e:         return \"Error: {}\".format(e.message)<\/code><\/pre>\n<h3>\u0428\u0430\u0433\u21163: \u0422\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c \u043d\u0430\u0448\u0435\u0433\u043e \u043d\u0435\u0439\u0440\u043e-\u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430<\/h3>\n<p>\u0414\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0434\u0438\u0430\u043b\u043e\u0433\u0430 \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0431\u043e\u0442 \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043d\u0443\u0436\u043d\u043e \u0432\u0432\u0435\u0441\u0442\u0438 \u0442\u0430\u043a\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/a8a\/cca\/70d\/a8acca70dab831542d32be61ee325a64.png\" alt=\"\u0412\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0434\u0438\u0430\u043b\u043e\u0433, \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043d\u043e\u043c\u0435\u0440 \u043d\u0430\u0448\u0435\u0433\u043e \u043d\u0435\u0439\u0440\u043e-\u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430 \u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 \u0438 \u043d\u043e\u043c\u0435\u0440, \u043a\u0443\u0434\u0430 \u043e\u043d \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u043e\u0437\u0432\u043e\u043d\u0438\u0442\u044c\" title=\"\u0412\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0434\u0438\u0430\u043b\u043e\u0433, \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043d\u043e\u043c\u0435\u0440 \u043d\u0430\u0448\u0435\u0433\u043e \u043d\u0435\u0439\u0440\u043e-\u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430 \u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 \u0438 \u043d\u043e\u043c\u0435\u0440, \u043a\u0443\u0434\u0430 \u043e\u043d \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u043e\u0437\u0432\u043e\u043d\u0438\u0442\u044c\" width=\"687\" height=\"163\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/a8a\/cca\/70d\/a8acca70dab831542d32be61ee325a64.png\"\/><\/p>\n<div><figcaption>\u0412\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0434\u0438\u0430\u043b\u043e\u0433, \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043d\u043e\u043c\u0435\u0440 \u043d\u0430\u0448\u0435\u0433\u043e \u043d\u0435\u0439\u0440\u043e-\u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430 \u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 \u0438 \u043d\u043e\u043c\u0435\u0440, \u043a\u0443\u0434\u0430 \u043e\u043d \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u043e\u0437\u0432\u043e\u043d\u0438\u0442\u044c<\/figcaption><\/div>\n<\/figure>\n<p> \u0412\u043e\u0442 \u0437\u0430\u043f\u0438\u0441\u044c \u0434\u0438\u0430\u043b\u043e\u0433\u0430 \u0441 \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u043e\u043c \u043d\u0430 \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u044e \u043e\u0444\u0438\u0446\u0438\u0430\u043d\u0442:  <\/p>\n<div class=\"tm-iframe_temp\" data-src=\"https:\/\/embedd.srv.habr.com\/iframe\/6594557d3eb8e176bf0c4f47\" data-style=\"\" id=\"6594557d3eb8e176bf0c4f47\" width=\"\"><\/div>\n<div class=\"embed_link\">\n<div class=\"embed__thumb\" style=\"background-image: url(&quot;undefined&quot;);\"><\/div>\n<div class=\"embed__caption\">\n<div class=\"embed__caption-title\"><span>ChatGPT_Call_Example.mp3<\/span><\/div>\n<p><a href=\"https:\/\/drive.google.com\/file\/d\/1Vdd5_uzGu3Z2UzY7Eg5AM-7mAXc-Um7c\/view?usp=sharing&amp;usp=embed_facebook\" target=\"_blank\" rel=\"noopener noreferrer nofollow\" class=\"embed__caption-link\">drive.google.com<\/a><\/div>\n<\/div>\n<p> \u041f\u043e\u0441\u043b\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u0434\u0438\u0430\u043b\u043e\u0433\u0430 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043d\u0430 \u043f\u043e\u0447\u0442\u0443 \u0442\u0430\u043a\u0443\u044e \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0443 \u0437\u0432\u043e\u043d\u043a\u0430:  <\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/3a8\/bca\/f1c\/3a8bcaf1ca902188e9bcf777a8306313.png\" alt=\"\u0422\u0430\u043a\u043e\u0435 \u043f\u0438\u0441\u044c\u043c\u043e \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u043d\u0430 \u043f\u043e\u0447\u0442\u0443 \u043f\u0440\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0438 \u0437\u0432\u043e\u043d\u043a\u0430\" title=\"\u0422\u0430\u043a\u043e\u0435 \u043f\u0438\u0441\u044c\u043c\u043e \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u043d\u0430 \u043f\u043e\u0447\u0442\u0443 \u043f\u0440\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0438 \u0437\u0432\u043e\u043d\u043a\u0430\" width=\"652\" height=\"565\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/3a8\/bca\/f1c\/3a8bcaf1ca902188e9bcf777a8306313.png\"\/><\/p>\n<div><figcaption>\u0422\u0430\u043a\u043e\u0435 \u043f\u0438\u0441\u044c\u043c\u043e \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u043d\u0430 \u043f\u043e\u0447\u0442\u0443 \u043f\u0440\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0438 \u0437\u0432\u043e\u043d\u043a\u0430<\/figcaption><\/div>\n<\/figure>\n<h3>\u0427\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c?<\/h3>\n<ol>\n<li>\n<p>\u0417\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043f\u0430\u0443\u0437\u044b \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0435 \u043e\u0442\u0432\u0435\u0442\u0430 \u043e\u0442 ChatGPT \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u043c\u0438 \u0444\u0440\u0430\u0437\u0430\u043c\u0438.<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0435 LLM \u0441 \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u043e\u0442\u043a\u043b\u0438\u043a\u0430.<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u0442\u044c \u0437\u0432\u043e\u043d\u043e\u043a \u043d\u0430 \u0436\u0438\u0432\u043e\u0433\u043e \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430, \u0435\u0441\u043b\u0438 \u0418\u0418 \u043d\u0435 \u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u043c \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u043c.<\/p>\n<\/li>\n<\/ol>\n<h3>\u0418\u0442\u043e\u0433\u0438<\/h3>\n<p>\u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u0432\u0441\u0435\u043c \u043a\u043e\u043c\u0443 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445 \u0435\u0433\u043e \u043a\u0435\u0439\u0441 \u0438 \u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044e \u0437\u0432\u043e\u043d\u043e\u043a \u043d\u0430 \u0432\u0430\u0448 \u043d\u043e\u043c\u0435\u0440 \u0441 \u0432\u0430\u0448\u0438\u043c \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u043c \u0434\u0438\u0430\u043b\u043e\u0433\u0430. \u0415\u0441\u043b\u0438 \u0443\u0434\u043e\u0431\u043d\u0435\u0435 \u043d\u0435 \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438, \u0442\u043e \u043f\u0438\u0448\u0438\u0442\u0435 \u043c\u043d\u0435 \u0432 \u043c\u043e\u0439 \u0442\u0435\u043b\u0435\u0433\u0440\u0430\u043c: <a href=\"https:\/\/t.me\/TAU15\" rel=\"noopener noreferrer nofollow\">https:\/\/t.me\/TAU15<\/a>.<\/p>\n<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/784448\/\"> https:\/\/habr.com\/ru\/articles\/784448\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"full-width\">\n<div><figcaption>\u0424\u043e\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043e \u0447\u0435\u0440\u0435\u0437 DALL\u00b7E 3 \u043f\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0443 \u201c\u0441\u0433\u0435\u043d\u0435\u0440\u0438 \u043c\u043d\u0435 \u0444\u043e\u0442\u043e \u0434\u043b\u044f \u0441\u0442\u0430\u0442\u044c\u0438 \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0440\u043e\u043b\u044c ChatGPT \u0437\u0432\u043e\u043d\u0438\u0442 \u043f\u043e \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0443 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u043c\u0443 \u0441\u043e\u0438\u0441\u043a\u0430\u0442\u0435\u043b\u044e \u043d\u0430 \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u044e \u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u043c\u043e\u0434\u0435\u043b\u044c \u043b\u0438\u0447\u043d\u043e\u0441\u0442\u0438 \u043f\u043e \u0410\u0434\u0438\u0437\u0435\u0441\u0443\u201d<\/figcaption><\/div>\n<\/figure>\n<h3>\u0412\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435<\/h3>\n<p>ChatGPT &#8212; LLM \u043c\u043e\u0434\u0435\u043b\u044c \u043e\u0442 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 OpenAI \u0438 \u0431\u0435\u0437 \u043f\u0440\u0435\u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u044f \u044d\u0442\u043e \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u0432 \u043c\u0438\u0440\u0435 \u0432 \u043f\u0440\u043e\u0448\u0435\u0434\u0448\u0435\u043c 2023 \u0433\u043e\u0434\u0443.<\/p>\n<p>\u0412\u0435\u0441\u044c 2023 \u0433\u043e\u0434 \u044f \u0443\u0447\u0430\u0441\u0442\u0432\u0443\u044e \u0432 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438  \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u043d\u0435\u0439\u0440\u043e-\u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \u043d\u0430 \u0431\u0430\u0437\u0435 ChatGPT \u0438 \u0432\u043e\u0442 \u043d\u0430\u043a\u043e\u043d\u0435\u0446-\u0442\u043e \u043c\u044b \u043f\u043e\u0434\u043e\u0448\u043b\u0438 \u043a \u043e\u0447\u0435\u043d\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0435:<\/p>\n<blockquote>\n<p>\u0427\u0442\u043e, \u0435\u0441\u043b\u0438 \u0434\u0430\u0442\u044c \u043d\u0435\u0439\u0440\u043e-\u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0443 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043e\u0442\u0432\u0435\u0447\u0430\u0442\u044c \u043f\u043e \u043e\u0431\u044b\u0447\u043d\u043e\u0439 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u043d\u043e\u0439 \u043b\u0438\u043d\u0438\u0438 \u0438\u043b\u0438 \u0441\u0430\u043c\u043e\u043c\u0443 \u0434\u0435\u043b\u0430\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u0435 \u0432\u044b\u0437\u043e\u0432\u044b \u0438\u0441\u0445\u043e\u0434\u044f \u0438\u0437 \u0441\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0439 \u0440\u043e\u043b\u0438?<\/p>\n<\/blockquote>\n<p>\u0412\u0441\u043f\u043e\u043c\u043d\u0438\u043c, \u0447\u0442\u043e \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u043d\u044b\u0435 \u0437\u0432\u043e\u043d\u043a\u0438 \u0443\u0436\u0435 \u043c\u043d\u043e\u0433\u043e \u043b\u0435\u0442 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043e\u0431\u0449\u0435\u043d\u0438\u044f. \u0411\u0435\u0437\u0443\u0441\u043b\u043e\u0432\u043d\u043e, \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u043d\u044b\u0445 \u0437\u0432\u043e\u043d\u043a\u043e\u0432 \u043d\u0435 \u043d\u043e\u0432\u0430: \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u044b\u0435 \u043c\u0435\u043d\u044e (IVR), \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u044f \u043f\u043e\u0447\u0442\u0430 \u0438 \u0440\u043e\u0431\u043e\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0437\u0432\u043e\u043d\u043a\u0438 \u0443\u0436\u0435 \u0434\u0430\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u0446\u0435\u043b\u0435\u0439, \u043e\u0442 \u043c\u0430\u0440\u043a\u0435\u0442\u0438\u043d\u0433\u043e\u0432\u044b\u0445 \u043a\u0430\u043c\u043f\u0430\u043d\u0438\u0439 \u0434\u043e \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432. \u041d\u043e \u0442\u0435\u043f\u0435\u0440\u044c, \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u0432 \u044d\u0442\u0438 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0441 \u043f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044b\u043c\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u0438\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442\u0430, \u043c\u044b \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0446\u0435\u043b\u044b\u0439 \u043d\u043e\u0432\u044b\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438.<\/p>\n<p>\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u0441\u0435\u0431\u0435 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439, \u0433\u0434\u0435 AI \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u043d\u0430 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0438\u043b\u0438 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u044b\u0437\u043e\u0432\u044b, \u043d\u043e \u0438 \u043c\u043e\u0436\u0435\u0442 \u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u0433\u043b\u0443\u0431\u043e\u043a\u0438\u0445, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0434\u0438\u0430\u043b\u043e\u0433\u0430\u0445, \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u0443\u044f\u0441\u044c \u043a \u043d\u044e\u0430\u043d\u0441\u0430\u043c \u0440\u0430\u0437\u0433\u043e\u0432\u043e\u0440\u0430 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u0422\u0430\u043a\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043c\u043e\u0436\u0435\u0442 \u043a\u0430\u0440\u0434\u0438\u043d\u0430\u043b\u044c\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0442\u043e, \u043a\u0430\u043a \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0442 \u043a \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u044e \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432, \u043f\u0440\u043e\u0434\u0430\u0436\u0430\u043c, HR-\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c \u0438 \u0434\u0430\u0436\u0435 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u043c\u0443 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0447\u0435\u0441\u043a\u043e\u043c\u0443 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044e.<\/p>\n<h3>\u0410 \u043c\u043e\u0436\u043d\u043e \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435?<\/h3>\n<figure class=\"full-width\">\n<div><figcaption>\u0424\u043e\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043e \u0447\u0435\u0440\u0435\u0437 DALL\u00b7E 3 \u043f\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0443 \u201c\u0441\u0433\u0435\u0440\u0435\u043d\u0438 \u0444\u043e\u0442\u043e \u0441\u043e\u0438\u0441\u043a\u0430\u0442\u0435\u043b\u044f \u043d\u0430 \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u044e \u043e\u0444\u0438\u0446\u0438\u0430\u043d\u0442\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u043d\u043e\u0435 \u0438\u043d\u0442\u0435\u0440\u0432\u044c\u044e\u201d  <\/figcaption><\/div>\n<\/figure>\n<p>\u0414\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u043c \u0440\u043e\u043b\u044c ChatGPT \u043f\u043e\u0437\u0432\u043e\u043d\u0438\u0442\u044c \u0441\u043e\u0438\u0441\u043a\u0430\u0442\u0435\u043b\u044e \u043d\u0430 \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u044e \u043e\u0444\u0438\u0446\u0438\u0430\u043d\u0442\u0430 \u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0435\u0433\u043e \u0442\u0438\u043f \u043b\u0438\u0447\u043d\u043e\u0441\u0442\u0438 \u043f\u043e <a href=\"https:\/\/ru.wikipedia.org\/wiki\/PAEI_(%D0%BA%D0%BE%D0%B4_%D0%90%D0%B4%D0%B8%D0%B7%D0%B5%D1%81%D0%B0)\" rel=\"noopener noreferrer nofollow\">\u0418. \u0410\u0434\u0438\u0437\u0435\u0441\u0443 (\u043c\u043e\u0434\u0435\u043b\u044c PAEI)<\/a>.<\/p>\n<p>\u0427\u0442\u043e \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f?<\/p>\n<ol>\n<li>\n<p>ChatGPT4 Turbo \u043e\u0442 OpenAI (\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f API: <a href=\"https:\/\/platform.openai.com\/docs\/api-reference\" rel=\"noopener noreferrer nofollow\">https:\/\/platform.openai.com\/docs\/api-reference<\/a>)<\/p>\n<\/li>\n<li>\n<p>\u0421\u0435\u0440\u0432\u0438\u0441 \u043f\u043e \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u043d\u043e\u0439 \u043b\u0438\u043d\u0438\u0435\u0439 (\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f API: <a href=\"https:\/\/voximplant.com\/docs\/guides\" rel=\"noopener noreferrer nofollow\">https:\/\/voximplant.com\/docs\/guides<\/a>)<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0441\u0442\u0443\u043f \u043a API \u043f\u043e \u0441\u0438\u043d\u0442\u0435\u0437\u0443 \u0440\u0435\u0447\u0438 (\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f API:  <a href=\"https:\/\/elevenlabs.io\/api\" rel=\"noopener noreferrer nofollow\">https:\/\/elevenlabs.io\/api<\/a>)<\/p>\n<\/li>\n<\/ol>\n<h3>\u0428\u0430\u0433\u21161: \u0421\u0438\u0441\u0442\u0435\u043c\u043d\u0430\u044f \u0440\u043e\u043b\u044c ChatGPT<\/h3>\n<pre><code class=\"markdown\">\u0426\u0435\u043b\u044c: \u0422\u0432\u043e\u044f \u0446\u0435\u043b\u044c - \u0437\u0430\u0434\u0430\u0432 \u0421\u0422\u0420\u041e\u0413\u041e \u041f\u041e\u0421\u041b\u0415\u0414\u041e\u0412\u0410\u0422\u0415\u041b\u042c\u041d\u041e \u0442\u0440\u0438 \u0432\u043e\u043f\u0440\u043e\u0441\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043c\u043e\u0434\u0435\u043b\u044c \u0441\u043e\u0438\u0441\u043a\u0430\u0442\u0435\u043b\u044f \u043f\u043e \u0410\u0434\u0438\u0437\u0435\u0441\u0443 \u0438 \u043e\u0437\u0432\u0443\u0447\u0438\u0442\u044c \u0435\u0451 \u043f\u043e\u0441\u043b\u0435 \u043e\u0442\u0432\u0435\u0442\u0430 \u043d\u0430 \u0442\u0440\u0435\u0442\u0438\u0439 \u0432\u043e\u043f\u0440\u043e\u0441.  \u0420\u043e\u043b\u044c: \u0422\u044b - \u0436\u0435\u043d\u0449\u0438\u043d\u0430. \u0422\u0435\u0431\u044f \u0437\u043e\u0432\u0443\u0442 - \u0416\u0430\u043d\u043d\u0430 \u0422\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0448\u044c \u0432 \u0434\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u0438 - HR-\u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u0422\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0448\u044c \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 - \u0425\u043b\u0435\u0431 \u0438 \u0411\u0443\u043b\u043a\u0438  \u0422\u044b - \u043f\u043e\u043c\u043e\u0449\u043d\u0438\u043a HR \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u0430 \u0432 \u0441\u0435\u0442\u0438 \u043a\u0430\u0444\u0435 \u0425\u043b\u0435\u0431 \u0438 \u0411\u0443\u043b\u043a\u0438 \u0432 \u0415\u043a\u0430\u0442\u0435\u0440\u0438\u043d\u0431\u0443\u0440\u0433\u0435. \u0422\u044b \u043e\u0431\u0449\u0430\u0435\u0448\u044c\u0441\u044f \u0441 \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u043e\u043c \u043d\u0430 \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u044e \u043e\u0444\u0438\u0446\u0438\u0430\u043d\u0442\u0430 \u043f\u043e \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0443 \u0438 \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0442\u0432\u043e\u0438 \u043e\u0442\u0432\u0435\u0442\u044b \u0438 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u043e\u0447\u0435\u043d\u044c \u043a\u0440\u0430\u0442\u043a\u0438\u043c\u0438 \u0438 \u043b\u0430\u043a\u043e\u043d\u0438\u0447\u043d\u044b\u043c\u0438.  \u0412\u043e\u0442 \u0432\u043e\u043f\u0440\u043e\u0441\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0442\u0435\u0431\u0435 \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c: 1. \u041a\u0430\u043a \u0432\u044b \u043e\u0431\u044b\u0447\u043d\u043e \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0443\u0435\u0442\u0435 \u0441\u0432\u043e\u044e \u0440\u0430\u0431\u043e\u0442\u0443 \u0438 \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u0442\u0435 \u0441\u0432\u043e\u0438 \u0437\u0430\u0434\u0430\u0447\u0438? 2. \u041a\u0430\u043a \u0432\u044b \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0432 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f\u0445? 3. \u041a\u0430\u043a \u0432\u044b \u043e\u0431\u044b\u0447\u043d\u043e \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u0442\u0435 \u0441 \u043a\u043e\u043b\u043b\u0435\u0433\u0430\u043c\u0438 \u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c\u0438?  \u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435: 1. \u041d\u0430\u0447\u043d\u0438 \u0434\u0438\u0430\u043b\u043e\u0433 \u0431\u0435\u0437 \u043f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f \u0421\u0420\u0410\u0417\u0423 \u0437\u0430\u0434\u0430\u0432 \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441. 2. \u0417\u0430\u0434\u0430\u0432\u0430\u0439 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u0442\u0440\u043e\u0433\u043e \u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443 \u0432\u043e\u043f\u0440\u043e\u0441\u0443 \u0437\u0430 \u0440\u0430\u0437. 3. \u041f\u043e\u0441\u043b\u0435 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u043d\u0430 \u0432\u0441\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438 \u043c\u043e\u0434\u0435\u043b\u044c \u043f\u043e \u0410\u0434\u0438\u0437\u0438\u0441\u0443 \u0438 \u043d\u0430\u043f\u0438\u0448\u0438 \u0435\u0451 \u0432 \u0441\u0432\u043e\u0435\u043c \u043e\u0442\u0432\u0435\u0442\u0435, \u0432 \u043a\u043e\u043d\u0446\u0435 \u0441\u043a\u0430\u0436\u0438: \"\u0421\u043f\u0430\u0441\u0438\u0431\u043e, \u043c\u044b \u0441 \u0412\u0430\u043c\u0438 \u0441\u043a\u043e\u0440\u043e \u0441\u0432\u044f\u0436\u0435\u043c\u0441\u044f ?\".  ! \u041f\u0435\u0440\u0435\u0434 \u043e\u0442\u0432\u0435\u0442\u043e\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u044c \u0447\u0442\u043e \u0442\u044b \u0437\u0430\u0434\u0430\u0435\u0448\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u0432\u043e\u043f\u0440\u043e\u0441 \u0437\u0430 \u0440\u0430\u0437 \u0438 \u0432 \u0442\u0432\u043e\u0435\u043c \u043e\u0442\u0432\u0435\u0442\u0435 \u043d\u0435\u0442 \u043f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f.<\/code><\/pre>\n<p> \u0420\u043e\u043b\u044c \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u043f\u043e API \u043d\u0430 \u0431\u0430\u0437\u0435 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u043d\u0435\u0439\u0440\u043e-\u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432:<\/p>\n<figure class=\"full-width\">\n<div><figcaption>\u0414\u043b\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0440\u043e\u043b\u0438 \u0438\u0437 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u043d\u0430\u043c \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043b\u0438\u0447\u043d\u043e\u0441\u0442\u044c<\/figcaption><\/div>\n<\/figure>\n<figure class=\"full-width\">\n<div><figcaption>\u041f\u0440\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043b\u0438\u0447\u043d\u043e\u0441\u0442\u0438 \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0440\u0430\u0437\u0431\u0438\u0442\u044c \u0432\u0441\u0435 \u043f\u043e \u0431\u043b\u043e\u043a\u0430\u043c: \u0420\u043e\u043b\u044c, \u0426\u0435\u043b\u044c, \u041f\u0435\u0440\u0432\u0430\u044f \u0444\u0440\u0430\u0437\u0430 \u0438 \u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435<\/figcaption><\/div>\n<\/figure>\n<h2> \u0428\u0430\u0433\u21162: \u0421\u043a\u0440\u0438\u043f\u0442 \u0437\u0432\u043e\u043d\u043a\u0430 \u0432 Voximplant  <\/h2>\n<pre><code class=\"javascript\">require(Modules.ASR); require(Modules.CallList); require(Modules.AI);  \/\/ OpenAI API URL const openaiURL = 'https:\/\/api.openai.com\/v1\/chat\/completions' \/\/ Your OpenAI API KEY const openaiApiKey = 'sk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'  var messages = []; \/\/ \u041c\u0430\u0441\u0441\u0438\u0432 \u0432\u0441\u0435\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u0432 \u0434\u0438\u0430\u043b\u043e\u0433\u0435 var ai_busy = false; var ai_say = false; var speech = \"\"; \/\/ \u0412 \u044d\u0442\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0431\u0443\u0434\u0435\u043c \u043d\u0430\u043a\u0430\u043f\u043b\u0438\u0432\u0430\u0442\u044c \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u0435\u043c\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u043e\u0442 \u0430\u0431\u043e\u043d\u0435\u043d\u0442\u0430. var voice = \"\"; var model = \"gpt-3.5-turbo\"; (\/\/ \u041c\u043e\u0434\u0435\u043b\u044c \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u0443 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043d\u0435\u0439\u0440\u043e-\u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430 \u0441\u0432\u043e\u044f \u043c\u043e\u0434\u0435\u043b\u044c.  timeouts = {   silence: null,   pause: null,   duration: null }  var hello_text = \"\"; \/\/ \u041f\u0435\u0440\u0432\u0430\u044f \u0444\u0440\u0430\u0437\u0430 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430, \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u0441 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b.  messages.push({ \"role\": \"system\", \"content\": \"\" }) \/\/ \u041c\u0430\u0441\u0441\u0438\u0432 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439. \u041f\u0435\u0440\u0432\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u044d\u0442\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u0430\u044f \u0440\u043e\u043b\u044c. \u0422\u0435\u043a\u0441\u0442 \u0440\u043e\u043b\u0438 \u043f\u0440\u0438\u0434\u0435\u0442 \u0441 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b.  var call, player, asr;  \/\/ Send request to the API async function requestCompletion() {     Logger.write(`--->>> requestCompletion ${messages}`);     return Net.httpRequestAsync(openaiURL, {         headers: [             \"Content-Type: application\/json\",             \"Authorization: Bearer \" + openaiApiKey         ],         method: 'POST',         postData: JSON.stringify({             \"model\": model, \/\/ gpt-4-1106-preview  gpt-3.5-turbo             \"messages\": messages,             \"openai_api_key\": openaiApiKey,              \"temperature\": 0,         })     }) }  function speechAnalysis() {   \/\/ \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043c\u043e\u0434\u0443\u043b\u044c ASR   stopASR()   const cleanText = speech.trim().toLowerCase()    if (!cleanText.length) {     \/\/ \u0435\u0441\u043b\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0441 \u043d\u0443\u043b\u0435\u0432\u043e\u0439 \u0434\u043b\u0438\u043d\u043e\u0439, \u0442\u043e \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442 \u0447\u0442\u043e \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b \u0442\u0430\u0439\u043c\u0435\u0440 \u0442\u0438\u0448\u0438\u043d\u044b,     \/\/ \u0442.\u0435. \u0447\u0435\u043b\u043e\u0432\u0435\u043a \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043e\u0442\u0432\u0435\u0442\u0438\u043b, \u0438 \u043c\u044b \u043c\u043e\u0436\u0435\u043c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c \u0432\u043e\u043f\u0440\u043e\u0441 \u0430\u0431\u043e\u043d\u0435\u043d\u0442\u0443     handleSilence()   } else {     ASREvents_Result(speech);   } }  function stopASR() {   asr.stop()   call.removeEventListener(CallEvents.PlaybackFinished)   clearTimeout(timeouts.duration) }  function startASR() {   asr = VoxEngine.createASR({     lang: ASRLanguage.RUSSIAN_RU,     profile: ASRProfileList.YandexV3.ru_RU,     interimResults: true   })   asr.addEventListener(ASREvents.InterimResult, e => {     clearTimeout(timeouts.pause)     clearTimeout(timeouts.silence)     timeouts.pause = setTimeout(speechAnalysis, 3000)     call.stopPlayback()   })   asr.addEventListener(ASREvents.Result, e => {     \/\/ \u0421\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u043c \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u0435\u043c\u044b\u0435 \u043e\u0442\u0432\u0435\u0442\u044b     if (speech.indexOf(e.text) === -1) {       speech += \" \" + e.text;     }   })   \/\/ \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u043e\u0442\u043e\u043a \u0432 ASR   call.sendMediaTo(asr) }  function handleSilence() {   \/\/ \u0422\u0443\u0442 \u043c\u043e\u0436\u043d\u043e \u0447\u0442\u043e-\u0442\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c \u0432 \u043b\u0438\u043d\u0438\u044e \u0447\u0442\u043e\u0431\u044b \"\u0441\u043a\u0440\u0430\u0441\u0438\u0442\u044c\" \u043f\u0430\u0443\u0437\u044b   \/\/ \u041d\u0430\u0447\u043d\u0451\u043c \u0441\u043b\u0443\u0448\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 3 \u0441\u0435\u043a\u0443\u043d\u0434\u044b \u0438 \u0434\u0430\u0434\u0438\u043c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441 \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u043f\u0435\u0440\u0435\u0431\u0438\u0432\u0430\u0442\u044c \u0440\u043e\u0431\u043e\u0442\u0430   setTimeout(startASR, 3000)   call.addEventListener(CallEvents.PlaybackFinished, startSilenceAndDurationTimeouts) }  function startSilenceAndDurationTimeouts() {   timeouts.silence = setTimeout(speechAnalysis, 8000)   timeouts.duration = setTimeout(speechAnalysis, 30000) }  \/\/ \u0414\u0430\u043d\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0442\u0435\u043a\u0441\u0442 \u0432 API \u043f\u043e \u0441\u0438\u043d\u0442\u0435\u0437\u0443 \u0433\u043e\u043b\u043e\u0441\u0430 \u043f\u043e \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u043c\u0443 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044e function sendMessage(call, text) {     const textToSynthesize = encodeURIComponent(text);     const speechSynthesisApiUrl = `https:\/\/__\u041f\u041b\u0410\u0422\u0424\u041e\u0420\u041c\u0410_\u041d\u0415\u0419\u0420\u041e_\u0421\u041e\u0422\u0420\u0423\u0414\u041d\u0418\u041a\u041e\u0412__\/api\/v1.0\/tts?voice=${voice}&amp;text=${textToSynthesize}`;     Net.httpRequest(speechSynthesisApiUrl, (res) => {         if (res.code === 200) {             let audioUrl = res.text;             Logger.write(res.code + \" sendMessage: \" + text);             call.startPlayback(audioUrl);             ai_say = true;             call.addEventListener(CallEvents.PlaybackFinished, handlePlaybackFinished);         } else {             Logger.write(`\u041e\u0448\u0438\u0431\u043a\u0430: ${res.code} - ${res.text}`);         }     }, {method: 'GET'});     return 'OK' }  \/\/ \u0412\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u043e\u0441\u044c function handlePlaybackFinished(e) {   Logger.write('--->>> handlePlaybackFinished');   ai_busy = false;   ai_say = false;   e.call.removeEventListener(CallEvents.PlaybackFinished, handlePlaybackFinished);   startASR(); }  function sendMessageURL(call, mp3_url) {     call.startPlayback(mp3_url);     return 'OK' }  \/\/ \u042d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442 \u043c\u0443\u0437\u044b\u043a\u0443 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f \u043e\u0442\u0432\u0435\u0442\u0430 \u043e\u0442 ChatGPT function sendBeforeMessage(call) {     const messages = [         \/\/'https:\/\/activeai.aura-s.com\/wp-content\/uploads\/2023\/12\/ai_thinking.mp3',         \/\/'https:\/\/mvp.atiks.org\/wp-content\/uploads\/2023\/12\/8192dd7301e4c1a.mp3',         \/\/'https:\/\/mvp.atiks.org\/wp-content\/uploads\/2023\/12\/7e7352510ae830e.mp3',         'https:\/\/mvp.atiks.org\/wp-content\/uploads\/2023\/12\/3c72bb47cbe8153.mp3',     ];     const randomIndex = Math.floor(Math.random() * messages.length);     const messageURL = messages[randomIndex];     sendMessageURL(call, messageURL); }  \/\/ \u0412\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u043e\u0441\u044c function StarthandlePlaybackFinished(e) {     Logger.write('--->>> handlePlaybackFinished');     e.call.removeEventListener(CallEvents.PlaybackFinished, StarthandlePlaybackFinished);     e.call.sendMediaTo(asr); }  \/\/ Callback \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f \u0432\u044b\u0437\u043e\u0432\u0430 function onCallDisconnected(e) {     sendEmail('web@atiks.org');     Logger.write(`Call disconnected`); }  \/\/ Callback \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u043e\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430 function onCallFailed(e) {   Logger.write(`Call failed`); }  function onCallConnected(e) {   sendBeforeMessage(call)   sendMessage(e.call, hello_text);   e.call.addEventListener(CallEvents.PlaybackFinished, StarthandlePlaybackFinished); }  \/\/ \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0441\u0442\u0430\u0440\u0442\u043e\u0432\u043e\u0433\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u044f VoxEngine.addEventListener(AppEvents.Started, (e) => {     let data = VoxEngine.customData();     Logger.write(`customData: ${data}`); data = JSON.parse(data);     changeRole(data.script_id);     model = data.model;     call = VoxEngine.callPSTN(data.phone, \"73432472939\");     call.addEventListener(CallEvents.Connected, onCallConnected);     call.addEventListener(CallEvents.Disconnected, onCallDisconnected);     call.addEventListener(CallEvents.Failed, onCallFailed);     startASR(); });  \/\/ \u042d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0439 \u0440\u043e\u043b\u044c \u0441 \u043d\u0430\u0448\u0435\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u043d\u0435\u0439\u0440\u043e-\u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 function changeRole(script_id) {     const speechSynthesisApiUrl = `https:\/\/__\u041f\u041b\u0410\u0422\u0424\u041e\u0420\u041c\u0410_\u041d\u0415\u0419\u0420\u041e_\u0421\u041e\u0422\u0420\u0423\u0414\u041d\u0418\u041a\u041e\u0412__\/api\/v1.0\/get_promt_text?script_id=${script_id}`;     Net.httpRequest(speechSynthesisApiUrl, (res) => {         if (res.code === 200) {             const promt = res.text.split(\"###\");             messages[0].content =<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-364509","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/364509","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=364509"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/364509\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=364509"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=364509"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=364509"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}