{"id":463241,"date":"2025-06-13T11:13:08","date_gmt":"2025-06-13T11:13:08","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=463241"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=463241","title":{"rendered":"<span>\u041a\u0430\u043a \u043c\u044b \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u043d\u043e\u0432\u044b\u0445 \u0418\u0418-\u043f\u043e\u043c\u043e\u0449\u043d\u0438\u043a\u043e\u0432 \u0434\u043b\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u0432 \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u044b\u043c\u0438 \u0438 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043c\u043e\u0433\u0443\u0447\u0438\u043c\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 decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/7d8\/e0a\/cf9\/7d8e0acf95f7c521500f2ce50fe984c7.png\" width=\"960\" height=\"540\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/7d8\/e0a\/cf9\/7d8e0acf95f7c521500f2ce50fe984c7.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/7d8\/e0a\/cf9\/7d8e0acf95f7c521500f2ce50fe984c7.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p>\u0412\u00a0\u043f\u0440\u043e\u0448\u043b\u043e\u043c \u0433\u043e\u0434\u0443 \u043c\u044b \u0443\u0436\u0435 <a href=\"https:\/\/habr.com\/ru\/companies\/ru_mts\/articles\/821803\/\" rel=\"noopener noreferrer nofollow\">\u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u043b\u0438<\/a>, \u043a\u0430\u043a\u00a0\u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b\u0438 \u043d\u0430\u0448\u0435\u0433\u043e \u043f\u043e\u043c\u043e\u0449\u043d\u0438\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0430 Kodify. \u041d\u0435\u00a0\u043f\u0440\u043e\u0448\u043b\u043e \u0438 \u0433\u043e\u0434\u0430, \u0438 \u043c\u044b <a href=\"https:\/\/mts.ai\/ru\/tehnologii\/mts-ai-vyvodit-na-rynok-novogo-ii-assistenta-dlya-razrabotchikov\/\" rel=\"noopener noreferrer nofollow\">\u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0438<\/a> \u0432\u0430\u043c \u043d\u043e\u0432\u0443\u044e \u0435\u0433\u043e \u0432\u0435\u0440\u0441\u0438\u044e\u00a0\u2014 Kodify 2. \u0410\u00a0\u0431\u0443\u043a\u0432\u0430\u043b\u044c\u043d\u043e \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u043e\u0431\u044a\u044f\u0432\u0438\u043b\u0438 \u043e\u00a0\u0432\u044b\u043f\u0443\u0441\u043a\u0435 \u043e\u043f\u0435\u043d\u0441\u043e\u0440\u0441\u043d\u043e\u0439\u00a0\u2014 Kodify Nano. Kodify 2\u00a0\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f\u00a0\u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0445 \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u043e\u0432, \u0430\u00a0Kodify Nano \u043c\u044b \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c\u00a0\u2014 \u0432\u044b\u043b\u043e\u0436\u0438\u043b\u0438 \u043d\u0430 <a href=\"https:\/\/huggingface.co\/collections\/MTSAIR\/kodify-nano-683792bf45443fd2fa935396\" rel=\"noopener noreferrer nofollow\">Hugging Face<\/a>. <\/p>\n<p>\u041a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e \u0434\u043b\u044f\u00a0\u043e\u0431\u0435\u0438\u0445 \u044d\u0442\u0438\u0445 \u0432\u0435\u0440\u0441\u0438\u0439\u00a0\u2014 \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u043e\u0441\u0442\u044c. \u0412\u00a0\u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u043c \u043d\u0430\u00a0\u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u043c \u043e\u0442\u043e\u0432\u0441\u044e\u0434\u0443 \u043f\u0440\u0438\u043b\u0435\u0442\u0430\u043b \u043f\u0440\u0438\u00a0\u0437\u0430\u043f\u0443\u0441\u043a\u0435 Kodify: \u041f\u043e\u0447\u0435\u043c\u0443 \u043c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u043f\u043e\u0439\u0442\u0438 \u043f\u0440\u043e\u0442\u0438\u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u044f \u0438 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u00ab\u043b\u0435\u0433\u043a\u0438\u0445\u00bb \u0418\u0418\u2011\u043f\u043e\u043c\u043e\u0449\u043d\u0438\u043a\u043e\u0432 \u0434\u043b\u044f\u00a0\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432? \u0422\u0430\u043a\u0436\u0435 \u0432\u044b \u0443\u0437\u043d\u0430\u0435\u0442\u0435, \u043a\u0430\u043a\u00a0\u043c\u044b \u0438\u0445 \u0443\u0447\u0438\u043b\u0438, \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u0438 \u0441\u043f\u0440\u0430\u0432\u043b\u044f\u043b\u0438\u0441\u044c \u0441\u00a0\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u043c\u0438 \u0437\u0430\u0434\u0430\u0447\u0430\u043c\u0438 \u043d\u0435\u00a0\u0445\u0443\u0436\u0435, \u0447\u0435\u043c \u0438\u0445 \u0441\u043e\u0431\u0440\u0430\u0442\u044c\u044f \u0441\u0445\u043e\u0436\u0435\u0433\u043e \u0438\u043b\u0438\u00a0\u0434\u0430\u0436\u0435 \u0431\u043e\u043b\u044c\u0448\u0435\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430, \u0438 \u043a\u0430\u043a\u0443\u044e \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u044e \u043e\u0446\u0435\u043d\u043a\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438. <\/p>\n<p><strong>\u0425\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438 Kodify 2\u00a0\u0438 Kodify Nano<\/strong><\/p>\n<p>Kodify 2\u00a0\u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 7\u00a0\u043c\u043b\u0440\u0434 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u0434\u043e 32\u00a0768\u00a0\u0442\u043e\u043a\u0435\u043d\u043e\u0432. \u041c\u043e\u0434\u0435\u043b\u044c \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u00a0\u0431\u044d\u043a\u0435\u043d\u0434\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 OpenAI\u2011\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u044b\u0439 API \u0434\u043b\u044f\u00a0\u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441\u00a0\u043f\u043b\u0430\u0433\u0438\u043d\u0430\u043c\u0438 \u043a\u00a0IDE \u0438 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438. \u0425\u043e\u0442\u044f \u043d\u0430\u0448\u0438\u043c\u0438 \u0446\u0435\u043b\u0435\u0432\u044b\u043c\u0438 \u044f\u0437\u044b\u043a\u0430\u043c\u0438 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f Python, Java, JavaScript, C# \u0438 Go (\u043c\u044b \u043e\u0431\u0443\u0447\u0430\u0435\u043c \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u043d\u0430\u0448\u0438 \u043c\u043e\u0434\u0435\u043b\u0438 \u043d\u0430\u00a0\u043d\u0438\u0445), Kodify \u0437\u043d\u0430\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0435 90\u00a0\u044f\u0437\u044b\u043a\u043e\u0432. \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f: \u0430\u0432\u0442\u043e\u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u0434\u0430 (autocomplete), \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u044e\u043d\u0438\u0442\u2011\u0442\u0435\u0441\u0442\u043e\u0432, \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u043e\u0434\u0430 (Docstrings, JavaDoc, etc), \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043a\u043e\u0434\u0430 \u043f\u043e\u00a0\u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u043c\u0443 \u0437\u0430\u043f\u0440\u043e\u0441\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u0434\u0430.<\/p>\n<p>\u041c\u043e\u0434\u0435\u043b\u044c Kodify Nano \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u043d\u044c\u0448\u0438\u043c \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c\u00a0\u2014 1,5\u00a0\u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432. \u041e\u043d\u0430 \u0443\u043c\u0435\u0435\u0442 \u0434\u0435\u043b\u0430\u0442\u044c \u0442\u043e\u00a0\u0436\u0435 \u0441\u0430\u043c\u043e\u0435 (\u043d\u0443 \u043f\u043e\u0447\u0442\u0438). <\/p>\n<p>\u041c\u043e\u0434\u0435\u043b\u044c\u043a\u0438 \u043c\u043e\u0436\u043d\u043e \u0432\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0432\u00a0\u043b\u044e\u0431\u0443\u044e \u0441\u0440\u0435\u0434\u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0432\u00a0\u0444\u043e\u0440\u043c\u0430\u0442\u0435 \u0447\u0430\u0442\u2011\u0430\u0441\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043d\u0430\u00a0\u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u043c \u044f\u0437\u044b\u043a\u0435, \u043a\u0430\u043a\u00a0\u043d\u0430\u00a0\u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0435 \u043d\u0438\u0436\u0435.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/6ac\/f83\/5d9\/6acf835d96b68a3e4e03289277b9e104.png\" width=\"1765\" height=\"1060\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/6ac\/f83\/5d9\/6acf835d96b68a3e4e03289277b9e104.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/6ac\/f83\/5d9\/6acf835d96b68a3e4e03289277b9e104.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u041d\u043e\u00a0\u0432\u0435\u0434\u044c 7\u00a0\u043c\u043b\u0440\u0434 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432\u00a0\u2014 \u044d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u043c\u0430\u043b\u043e!<\/strong><\/p>\n<p>\u0422\u0430\u043a\u043e\u0439\u00a0\u0431\u044b\u043b\u0430 \u0440\u0435\u0430\u043a\u0446\u0438\u044f, \u043a\u043e\u0433\u0434\u0430 \u043f\u0430\u0440\u0443 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u043d\u0430\u0437\u0430\u0434 \u043c\u044b \u043e\u0431\u044a\u044f\u0432\u0438\u043b\u0438 \u043e\u00a0\u0432\u044b\u043f\u0443\u0441\u043a\u0435 Kodify 2. <\/p>\n<p>\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e,<strong> <\/strong>\u0432\u00a0\u043f\u043e\u0433\u043e\u043d\u0435 \u0437\u0430\u00a0\u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u0442\u0441\u044f \u0442\u0435\u043d\u0434\u0435\u043d\u0446\u0438\u044f \u043a\u00a0\u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u044e \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u0432 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0434\u043b\u044f\u00a0\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043a\u043e\u0434\u0430. \u0411\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u043d\u0435\u0434\u0430\u0432\u043d\u043e \u0432\u044b\u0448\u0435\u0434\u0448\u0438\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u043e\u0442 7\u00a0\u043c\u043b\u0440\u0434 \u0434\u043e 72\u00a0\u043c\u043b\u0440\u0434 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \u0438 \u0447\u0443\u0432\u0441\u0442\u0432\u0443\u0435\u0442\u0441\u044f \u0442\u0435\u043d\u0434\u0435\u043d\u0446\u0438\u044f \u0432\u044b\u0445\u043e\u0434\u0430 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0442\u0435\u043d \u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434\u043e\u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \u0438\u0437\u2011\u0437\u0430 \u0447\u0435\u0433\u043e \u0440\u0430\u0441\u0442\u0443\u0442 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u00a0\u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c. \u0410\u00a0\u0447\u0442\u043e\u00a0\u0434\u0435\u043b\u0430\u0442\u044c, \u0435\u0441\u043b\u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u043d\u0435\u00a0\u0442\u0430\u043a \u043c\u043d\u043e\u0433\u043e, \u043a\u0430\u043a\u00a0\u043d\u0430\u0434\u043e? <\/p>\n<p>\u041c\u044b \u0432\u00a0MTS AI \u0443\u0432\u0435\u0440\u0435\u043d\u044b, \u0447\u0442\u043e\u00a0\u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442\u00a0\u0431\u044b\u0442\u044c \u043d\u0435\u00a0\u043c\u0435\u043d\u0435\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u043c\u0438, \u0435\u0441\u043b\u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443 \u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f. \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u043e\u0439 LLM, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u0430\u00a0\u043c\u0430\u0441\u0441\u043e\u0432\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445, \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f\u00a0\u0448\u0438\u0440\u043e\u043a\u043e\u0433\u043e \u043a\u0440\u0443\u0433\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u0438 \u043f\u0440\u0435\u0434\u043f\u0440\u0438\u044f\u0442\u0438\u0439\u00a0\u2014 \u043e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u0434\u043e\u0432\u044b\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0431\u0435\u0437\u00a0\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u0438\u043d\u0432\u0435\u0441\u0442\u0438\u0446\u0438\u0439 \u0432\u00a0\u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443.<\/p>\n<p>\u041a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u044b\u043f\u0443\u0441\u043a\u0430\u0435\u043c\u044b\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0440\u0430\u0441\u0442\u0435\u0442 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e\u00a0\u0431\u044b\u0441\u0442\u0440\u043e, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, CodeLlama 32B, \u0432\u044b\u043f\u0443\u0449\u0435\u043d\u043d\u0430\u044f \u0432\u00a0\u0430\u0432\u0433\u0443\u0441\u0442\u0435 2023\u00a0\u0433\u043e\u0434\u0430, \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u0443\u0441\u0442\u0443\u043f\u0430\u0435\u0442 \u043f\u043e\u00a0\u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0443 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c 7B \u043c\u043e\u0434\u0435\u043b\u044f\u043c.<\/p>\n<p>\u0427\u0442\u043e\u00a0\u043c\u044b \u0441\u0434\u0435\u043b\u0430\u043b\u0438, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0448\u0438 \u043c\u0430\u043b\u044b\u0435 LLM \u0445\u043e\u0440\u043e\u0448\u043e \u0441\u043f\u0440\u0430\u0432\u043b\u044f\u043b\u0438\u0441\u044c \u0441\u00a0\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u043c\u0438 \u0437\u0430\u0434\u0430\u0447\u0430\u043c\u0438?<\/p>\n<ol>\n<li>\n<p>Kodify Nano \u0438 Kodify 2\u00a0\u043e\u0441\u043d\u043e\u0432\u0430\u043d\u044b \u043d\u0430\u00a0Qwen Coder 2.5, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0443\u0436\u0435 \u0437\u0430\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u043e\u0432\u0430\u043b\u0430 \u0441\u0435\u0431\u044f \u043a\u0430\u043a\u00a0\u043e\u0447\u0435\u043d\u044c \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f\u00a0\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043a\u043e\u0434\u0430. \u041e\u0434\u043d\u0430\u043a\u043e \u043c\u044b \u0435\u0449\u0435 \u0443\u043b\u0443\u0447\u0448\u0438\u043b\u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u043c\u043e\u0434\u0435\u043b\u0438 \u0432\u00a0\u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043a\u043e\u0434\u0430, \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u044e\u043d\u0438\u0442\u2011\u0442\u0435\u0441\u0442\u043e\u0432 \u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u0434\u0430, \u0430\u00a0\u0442\u0430\u043a\u0436\u0435 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441\u00a0\u0440\u0443\u0441\u0441\u043a\u0438\u043c \u044f\u0437\u044b\u043a\u043e\u043c.<\/p>\n<\/li>\n<li>\n<p>\u0414\u043b\u044f\u00a0\u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u043f\u043e\u043a\u043e\u043b\u0435\u043d\u0438\u044f \u043c\u043e\u0434\u0435\u043b\u0435\u0439 Kodify \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u043c\u0435\u0442\u043e\u0434 Direct Preference Optimization (DPO) \u043d\u0430\u00a0\u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u043c \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0435, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u044b\u0441\u043e\u043a\u043e\u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u043d\u0430\u00a0\u0440\u0430\u0437\u043d\u044b\u0445 \u044f\u0437\u044b\u043a\u0430\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u042d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043c\u043e\u0434\u0435\u043b\u0438 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u043e\u0431\u0443\u0447\u0430\u0442\u044c\u0441\u044f \u043d\u0430\u00a0\u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0442\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445, \u0443\u043b\u0443\u0447\u0448\u0430\u044f \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e \u043a\u043e\u0434\u0430.<\/p>\n<\/li>\n<li>\n<p>\u0427\u0442\u043e\u0431\u044b \u0441\u0434\u0435\u043b\u0430\u0442\u044c Kodify \u0435\u0449\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0435\u0435, \u043c\u044b \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u043b\u0438 \u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0432\u0435\u0440\u0441\u0438\u0438\u00a0\u2014 \u0434\u043e 4\u00a0\u0431\u0438\u0442 (\u044d\u0442\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0441\u043d\u0438\u0437\u0438\u043b\u043e \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u043e\u0447\u0442\u0438 \u0431\u0435\u0437\u00a0\u043f\u043e\u0442\u0435\u0440\u0438 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430). \u041f\u0440\u0438\u043c\u0435\u043d\u044f\u043b\u0438 \u043c\u0435\u0442\u043e\u0434 GPTQ\u2011\u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0430\u0446\u0438\u0438 (Generalized Post\u2011Training Quantization). \u042d\u0442\u043e \u043e\u0434\u0438\u043d \u0438\u0437\u00a0\u043b\u0443\u0447\u0448\u0438\u0445, \u043d\u0430\u00a0\u0441\u0435\u0433\u043e\u0434\u043d\u044f, \u043c\u0435\u0442\u043e\u0434\u043e\u0432. \u041e\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043a\u0430\u043b\u0438\u0431\u0440\u043e\u0432\u043e\u0447\u043d\u044b\u0439 \u0434\u0430\u0442\u0430\u0441\u0435\u0442, \u044f\u0432\u043b\u044f\u044e\u0449\u0438\u0439\u0441\u044f \u0447\u0430\u0441\u0442\u044c\u044e \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0430, \u043d\u0430\u00a0\u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043e\u0431\u0443\u0447\u0430\u043b\u0430\u0441\u044c \u043c\u043e\u0434\u0435\u043b\u044c, \u0434\u043b\u044f\u00a0\u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u00ab\u0441\u0436\u0430\u0442\u044c\u00bb \u043c\u043e\u0434\u0435\u043b\u044c, \u043d\u0435\u00a0\u0438\u0441\u043f\u043e\u0440\u0442\u0438\u0432 \u0435\u0451.<\/p>\n<\/li>\n<\/ol>\n<p>\u041d\u0443 \u0438 \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u043e \u0430\u043b\u0430\u0439\u043c\u0435\u043d\u0442\u0443 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0443\u0434\u0435\u043b\u0438\u043b\u0438 \u0434\u043e\u043b\u0436\u043d\u043e\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435.<\/p>\n<p>\u0412\u00a0\u0446\u0435\u043b\u043e\u043c, \u043d\u0430\u0448\u0438 \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0438 \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0438, \u0447\u0442\u043e\u00a0\u043e\u0431\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u0445\u043e\u0440\u043e\u0448\u043e \u0441\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0441\u043e \u0441\u0432\u043e\u0438\u043c\u0438 \u0437\u0430\u0434\u0430\u0447\u0430\u043c\u0438 \u0434\u043b\u044f\u00a0\u0441\u0432\u043e\u0435\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430\u00a0\u2014 \u043e\u0431\u00a0\u044d\u0442\u043e\u043c \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u0432\u00a0\u043a\u043e\u043d\u0446\u0435 \u0441\u0442\u0430\u0442\u044c\u0438. \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0447\u0442\u043e\u00a0\u043f\u0440\u0438\u00a0\u0440\u0430\u0431\u043e\u0442\u0435 \u0441\u00a0Kodify Nano \u0438\u0437\u2011\u0437\u0430 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430 (1,5\u00a0\u043c\u043b\u0440\u0434 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432), \u043c\u044b \u043d\u0435\u00a0\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0430\u0432\u0442\u043e\u043a\u043e\u043c\u043f\u043b\u0438\u0442, \u0435\u0433\u043e \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u043c\u043e\u0436\u0435\u0442 \u0440\u0430\u0441\u0441\u0442\u0440\u043e\u0438\u0442\u044c. \u041d\u043e\u00a0\u0443\u00a0Kodify 2\u00a0\u0441\u00a0\u044d\u0442\u0438\u043c \u043f\u043e\u0440\u044f\u0434\u043e\u043a \ud83d\ude09\ufe0f\ufe0f\ufe0f\ufe0f\ufe0f\ufe0f. <\/p>\n<h3>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043c\u043e\u0434\u0435\u043b\u0435\u0439<\/h3>\n<p>Kodify 2\u00a0\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u043c \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c, \u0435\u0433\u043e \u0443\u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0432\u00a0\u0433\u0440\u0443\u043f\u043f\u0430\u0445 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u041c\u0422\u0421. \u041f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u00a0\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442\u00a0\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0439 \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u0430 \u0432\u00a0\u0432\u0438\u0434\u0435 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 16\u00a0\u0431\u0438\u0442\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u0438\u043b\u0438\u00a0\u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0432 8\u00a0\u0431\u0438\u0442 \u0438\u043b\u0438 4\u00a0\u0431\u0438\u0442\u0430.<\/p>\n<p>Kodify Nano \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0441\u0430\u043c\u0438\u00a0\u2014 \u0442\u043e\u0436\u0435 \u0432\u00a0\u0442\u0440\u0435\u0445 \u0432\u0435\u0440\u0441\u0438\u044f\u0445. \u0412\u043e\u0442 \u0441\u0441\u044b\u043b\u043a\u0438:<\/p>\n<p><a href=\"https:\/\/huggingface.co\/MTSAIR\/Kodify-Nano\" rel=\"noopener noreferrer nofollow\">Kodify\u2011Nano<\/a>\u00a0\u2014 \u044d\u0442\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c. \u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u043d\u0430\u00a0\u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u0430\u0445 Nvidia c \u043d\u0435\u00a0\u043c\u0435\u043d\u0435\u0435, \u0447\u0435\u043c 10\u00a0\u0413\u0431 \u043f\u0430\u043c\u044f\u0442\u0438.<\/p>\n<p><a href=\"https:\/\/huggingface.co\/MTSAIR\/Kodify-Nano-GPTQ\" rel=\"noopener noreferrer nofollow\">Kodify\u2011Nano\u2011GPTQ (4bit)<\/a>\u00a0\u2014 \u044d\u0442\u043e \u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f Kodify Nano, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u00a0\u0442\u0440\u0438 \u0440\u0430\u0437\u0430 \u043c\u0435\u043d\u044c\u0448\u0435 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438. \u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u043d\u0430\u00a0\u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u0430\u0445 Nvidia c \u043d\u0435\u00a0\u043c\u0435\u043d\u0435\u0435 6\u00a0\u0413\u0431 \u043f\u0430\u043c\u044f\u0442\u0438.<\/p>\n<p><a href=\"https:\/\/huggingface.co\/MTSAIR\/Kodify-Nano-GGUF\" rel=\"noopener noreferrer nofollow\">Kodify\u2011Nano\u2011GGUF<\/a>\u00a0\u2014 \u044d\u0442\u043e \u043c\u043e\u0434\u0435\u043b\u044c, \u0441\u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0434\u043b\u044f\u00a0\u0440\u0430\u0431\u043e\u0442\u044b \u0441\u00a0Ollama\/llama.cpp. \u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f, \u0435\u0441\u043b\u0438 \u043d\u0435\u0442 \u043c\u043e\u0449\u043d\u043e\u0439 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u044b. \u0415\u0441\u0442\u044c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b 16\u00a0\u0431\u0438\u0442, 8\u00a0\u0431\u0438\u0442 \u0438 4\u00a0\u0431\u0438\u0442\u0430.<\/p>\n<p>\u041c\u044b \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u043e\u0434\u0435\u043b\u0438 \u0441\u00a0\u043d\u0430\u0448\u0438\u043c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u043c (<a href=\"https:\/\/mts.ai\/ru\/product\/kodify\/?utm_source=habr&amp;utm_medium=social#models\" rel=\"noopener noreferrer nofollow\">\u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0442\u0443\u0442<\/a>), \u043e\u043d \u0443\u0436\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d \u0434\u043b\u044f\u00a0\u0440\u0430\u0431\u043e\u0442\u044b \u0441\u00a0Kodify Nano. \u0415\u0441\u0442\u044c \u0432\u0435\u0440\u0441\u0438\u0438 \u0434\u043b\u044f\u00a0VS Code \u0438 IntelliJ IDEA (\u0438 \u0434\u0440\u0443\u0433\u0438\u0445 IDE Jet Brains). \u041f\u043b\u0430\u0433\u0438\u043d \u0441\u043e\u0437\u0434\u0430\u043d \u043d\u0430\u00a0\u043e\u0441\u043d\u043e\u0432\u0435<a href=\"https:\/\/www.continue.dev\/\" rel=\"noopener noreferrer nofollow\"> <\/a><a href=\"http:\/\/Continue.dev\" rel=\"noopener noreferrer nofollow\">Continue.dev<\/a>, \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0435\u0433\u043e \u0434\u043b\u044f\u00a0\u0441\u0435\u0431\u044f, \u0435\u0441\u043b\u0438 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e \u043d\u0430\u00a0\u0441\u0430\u0439\u0442\u0435.<\/p>\n<h2>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441 Ollama<\/h2>\n<p>\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c Kodify Nano \u043d\u0430\u00a0OLLAMA \u0434\u0432\u0443\u043c\u044f \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438:<\/p>\n<ul>\n<li>\n<p>\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f Docker;<\/p>\n<\/li>\n<li>\n<p>\u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e. \u041f\u0440\u0438\u00a0\u044d\u0442\u043e\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043c\u043e\u0434\u0435\u043b\u044c \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442\u00a0\u0431\u044b\u0441\u0442\u0440\u0435\u0435, \u0447\u0435\u043c \u043f\u0440\u0438\u00a0\u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u0447\u0435\u0440\u0435\u0437 Docker.<\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043e\u0434\u043d\u0443 \u0438\u0437 3\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439:<\/p>\n<ul>\n<li>\n<p><strong>hf.co\/MTSAIR\/Kodify\u2011Nano\u2011GGUF<\/strong>\u00a0\u2014 \u043d\u0435\u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c, \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e, 3.1\u00a0\u0413\u0431. \u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c \u0434\u043b\u044f\u00a0CPU \u0438\u043b\u0438\u00a0GPU \u043d\u0435\u00a0\u043c\u0435\u043d\u0435\u0435 5\u00a0\u0413\u0431.<\/p>\n<\/li>\n<li>\n<p><strong>hf.co\/MTSAIR\/Kodify\u2011Nano\u2011GGUF:Q8_0<\/strong>\u00a0\u2014 \u043a\u0432\u0430\u043d\u0442\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u0430\u044f 8\u00a0\u0431\u0438\u0442, 1.65\u00a0\u0413\u0431. \u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c \u0434\u043b\u044f\u00a0GPU \u0441 3\u20135\u00a0\u0413\u0431 \u043f\u0430\u043c\u044f\u0442\u0438.<\/p>\n<\/li>\n<li>\n<p><strong>hf.co\/MTSAIR\/Kodify\u2011Nano\u2011GGUF:Q4_K_S<\/strong>\u00a0\u2014 \u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0430\u0446\u0438\u044f 4\u00a0\u0431\u0438\u0442\u0430, 0.94\u00a0\u0413\u0431. \u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c \u0434\u043b\u044f\u00a0GPU \u0441 1\u20133\u00a0\u0413\u0431 \u043f\u0430\u043c\u044f\u0442\u0438.<\/p>\n<\/li>\n<\/ul>\n<h3>\u0421\u043f\u043e\u0441\u043e\u0431 1. \u0417\u0430\u043f\u0443\u0441\u043a Kodify Nano \u043d\u0430 OLLAMA \u0432 Docker<\/h3>\n<p>1. \u0415\u0441\u043b\u0438 \u0443\u00a0\u0432\u0430\u0441 \u043d\u0435\u0442 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u044b NVIDIA, \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 OLLAMA \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439<\/p>\n<pre><code class=\"bash\">docker run -e OLLAMA_HOST=0.0.0.0:8985 -p 8985:8985 --name ollama -d ollama\/ollama<\/code><\/pre>\n<p>\u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e\u00a0\u0443\u00a0\u0432\u0430\u0441 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0438 \u0437\u0430\u043f\u0443\u0449\u0435\u043d Docker \u043f\u0435\u0440\u0435\u0434 \u0437\u0430\u043f\u0443\u0441\u043a\u043e\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u044b.<\/p>\n<p><strong>\u0412\u0430\u0436\u043d\u043e!<\/strong> \u0415\u0441\u043b\u0438 \u043f\u043e\u0440\u0442 8985\u00a0\u0443\u0436\u0435 \u0437\u0430\u043d\u044f\u0442, \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u0435 \u0435\u0433\u043e \u043d\u0430\u00a0\u043b\u044e\u0431\u043e\u0439 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0439 \u043f\u043e\u0440\u0442. \u0412\u00a0\u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0442\u0430\u043a\u0436\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043f\u043e\u0440\u0442 \u0432\u00a0\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 (\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u0440\u0430\u0437\u0434\u0435\u043b \u00ab\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0430\u0434\u0440\u0435\u0441\u0430 \u043f\u043e\u0440\u0442\u0430 \u0432\u00a0\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 \u0432\u00a0\u0441\u0440\u0435\u0434\u0430\u0445 Visual Studio Code \u0438 JetBrains\u00bb\u00a0\u2014 \u043d\u0438\u0436\u0435).<\/p>\n<p>\u0415\u0441\u043b\u0438 \u0443\u00a0\u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u0430 NVIDIA \u0438 \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c GPU \u0432\u00a0\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443:<\/p>\n<pre><code class=\"bash\">docker run --runtime nvidia -e OLLAMA_HOST=0.0.0.0:8985 -p 8985:8985 --name ollama -d ollama\/ollama<\/code><\/pre>\n<p>2. \u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u0443\u044e \u043c\u043e\u0434\u0435\u043b\u044c \u0432\u00a0OLLAMA:<\/p>\n<pre><code class=\"bash\">docker exec ollama ollama pull hf.co\/MTSAIR\/Kodify-Nano-GGUF<\/code><\/pre>\n<p>3. \u0417\u0430\u0434\u0430\u0439\u0442\u0435 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0435 \u0438\u043c\u044f \u0434\u043b\u044f\u00a0\u043c\u043e\u0434\u0435\u043b\u0438. \u0418\u0437\u043c\u0435\u043d\u0438\u0442\u0435 \u00abhf.co\/MTSAIR\/Kodify\u2011Nano\u2011GGUF\u00bb \u043d\u0430 \u00abkodify_nano\u00bb \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439:<\/p>\n<pre><code>docker exec ollama ollama cp hf.co\/MTSAIR\/Kodify-Nano-GGUF kodify_nano<\/code><\/pre>\n<p>4. \u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u043c\u043e\u0434\u0435\u043b\u044c:<\/p>\n<pre><code class=\"bash\">docker exec ollama ollama run kodify_nano<\/code><\/pre>\n<h3>\u0421\u043f\u043e\u0441\u043e\u0431 2. \u0417\u0430\u043f\u0443\u0441\u043a Kodify Nano \u043d\u0430 OLLAMA \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e<\/h3>\n<ol>\n<li>\n<p>\u0421\u043a\u0430\u0447\u0430\u0439\u0442\u0435 \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 OLLAMA \u0441\u00a0\u0441\u0430\u0439\u0442\u0430:<br \/><a href=\"https:\/\/ollama.com\/download\" rel=\"noopener noreferrer nofollow\">https:\/\/ollama.com\/download<\/a><\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u0434\u0430\u0439\u0442\u0435 \u043f\u043e\u0440\u0442:<\/p>\n<\/li>\n<\/ol>\n<pre><code>export OLLAMA_HOST=0.0.0.0:8985<\/code><\/pre>\n<p><strong>\u0412\u0430\u0436\u043d\u043e!<\/strong> \u0415\u0441\u043b\u0438 \u043f\u043e\u0440\u0442 8985\u00a0\u0443\u0436\u0435 \u0437\u0430\u043d\u044f\u0442, \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u0435 \u0435\u0433\u043e \u043d\u0430\u00a0\u043b\u044e\u0431\u043e\u0439 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0439 \u043f\u043e\u0440\u0442. \u0412\u00a0\u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0442\u0430\u043a\u0436\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043f\u043e\u0440\u0442 \u0432\u00a0\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 (\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u0440\u0430\u0437\u0434\u0435\u043b \u00ab\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0430\u0434\u0440\u0435\u0441\u0430 \u043f\u043e\u0440\u0442\u0430 \u0432\u00a0\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 \u0432\u00a0\u0441\u0440\u0435\u0434\u0430\u0445 Visual Studio Code \u0438 JetBrains\u00bb ).<\/p>\n<p>3. \u041f\u043e\u0434\u043d\u0438\u043c\u0438\u0442\u0435 \u0441\u0435\u0440\u0432\u0435\u0440 OLLAMA.<\/p>\n<pre><code class=\"bash\">ollama serve &amp;<\/code><\/pre>\n<p>4. \u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u0443\u044e \u043c\u043e\u0434\u0435\u043b\u044c, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443:<\/p>\n<pre><code>ollama pull hf.co\/MTSAIR\/Kodify-Nano-GGUF<\/code><\/pre>\n<p>5. \u0417\u0430\u0434\u0430\u0439\u0442\u0435 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0435 \u0438\u043c\u044f \u0434\u043b\u044f\u00a0\u043c\u043e\u0434\u0435\u043b\u0438. \u0418\u0437\u043c\u0435\u043d\u0438\u0442\u0435 hf.co\/MTSAIR\/Kodify\u2011Nano\u2011GGUF \u043d\u0430\u00a0kodify_nano \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439:<\/p>\n<pre><code class=\"bash\">ollama cp hf.co\/MTSAIR\/Kodify-Nano-GGUF kodify_nano<\/code><\/pre>\n<p>6. \u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u043c\u043e\u0434\u0435\u043b\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439:<\/p>\n<pre><code>ollama run kodify_nano<\/code><\/pre>\n<h2>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043f\u043b\u0430\u0433\u0438\u043d\u0430<\/h2>\n<h3>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 \u0432 \u0441\u0440\u0435\u0434\u0435 Visual Studio Code<\/h3>\n<ol>\n<li>\n<p>\u0421\u043a\u0430\u0447\u0430\u0439\u0442\u0435 <a href=\"https:\/\/mts.ai\/ru\/product\/kodify\/?utm_source=huggingface&amp;utm_medium=pr&amp;utm_campaign=post#models\" rel=\"noopener noreferrer nofollow\">\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u043f\u043b\u0430\u0433\u0438\u043d\u0430<\/a> Kodify \u0434\u043b\u044f\u00a0Visual Studio Code. <\/p>\n<\/li>\n<li>\n<p>\u041f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u0432\u00a0\u0440\u0430\u0437\u0434\u0435\u043b \u00abExtensions\u00bb \u043d\u0430\u00a0\u043b\u0435\u0432\u043e\u0439 \u043f\u0430\u043d\u0435\u043b\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432.<\/p>\n<\/li>\n<li>\n<p>\u0412\u00a0\u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u043e\u043c \u043c\u0435\u043d\u044e \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043f\u0443\u043d\u043a\u0442 \u00abInstall from VSIX\u2026\u00bb \u0438 \u0443\u043a\u0430\u0436\u0438\u0442\u0435 \u0441\u043a\u0430\u0447\u0430\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u043f\u043b\u0430\u0433\u0438\u043d\u0430.<\/p>\n<\/li>\n<\/ol>\n<h3>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 \u0432 \u0441\u0440\u0435\u0434\u0435 JetBrains<\/h3>\n<ol>\n<li>\n<p>\u0421\u043a\u0430\u0447\u0430\u0439\u0442\u0435 <a href=\"https:\/\/mts.ai\/ru\/product\/kodify\/?utm_source=huggingface&amp;utm_medium=pr&amp;utm_campaign=post#models\" rel=\"noopener noreferrer nofollow\">\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u043f\u043b\u0430\u0433\u0438\u043d\u0430<\/a> Kodify \u0434\u043b\u044f\u00a0JetBrains. <\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 IDE \u0438 \u043f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u0432\u00a0\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438.<\/p>\n<\/li>\n<li>\n<p>\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043f\u0443\u043d\u043a\u0442 \u00abPlugins\u00bb \u0434\u043b\u044f\u00a0\u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u0432\u00a0\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432.<\/p>\n<\/li>\n<li>\n<p>\u041d\u0430\u0436\u043c\u0438\u0442\u0435 \u043d\u0430\u00a0\u0448\u0435\u0441\u0442\u0435\u0440\u0435\u043d\u043a\u0443 \u0432\u00a0\u043f\u0440\u0430\u0432\u043e\u043c \u0432\u0435\u0440\u0445\u043d\u0435\u043c \u0443\u0433\u043b\u0443 \u0438 \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u00abInstall Plugin from Disk\u2026\u00bb<\/p>\n<\/li>\n<li>\n<p>\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0441\u043a\u0430\u0447\u0430\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0441\u00a0\u043f\u043b\u0430\u0433\u0438\u043d\u043e\u043c.<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 IDE \u043f\u043e\u0441\u043b\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438. \u041d\u0430\u0436\u043c\u0438\u0442\u0435 \u00abRestart IDE\u00bb.<\/p>\n<\/li>\n<\/ol>\n<details class=\"spoiler\">\n<summary>\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0430\u0434\u0440\u0435\u0441\u0430 \u043f\u043e\u0440\u0442\u0430 \u0432\u00a0\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 \u0432\u00a0\u0441\u0440\u0435\u0434\u0430\u0445 Visual Studio Code \u0438 JetBrains<\/summary>\n<div class=\"spoiler__content\">\n<p>\u0415\u0441\u043b\u0438 \u043f\u043e\u0440\u0442 \u043f\u0440\u0438\u00a0\u043f\u043e\u0434\u043d\u044f\u0442\u0438\u0438 Docker Compose \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442\u00a0\u043f\u043e\u0440\u0442\u0430 <strong>8985<\/strong>, \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u0435 \u043f\u043e\u0440\u0442 \u0432\u00a0\u0444\u0430\u0439\u043b\u0435 <em>config.json<\/em>, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0448\u0430\u0433\u0438:<\/p>\n<ol>\n<li>\n<p>\u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u0432\u00a0IDE \u043b\u044e\u0431\u043e\u0439 \u0444\u0430\u0439\u043b.<\/p>\n<\/li>\n<li>\n<p>\u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u0431\u043e\u043a\u043e\u0432\u0443\u044e \u043f\u0430\u043d\u0435\u043b\u044c Kodify, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044e \u043a\u043b\u0430\u0432\u0438\u0448:<\/p>\n<p>\u0432\u00a0Visual Studio Code\u00a0\u2014 \u00abCTRL + L\u00bb (\u00abCMD + L\u00bb \u043d\u0430\u00a0Mac);<br \/>\u0432\u00a0JetBrains\u00a0\u2014 \u00abCTRL+ J\u00bb (\u00abCMD + J\u00bb \u043d\u0430\u00a0Mac).<\/p>\n<\/li>\n<li>\n<p>\u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 <strong>\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b <em>config.json<\/em><\/strong> \u043e\u0434\u043d\u0438\u043c \u0438\u0437\u00a0\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432:<br \/><strong>\u0421\u043f\u043e\u0441\u043e\u0431 1. <\/strong>\u041d\u0430\u00a0\u0431\u043e\u043a\u043e\u0432\u043e\u0439 \u043f\u0430\u043d\u0435\u043b\u0438 Kodify \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u043d\u0430\u00a0\u043a\u043d\u043e\u043f\u043a\u0443 \u00abOpen Settings\u00bb \u0432\u00a0Visual Studio Code \u0438\u043b\u0438 \u00abKodify \u0421onfig\u00bb \u0432\u00a0JetBrains.<br \/>\u0412\u00a0\u0440\u0430\u0437\u0434\u0435\u043b\u0435 Configuration \u0434\u043b\u044f\u00a0Chat \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0443 \u00abOpen Config File\u00bb.<br \/><strong>\u0421\u043f\u043e\u0441\u043e\u0431 2. <\/strong>\u041d\u0430\u00a0\u0431\u043e\u043a\u043e\u0432\u043e\u0439 \u043f\u0430\u043d\u0435\u043b\u0438 \u0440\u0430\u0441\u043a\u0440\u043e\u0439\u0442\u0435 \u043c\u0435\u043d\u044e Kodify \u0438 \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u043d\u0430\u00a0\u043a\u043d\u043e\u043f\u043a\u0443 \u00abOpen Settings\u00bb (\u0448\u0435\u0441\u0442\u0435\u0440\u0435\u043d\u043a\u0430).<\/p>\n<\/li>\n<li>\n<p>\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u0435 \u0432\u00a0\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435 <em>config.json<\/em> \u0430\u0434\u0440\u0435\u0441 \u043f\u043e\u0440\u0442\u0430 \u0434\u043b\u044f\u00a0\u043f\u043e\u043b\u044f <strong>\u00abapiBase\u00bb<\/strong> \u0432\u00a0\u0440\u0430\u0437\u0434\u0435\u043b\u0430\u0445 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 <strong>\u00abtabAutocompleteModel\u00bb<\/strong> \u0438 <strong>\u00abmodels\u00bb<\/strong>.<\/p>\n<\/li>\n<li>\n<p>\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0444\u0430\u0439\u043b\u0430 <em>config.json<\/em> \u0432\u00a0IDE. \u0414\u043b\u044f\u00a0\u044d\u0442\u043e\u0433\u043e, \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044e \u043a\u043b\u0430\u0432\u0438\u0448 <strong>Ctrl+S<\/strong> \u0438\u043b\u0438\u00a0\u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043f\u0443\u043d\u043a\u0442 \u043c\u0435\u043d\u044e IDE: <strong>File \u2192 Save<\/strong>.<\/p>\n<\/li>\n<\/ol>\n<\/div>\n<\/details>\n<h3>\u0420\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u0432 vLLM<\/h3>\n<p>\u0414\u043b\u044f\u00a0\u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u043d\u0430\u0448\u0438\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0441\u00a0\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c GPU \u043c\u044b \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a vLLM (\u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c<a href=\"https:\/\/habr.com\/ru\/companies\/mts_ai\/articles\/791594\/\" rel=\"noopener noreferrer nofollow\"> \u0437\u0434\u0435\u0441\u044c<\/a>)<\/p>\n<p>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 vLLM: <\/p>\n<pre><code class=\"bash\">pip install vllm<\/code><\/pre>\n<p>\u0414\u0435\u043f\u043b\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 c vLLM:<\/p>\n<pre><code class=\"bash\">python3 -m vllm.entrypoints.openai.api_server --model MTSAIR\/Kodify-Nano --port 8985 --max-model-len 8192 --served-model-name kodify_nano<\/code><\/pre>\n<p>\u0418\u043b\u0438\u00a0\u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 Docker:<\/p>\n<pre><code class=\"bash\">docker run --gpus all \\   -p 8985:8000 \\   -v ~\/.cache\/huggingface:\/root\/.cache\/huggingface \\ vllm\/vllm-openai:latest \\   --model MTSAIR\/Kodify-Nano \\   --max-model-len 8192 \\   --served-model-name kodify_nano<\/code><\/pre>\n<p>\u0412\u043e\u00a0\u0432\u0440\u0435\u043c\u044f \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u0434\u043e\u0436\u0434\u0430\u0442\u044c, \u043f\u043e\u043a\u0430 \u0441\u043a\u0430\u0447\u0430\u044e\u0442\u0441\u044f \u0432\u0435\u0441\u0430 \u043c\u043e\u0434\u0435\u043b\u0438.<br \/>\u0413\u043e\u0442\u043e\u0432\u043e, \u0442\u0435\u043f\u0435\u0440\u044c \u0443\u00a0\u0412\u0430\u0441 \u0435\u0441\u0442\u044c \u0441\u0432\u043e\u044f \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f LLM, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0430\u044f \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e!<\/p>\n<details class=\"spoiler\">\n<summary>\u041f\u0440\u0438\u043c\u0435\u0440 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043a API \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 Python<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"python\">import openai  endpoint = 'http:\/\/localhost:8985\/v1'  model = \"MTSAIR\/Kodify-Nano\"  client = openai.OpenAI(base_url=endpoint, api_key=\"123\")  response = client.chat.completions.create(  \u00a0\u00a0\u00a0model=model,  \u00a0\u00a0\u00a0max_tokens=2048, # Use more if you have enough memory (or less if not)  \u00a0\u00a0\u00a0messages=[  \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{\"role\": \"user\", \"content\": \"\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Python \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u0432\u0441\u0435\u0445 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u043b\u043e\u0432 \u0432 \u0442\u0435\u043a\u0441\u0442\u0435.\"},  \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0]  \u00a0\u00a0\u00a0)  answer = response.choices[0].message.content  print(answer)<\/code><\/pre>\n<\/div>\n<\/details>\n<details class=\"spoiler\">\n<summary>\u041f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0447\u0435\u0440\u0435\u0437 transformers<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"python\">from transformers import pipeline  pipe = pipeline(\"text-generation\", model=\"MTSAIR\/Kodify-Nano\", device=\"cuda\")  messages = [ \u00a0\u00a0{\"role\": \"user\", \"content\": \"\u041d\u0430\u043f\u0438\u0448\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u0432\u0441\u0435\u0445 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u043b\u043e\u0432 \u0432 \u0442\u0435\u043a\u0441\u0442\u0435 \u043d\u0430 Python.\"}, ] \u00a0 res = pipe(messages, max_length=1024)  print(res[0]['generated_text'][-1][\u2018content\u2019])<\/code><\/pre>\n<\/div>\n<\/details>\n<p><strong>\u041e\u0446\u0435\u043d\u043a\u0430 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 <\/strong><\/p>\n<p>\u0412\u00a0\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f\u00a0\u043e\u0446\u0435\u043d\u043a\u0438 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0432\u0441\u0435 \u0447\u0430\u0449\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043c\u0435\u0442\u043e\u0434\u0438\u043a\u0430 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f Side\u2011by\u2011Side (SBS), \u0438\u043b\u0438 \u00ab\u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e\u0435 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435\u00bb \u0441\u00a0ChatGPT (gpt-3.5-turbo \u0438\u043b\u0438\u00a0gpt-4-turbo). \u0418 \u043d\u0430\u0448 \u0441\u043b\u0443\u0447\u0430\u0439 \u043d\u0435\u00a0\u0441\u0442\u0430\u043b \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c\u00a0\u2014 \u043c\u044b \u0442\u0430\u043a\u0436\u0435 \u0440\u0435\u0448\u0438\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u043f\u043e\u0434\u0445\u043e\u0434, \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u044f \u043d\u0430\u0448\u0443 \u043c\u043e\u0434\u0435\u043b\u044c \u0441\u00a0Github Copilot. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e\u00a0\u043d\u0430\u0448\u0435\u043c \u043f\u043e\u0434\u0445\u043e\u0434\u0435 \u043a\u00a0SBS \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u043b\u0438, \u043a\u043e\u0433\u0434\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u043b\u0438 Cotype Pro 2, \u0447\u0438\u0442\u0430\u0439\u0442\u0435 <a href=\"https:\/\/habr.com\/ru\/companies\/mts_ai\/articles\/892176\/\" rel=\"noopener noreferrer nofollow\">\u0442\u0443\u0442<\/a>. <\/p>\n<p>\u041c\u044b \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043c 2\u00a0\u0432\u0438\u0434\u0430 SBS\u2011\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f\u00a0\u043d\u0430\u0448\u0438\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439:<\/p>\n<p>1. \u0420\u0443\u0447\u043d\u0430\u044f \u043e\u0446\u0435\u043d\u043a\u0430 \u043a\u0432\u0430\u043b\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u0438 \u0418\u0418\u2011\u0442\u0440\u0435\u043d\u0435\u0440\u0430\u043c\u0438\u00a0\u2014 \u043b\u044e\u0434\u044c\u043c\u0438. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432\u00a0\u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0440\u0435\u0444\u0435\u0440\u0435\u043d\u0441\u043d\u043e\u0439 \u0434\u043b\u044f\u00a0\u043a\u0430\u043b\u0438\u0431\u0440\u043e\u0432\u043a\u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043e\u0446\u0435\u043d\u043a\u0438.<\/p>\n<p>2. \u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043e\u0446\u0435\u043d\u043a\u0430 \u043f\u0440\u0438\u00a0\u043f\u043e\u043c\u043e\u0449\u0438 \u043e\u0434\u043d\u043e\u0439 \u0438\u0437\u00a0\u043b\u0443\u0447\u0448\u0438\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043d\u0430\u00a0\u0440\u044b\u043d\u043a\u0435. \u041c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0434\u043b\u044f\u00a0\u0440\u0430\u0437\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447 GPT4o, GPT4.1, Claude Sonnet, Claude Opus, DeepSeek\u2011R1, Qwen 3.<\/p>\n<p><strong>\u0420\u0443\u0447\u043d\u0430\u044f \u043e\u0446\u0435\u043d\u043a\u0430<\/strong><\/p>\n<p>\u041c\u044b \u0434\u0435\u043b\u0430\u0435\u043c \u043c\u043e\u0434\u0435\u043b\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u043b\u044e\u0434\u0438, \u0438, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043d\u0435\u00a0\u043c\u043e\u0436\u0435\u043c \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0434\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043e\u0446\u0435\u043d\u043a\u0443 LLM, \u043a\u0430\u043a\u0438\u043c\u0438\u00a0\u0431\u044b \u0445\u043e\u0440\u043e\u0448\u0438\u043c\u0438 \u043e\u043d\u0438 \u043d\u0435\u00a0\u0431\u044b\u043b\u0438. \u041e\u0446\u0435\u043d\u043a\u0443, \u0441\u0434\u0435\u043b\u0430\u043d\u043d\u0443\u044e \u043b\u044e\u0434\u044c\u043c\u0438, \u043c\u044b \u0441\u0447\u0438\u0442\u0430\u0435\u043c \u044d\u0442\u0430\u043b\u043e\u043d\u043e\u043c \u0438 \u043f\u043e\u0434\u0431\u0438\u0440\u0430\u0435\u043c \u043c\u043e\u0434\u0435\u043b\u0438, \u043f\u0440\u043e\u043c\u043f\u0442\u044b, \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0438 \u043c\u0435\u0442\u043e\u0434\u0438\u043a\u0443 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043e\u0446\u0435\u043d\u043a\u0438 \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u0435\u0451 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043a\u043e\u0440\u0440\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0441\u00a0\u0440\u0443\u0447\u043d\u043e\u0439. \u0412\u0430\u0436\u043d\u043e, \u0447\u0442\u043e\u00a0\u0418\u0418\u2011\u0442\u0440\u0435\u043d\u0435\u0440\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u044e\u0442 \u0437\u0434\u0435\u0441\u044c \u0432\u00a0\u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0441\u0443\u0434\u0435\u0439, \u043f\u043e\u043b\u0443\u0447\u0430\u044e\u0442 \u043e\u0431\u0435\u0437\u043b\u0438\u0447\u0435\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435, \u0438 \u043d\u0435\u00a0\u0437\u043d\u0430\u044e\u0442, \u043e\u0442\u0432\u0435\u0442\u044b \u043e\u0442\u00a0\u043a\u0430\u043a\u0438\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043e\u043d\u0438 \u043e\u0446\u0435\u043d\u0438\u0432\u0430\u044e\u0442. \u0412\u00a0\u043a\u0430\u0436\u0434\u043e\u0439 \u043f\u0430\u0440\u0435 \u043e\u0442\u0432\u0435\u0442\u043e\u0432, \u043c\u043e\u0434\u0435\u043b\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043a\u0440\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043f\u043e\u0434\u00a0\u043f\u0441\u0435\u0432\u0434\u043e\u043d\u0438\u043c\u0430\u043c\u0438 \u00ab\u043c\u043e\u0434\u0435\u043b\u044c \u0410\u00bb \u0438 \u00ab\u043c\u043e\u0434\u0435\u043b\u044c B\u00bb \u0432\u044b\u0431\u0438\u0440\u0430\u044e\u0442\u0441\u044f \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e, \u044d\u0442\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u043b\u044f\u00a0\u043e\u0431\u044a\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438 \u043e\u0446\u0435\u043d\u043a\u0438.<\/p>\n<p><strong>\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043e\u0446\u0435\u043d\u043a\u0430<\/strong><\/p>\n<p>\u0412\u00a0\u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043d\u0430\u0431\u043e\u0440\u0430 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 2500\u00a0\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u043a\u043b\u044e\u0447\u0430\u043b\u0438 \u0437\u0430\u0434\u0430\u0447\u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 (Docstrings, documentation comments) \u043a\u00a0\u0444\u0443\u043d\u043a\u0446\u0438\u0438, unit\u2011\u0442\u0435\u0441\u0442\u043e\u0432, \u0430\u00a0\u0442\u0430\u043a\u0436\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043a\u043e\u0434\u0430 \u043f\u043e\u00a0\u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u043c\u0443 \u0437\u0430\u043f\u0440\u043e\u0441\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f. \u0412\u00a0\u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u0441\u0435\u0442 \u0432\u0445\u043e\u0434\u0438\u0442 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0437\u0430\u0434\u0430\u0447 \u043f\u043e\u00a0\u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u0438\u0437 5\u00a0\u043d\u0430\u0448\u0438\u0445 \u0446\u0435\u043b\u0435\u0432\u044b\u0445 \u044f\u0437\u044b\u043a\u043e\u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u044d\u0442\u043e Python, Java, JavaScript, C# \u0438 Go, \u0432\u00a0\u0437\u0430\u0434\u0430\u0447\u0430\u0445 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0442\u0430\u043a\u00a0\u0436\u0435\u00a0\u2014 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0437\u0430\u0434\u0430\u0447 \u043d\u0430\u00a0\u0440\u0443\u0441\u0441\u043a\u043e\u043c \u0438 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u043e\u043c \u044f\u0437\u044b\u043a\u0430\u0445. \u0417\u0430\u0434\u0430\u0447, \u0433\u0434\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u0435\u043a\u0441\u0442 \u043d\u0430\u00a0\u0440\u0443\u0441\u0441\u043a\u043e\u043c, \u0432\u00a0\u043d\u0430\u0431\u043e\u0440\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 20%, \u043d\u0430\u00a0\u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u043e\u043c\u00a0\u2014 \u0442\u043e\u0436\u0435 20%, \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435\u00a0\u2014 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u043a\u043e\u0434\u0430. \u041d\u0430\u00a0\u043a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 2500\u00a0\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043e\u0442\u0432\u0435\u0442\u044b \u043e\u0442\u00a0\u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0438 Github Copilot.<\/p>\n<p>\u0414\u043b\u044f\u00a0\u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u043c\u043f\u0442 \u0434\u043b\u044f\u00a0\u043c\u043e\u0434\u0435\u043b\u0438\u2011\u0441\u0443\u0434\u044c\u0438, \u0432\u00a0\u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u044b \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u0438 \u0438 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0438\u0442\u043e\u0433\u043e\u0432\u0443\u044e \u043e\u0446\u0435\u043d\u043a\u0443 \u0438\u043b\u0438 \u00ab\u043f\u043e\u0431\u0435\u0434\u0438\u0442\u0435\u043b\u044f\u00bb \u0432\u00a0\u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0438 \u043f\u0430\u0440\u044b \u043e\u0442\u0432\u0435\u0442\u043e\u0432. <\/p>\n<details class=\"spoiler\">\n<summary>\u0423\u043f\u0440\u043e\u0449\u0435\u043d\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u0442\u0430\u043a\u043e\u0433\u043e \u043f\u0440\u043e\u043c\u043f\u0442\u0430 (\u043f\u0435\u0440\u0435\u0432\u043e\u0434)<\/summary>\n<div class=\"spoiler__content\">\n<p>\u00ab\u0422\u0432\u043e\u044f \u0437\u0430\u0434\u0430\u0447\u0430\u00a0\u2014 \u0432\u044b\u0441\u0442\u0443\u043f\u0438\u0442\u044c \u0432\u00a0\u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0438 \u0441\u0442\u0440\u043e\u0433\u043e\u0433\u043e \u0441\u0443\u0434\u044c\u0438, \u043e\u0446\u0435\u043d\u0438\u0432\u0430\u044f \u043e\u0442\u0432\u0435\u0442\u044b \u0434\u0432\u0443\u0445 \u0418\u0418\u2011\u043f\u043e\u043c\u043e\u0449\u043d\u0438\u043a\u043e\u0432 \u043f\u043e\u00a0\u043a\u043e\u0434\u0443 \u043d\u0430\u00a0\u0437\u0430\u043f\u0440\u043e\u0441 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f (\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0430). \u0412\u044b\u044f\u0432\u0438 \u0438 \u0438\u0441\u043f\u0440\u0430\u0432\u044c \u043b\u044e\u0431\u044b\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 \u0432\u00a0\u043a\u043e\u0434\u0435. \u0412\u044b\u0431\u0435\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u043d\u0438\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043b\u0443\u0447\u0448\u0435 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u043d\u0430\u00a0\u0432\u043e\u043f\u0440\u043e\u0441 \u0431\u043e\u043b\u0435\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e. \u0422\u0432\u043e\u044f \u043e\u0446\u0435\u043d\u043a\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u0442\u0430\u043a\u0438\u0435 \u0444\u0430\u043a\u0442\u043e\u0440\u044b, \u043a\u0430\u043a\u00a0\u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0441\u0442\u044c, \u0440\u0435\u043b\u0435\u0432\u0430\u043d\u0442\u043d\u043e\u0441\u0442\u044c, \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c, \u0433\u043b\u0443\u0431\u0438\u043d\u0430, \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u043e\u0448\u0438\u0431\u043e\u043a \u0432\u00a0\u043a\u043e\u0434\u0435, \u0441\u0442\u0438\u043b\u044c \u043a\u043e\u0434\u0430.<\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u044f\u0441\u043d\u0435\u043d\u0438\u044f \u0432\u044b\u0432\u0435\u0434\u0438 \u0434\u0432\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f: 0\u00a0\u0438\u043b\u0438 1, \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0435 \u0431\u0430\u043b\u043b\u044b \u0434\u043b\u044f\u00a0\u043f\u043e\u043c\u043e\u0449\u043d\u0438\u043a\u043e\u0432 \u0410\u00a0\u0438 B, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043f\u043e\u00a0\u043f\u0440\u0430\u0432\u0438\u043b\u0443: \u0435\u0441\u043b\u0438 \u043e\u0434\u0438\u043d \u043e\u0442\u0432\u0435\u0442 \u043d\u0430\u043c\u043d\u043e\u0433\u043e \u043b\u0443\u0447\u0448\u0435 \u0434\u0440\u0443\u0433\u043e\u0433\u043e, \u0442\u043e \u043b\u0443\u0447\u0448\u0438\u0439 \u043e\u0442\u0432\u0435\u0442\u00a0\u2014 1, \u0430\u00a0\u0445\u0443\u0434\u0448\u0438\u0439\u00a0\u2014 0, \u0435\u0441\u043b\u0438 \u043e\u0442\u0432\u0435\u0442\u044b \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e \u0445\u043e\u0440\u043e\u0448\u0438\u00a0\u2014 \u043e\u0431\u0430 1, \u0435\u0441\u043b\u0438 \u043e\u0442\u0432\u0435\u0442\u044b \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e \u043f\u043b\u043e\u0445\u0438\u00a0\u2014 \u043e\u0431\u0430 0.<\/p>\n<p>\u0412\u044b\u0432\u0435\u0434\u0438 \u0441\u0432\u043e\u0439 \u043e\u043a\u043e\u043d\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0432\u0435\u0440\u0434\u0438\u043a\u0442, \u0441\u0442\u0440\u043e\u0433\u043e \u0441\u043b\u0435\u0434\u0443\u044f \u044d\u0442\u043e\u043c\u0443 \u0444\u043e\u0440\u043c\u0430\u0442\u0443: [[{{\u041e\u0446\u0435\u043d\u043a\u0430 \u043f\u043e\u043c\u043e\u0449\u043d\u0438\u043a\u0430 \u0410}} {{\u041e\u0446\u0435\u043d\u043a\u0430 \u043f\u043e\u043c\u043e\u0449\u043d\u0438\u043a\u0430 B}}]]<\/p>\n<p>[\u041d\u0430\u0447\u0430\u043b\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f]<\/p>\n<p>&lt;&lt;\u0421\u044e\u0434\u0430 \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0442\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f&gt;&gt;<\/p>\n<p>[\u041a\u043e\u043d\u0435\u0446 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f]<\/p>\n<p>[\u041d\u0430\u0447\u0430\u043b\u043e \u043e\u0442\u0432\u0435\u0442\u0430 \u0430\u0441\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u0430 \u0410]<\/p>\n<p>&lt;&lt;\u0421\u044e\u0434\u0430 \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0442\u0435\u043a\u0441\u0442 \u043e\u0442\u0432\u0435\u0442\u0430 \u0430\u0441\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u0430 \u0410&gt;&gt;<\/p>\n<p>[\u041a\u043e\u043d\u0435\u0446 \u043e\u0442\u0432\u0435\u0442\u0430 \u0430\u0441\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u0430 \u0410]<\/p>\n<p>[\u041d\u0430\u0447\u0430\u043b\u043e \u043e\u0442\u0432\u0435\u0442\u0430 \u0430\u0441\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u0430 B]<\/p>\n<p>&lt;&lt;\u0421\u044e\u0434\u0430 \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0442\u0435\u043a\u0441\u0442 \u043e\u0442\u0432\u0435\u0442\u0430 \u0430\u0441\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u0430 B&gt;&gt;<\/p>\n<p>[\u041a\u043e\u043d\u0435\u0446 \u043e\u0442\u0432\u0435\u0442\u0430 \u0430\u0441\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u0430 B]\u00bb<\/p>\n<\/div>\n<\/details>\n<p>\u041c\u043e\u0434\u0435\u043b\u044c\u2011\u043e\u0446\u0435\u043d\u0449\u0438\u043a (\u0441\u0443\u0434\u044c\u044f) \u043f\u0440\u043e\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u0442 \u043f\u0430\u0440\u044b \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0438 \u0440\u0435\u0448\u0430\u0435\u0442, \u043a\u0430\u043a\u043e\u0439 \u0438\u0437\u00a0\u043d\u0438\u0445 \u043b\u0443\u0447\u0448\u0435. \u0418\u0437\u2011\u0437\u0430 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u00a0\u043c\u043e\u0434\u0435\u043b\u0438 \u0447\u0430\u0441\u0442\u043e \u0441\u043a\u043b\u043e\u043d\u043d\u044b \u0432\u044b\u0431\u0438\u0440\u0430\u0442\u044c \u043e\u0442\u0432\u0435\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0434\u0451\u0442 \u043f\u0435\u0440\u0432\u044b\u043c, \u043c\u044b \u0434\u0435\u043b\u0430\u0435\u043c \u0434\u0432\u043e\u0439\u043d\u0443\u044e \u043e\u0446\u0435\u043d\u043a\u0443: \u043c\u0435\u043d\u044f\u0435\u043c \u043e\u0442\u0432\u0435\u0442\u044b \u0410\u00a0\u0438 B \u043c\u0435\u0441\u0442\u0430\u043c\u0438 \u0438 \u043e\u0442\u0434\u0430\u0435\u043c \u00ab\u0441\u0443\u0434\u044c\u0435\u00bb \u0441\u043d\u043e\u0432\u0430. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c 5000\u00a0\u0432\u0435\u0440\u0434\u0438\u043a\u0442\u043e\u0432 \u0434\u043b\u044f 2500\u00a0\u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432.<\/p>\n<p>\u041f\u043e\u00a0\u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u0438\u0437\u00a0\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0439 \u043e\u0446\u0435\u043d\u043a\u0438 (\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f, \u0442\u0435\u0441\u0442\u044b \u0438 \u043a\u043e\u0434\u043e\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f) \u043c\u044b \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u043c \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u0434\u043e\u043b\u0438 \u00ab\u0445\u043e\u0440\u043e\u0448\u0438\u0445\u00bb \u043e\u0442\u0432\u0435\u0442\u043e\u0432, \u0442\u043e \u0435\u0441\u0442\u044c, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c, \u0441\u0440\u0435\u0434\u0438 \u0432\u0441\u0435\u0445 \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u043e\u0442\u00a0\u0434\u0432\u0443\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u00ab\u043f\u043e\u043d\u0440\u0430\u0432\u0438\u043b\u0438\u0441\u044c \u0441\u0443\u0434\u044c\u0435\u00bb, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0438\u0442 \u0442\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c\u043e\u0439 \u043d\u0430\u043c\u0438 \u043c\u043e\u0434\u0435\u043b\u0438. \u0424\u043e\u0440\u043c\u0443\u043b\u0430:<\/p>\n<p><img decoding=\"async\" class=\"formula inline\" source=\"\u041c = (winA + winTIE) \/ (winA + winTIE * 2 + winB)\" alt=\"\u041c = (winA + winTIE) \/ (winA + winTIE * 2 + winB)\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/408\/7ed\/d99\/4087edd99f8dcc5df9a6ecdf0af34c19.svg\" width=\"494\" height=\"28\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/408\/7ed\/d99\/4087edd99f8dcc5df9a6ecdf0af34c19.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/408\/7ed\/d99\/4087edd99f8dcc5df9a6ecdf0af34c19.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u0433\u0434\u0435:<\/p>\n<p><img decoding=\"async\" class=\"formula inline\" source=\"winA\" alt=\"winA\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/4cc\/7c1\/e88\/4cc7c1e887229b372840de7186461ba6.svg\" width=\"50\" height=\"18\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/4cc\/7c1\/e88\/4cc7c1e887229b372840de7186461ba6.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/4cc\/7c1\/e88\/4cc7c1e887229b372840de7186461ba6.svg 781w\" loading=\"lazy\" decode=\"async\"\/>\u2014 \u0447\u0438\u0441\u043b\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0439, \u0433\u0434\u0435 \u043f\u043e\u0431\u0435\u0434\u0438\u043b\u0430 \u043c\u043e\u0434\u0435\u043b\u044c \u0410 (\u0432\u0435\u0440\u0434\u0438\u043a\u0442 \u0441\u0443\u0434\u044c\u0438 [[1 0]])<\/p>\n<p><img decoding=\"async\" class=\"formula inline\" source=\"winB\" alt=\"winB\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/804\/b43\/c99\/804b43c99e592e24f0e4da8143e705c0.svg\" width=\"50\" height=\"18\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/804\/b43\/c99\/804b43c99e592e24f0e4da8143e705c0.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/804\/b43\/c99\/804b43c99e592e24f0e4da8143e705c0.svg 781w\" loading=\"lazy\" decode=\"async\"\/>\u2014 \u0447\u0438\u0441\u043b\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0439, \u0433\u0434\u0435 \u043f\u043e\u0431\u0435\u0434\u0438\u043b\u0430 \u043c\u043e\u0434\u0435\u043b\u044c B (\u0432\u0435\u0440\u0434\u0438\u043a\u0442 \u0441\u0443\u0434\u044c\u0438 [[0 1]])<\/p>\n<p><img decoding=\"async\" class=\"formula inline\" source=\"winTIE\" alt=\"winTIE\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/5ee\/72d\/1ff\/5ee72d1ff003d44826fb9dc5d61c2eff.svg\" width=\"76\" height=\"18\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/5ee\/72d\/1ff\/5ee72d1ff003d44826fb9dc5d61c2eff.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/5ee\/72d\/1ff\/5ee72d1ff003d44826fb9dc5d61c2eff.svg 781w\" loading=\"lazy\" decode=\"async\"\/>\u2014 \u0447\u0438\u0441\u043b\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0439, \u0433\u0434\u0435 \u043e\u0442\u0432\u0435\u0442\u044b \u043e\u043a\u0430\u0437\u0430\u043b\u0438\u0441\u044c \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e \u0445\u043e\u0440\u043e\u0448\u0438\u043c\u0438 (\u0432\u0435\u0440\u0434\u0438\u043a\u0442 \u0441\u0443\u0434\u044c\u0438 [[1 1]]).<\/p>\n<p><img decoding=\"async\" class=\"formula inline\" source=\"loseTIE\" alt=\"loseTIE\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/5ed\/4bb\/b9e\/5ed4bbb9ee5cc867bd081f6cd77723ea.svg\" width=\"77\" height=\"18\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/5ed\/4bb\/b9e\/5ed4bbb9ee5cc867bd081f6cd77723ea.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/5ed\/4bb\/b9e\/5ed4bbb9ee5cc867bd081f6cd77723ea.svg 781w\" loading=\"lazy\" decode=\"async\"\/>\u2014 \u0447\u0438\u0441\u043b\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0439, \u0433\u0434\u0435 \u043e\u0442\u0432\u0435\u0442\u044b \u043e\u043a\u0430\u0437\u0430\u043b\u0438\u0441\u044c \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e \u043f\u043b\u043e\u0445\u0438\u043c\u0438 (\u0432\u0435\u0440\u0434\u0438\u043a\u0442 \u0441\u0443\u0434\u044c\u0438 [[0 0]]).<\/p>\n<p>\u041f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 \u0442\u0430\u043a\u043e\u0439 \u043c\u0435\u0442\u0440\u0438\u043a\u0438:<\/p>\n<ol>\n<li>\n<p>\u041e\u043d\u0430 \u043d\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0430, \u0432\u0441\u0435\u0433\u0434\u0430 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432\u00a0\u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 \u043e\u0442 0\u00a0\u0434\u043e 1, \u0433\u0434\u0435 0\u00a0\u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0445\u0443\u0434\u0448\u0435\u043c\u0443 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0443, \u0430 1\u00a0\u2014 \u043b\u0443\u0447\u0448\u0435\u043c\u0443, \u0434\u043b\u044f\u00a0\u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0440\u0430\u0432\u043d\u0430 0.5.<\/p>\n<\/li>\n<li>\n<p>\u0418\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0438\u0440\u0443\u0435\u043c\u0430\u00a0\u2014 \u044d\u0442\u043e \u0434\u043e\u043b\u044f \u0445\u043e\u0440\u043e\u0448\u0438\u0445 \u0438\u043b\u0438\u00a0\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0445 \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u043e\u0434\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u0441\u0440\u0435\u0434\u0438 \u0432\u0441\u0435\u0445 \u0445\u043e\u0440\u043e\u0448\u0438\u0445 \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u043e\u0431\u0435\u0438\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439.<\/p>\n<\/li>\n<li>\n<p>\u0421\u0443\u043c\u043c\u0430 \u043c\u0435\u0442\u0440\u0438\u043a \u0434\u043b\u044f\u00a0\u0434\u0432\u0443\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0432\u00a0\u043e\u0434\u043d\u043e\u043c \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0440\u0430\u0432\u043d\u0430 1.<\/p>\n<\/li>\n<li>\n<p>\u0410\u00a0\u0433\u043b\u0430\u0432\u043d\u043e\u0435\u00a0\u2014 \u044d\u0442\u043e \u043e\u0434\u043d\u043e \u0447\u0438\u0441\u043b\u043e \u0432\u043c\u0435\u0441\u0442\u043e \u0447\u0435\u0442\u044b\u0440\u0451\u0445.<\/p>\n<\/li>\n<\/ol>\n<h2>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0442\u0435\u0441\u0442\u043e\u0432<\/h2>\n<p>\u041c\u044b \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u0438 Side\u2011by\u2011Side (SBS) Kodify Nano \u0438 Kodify 2\u00a0\u043f\u0440\u043e\u0442\u0438\u0432 GitHub Copilot Chat* \u0441\u00a0\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c GPT-4o \u0432\u00a0\u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043c\u043e\u0434\u0435\u043b\u0438\u2011\u0441\u0443\u0434\u044c\u0438 (\u0438\u043c\u0435\u0435\u043c \u0432\u00a0\u0432\u0438\u0434\u0443, \u043e\u043d\u0430\u00a0\u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432\u00a0GitHub Copilot Chat v0.21, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u043e\u0436\u0435\u0442 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0437\u0430\u043d\u0438\u0436\u0430\u0442\u044c \u043e\u0446\u0435\u043d\u043a\u0438 \u043c\u043e\u0434\u0435\u043b\u0435\u0439, \u043d\u0435\u00a0\u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0449\u0438\u0445 OpenAI). <\/p>\n<p><em>*\u041f\u0440\u0438\u043c\u0435\u043d\u044f\u043b\u0438 \u0432\u0435\u0440\u0441\u0438\u044e \u043f\u043b\u0430\u0433\u0438\u043d\u0430 \u0434\u043b\u044f\u00a0VS Code GitHub Copilot Chat v0.21.2\u00a0024\u00a0090\u00a0602\u00a0(pre\u2011release, \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c 2024\u00a0\u0433\u043e\u0434\u0430), \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0443\u044e \u043c\u043e\u0434\u0435\u043b\u044c GPT-4o, \u0431\u0435\u0437\u00a0RAG \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043f\u043b\u0430\u0433\u0438\u043d\u0430.<\/em><\/p>\n<p>\u041a\u0430\u043a\u00a0\u0432\u0438\u0434\u0438\u043c \u0438\u0437\u00a0\u0433\u0440\u0430\u0444\u0438\u043a\u0430 \u043d\u0438\u0436\u0435, \u043d\u0430\u0448\u0438 \u043c\u043e\u0434\u0435\u043b\u0438 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u0435\u0435 \u0441\u043f\u0440\u0430\u0432\u0438\u043b\u0438\u0441\u044c \u0441\u00a0\u0437\u0430\u0434\u0430\u0447\u0430\u043c\u0438 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u043b\u0435\u0432\u0430\u043d\u0442\u043d\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u0434\u043b\u044f\u00a0\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u043f\u043e\u00a0\u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441\u00a0\u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c\u0438 \u043c\u043e\u0434\u0435\u043b\u044f\u043c\u0438 \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u0438\u043c\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/2e5\/3c2\/50b\/2e53c250b50a1c8a09e15060703ab037.png\" alt=\"\u0414\u043e\u043b\u044f \u00ab\u0445\u043e\u0440\u043e\u0448\u0438\u0445\u00bb \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0432 SBS-\u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0438 \u0441 GitHub Copilot Chat (GPT4-o \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043c\u043e\u0434\u0435\u043b\u0438-\u0441\u0443\u0434\u044c\u0438). \u00ab\u0425\u043e\u0440\u043e\u0448\u0438\u0435\u00bb \u043e\u0442\u0432\u0435\u0442\u044b \u2013 \u044d\u0442\u043e \u043e\u0442\u0432\u0435\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0443\u0434\u044c\u044f \u043f\u043e\u043c\u0435\u0442\u0438\u043b \u043a\u0430\u043a \u00ab\u041e\u0442\u0432\u0435\u0442 \u043c\u043e\u0434\u0435\u043b\u0438 X \u043b\u0443\u0447\u0448\u0435\u00bb \u0438\u043b\u0438 \u00ab\u041e\u0431\u0430 \u043e\u0442\u0432\u0435\u0442\u0430 \u0445\u043e\u0440\u043e\u0448\u0438\u0435\u00bb.\" title=\"\u0414\u043e\u043b\u044f \u00ab\u0445\u043e\u0440\u043e\u0448\u0438\u0445\u00bb \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0432 SBS-\u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0438 \u0441 GitHub Copilot Chat (GPT4-o \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043c\u043e\u0434\u0435\u043b\u0438-\u0441\u0443\u0434\u044c\u0438). \u00ab\u0425\u043e\u0440\u043e\u0448\u0438\u0435\u00bb \u043e\u0442\u0432\u0435\u0442\u044b \u2013 \u044d\u0442\u043e \u043e\u0442\u0432\u0435\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0443\u0434\u044c\u044f \u043f\u043e\u043c\u0435\u0442\u0438\u043b \u043a\u0430\u043a \u00ab\u041e\u0442\u0432\u0435\u0442 \u043c\u043e\u0434\u0435\u043b\u0438 X \u043b\u0443\u0447\u0448\u0435\u00bb \u0438\u043b\u0438 \u00ab\u041e\u0431\u0430 \u043e\u0442\u0432\u0435\u0442\u0430 \u0445\u043e\u0440\u043e\u0448\u0438\u0435\u00bb.\" width=\"1045\" height=\"854\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/2e5\/3c2\/50b\/2e53c250b50a1c8a09e15060703ab037.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/2e5\/3c2\/50b\/2e53c250b50a1c8a09e15060703ab037.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0414\u043e\u043b\u044f \u00ab\u0445\u043e\u0440\u043e\u0448\u0438\u0445\u00bb \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0432\u00a0SBS\u2011\u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0438 \u0441\u00a0GitHub Copilot Chat (GPT4-o \u0432\u00a0\u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043c\u043e\u0434\u0435\u043b\u0438\u2011\u0441\u0443\u0434\u044c\u0438). \u00ab\u0425\u043e\u0440\u043e\u0448\u0438\u0435\u00bb \u043e\u0442\u0432\u0435\u0442\u044b\u00a0\u2014 \u044d\u0442\u043e \u043e\u0442\u0432\u0435\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0443\u0434\u044c\u044f \u043f\u043e\u043c\u0435\u0442\u0438\u043b \u043a\u0430\u043a \u00ab\u041e\u0442\u0432\u0435\u0442 \u043c\u043e\u0434\u0435\u043b\u0438 X \u043b\u0443\u0447\u0448\u0435\u00bb \u0438\u043b\u0438 \u00ab\u041e\u0431\u0430 \u043e\u0442\u0432\u0435\u0442\u0430 \u0445\u043e\u0440\u043e\u0448\u0438\u0435\u00bb.<\/figcaption><\/div>\n<\/figure>\n<p><strong>\u0418\u0442\u043e\u0433:<\/strong><\/p>\n<p>\u041c\u0430\u043b\u044b\u0435 LLM \u0441\u043e \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u043c \u043d\u0430\u0431\u043e\u0440\u043e\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0438\u043c\u0435\u044e\u0442 \u0446\u0435\u043b\u044b\u0439 \u0440\u044f\u0434 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432 \u0438 \u043f\u0440\u0438\u00a0\u0434\u043e\u043b\u0436\u043d\u043e\u043c \u043f\u043e\u0434\u0445\u043e\u0434\u0435 \u043a\u00a0\u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044e \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u043c\u043e\u0433\u0443\u0442 \u0432\u044b\u0434\u0430\u0432\u0430\u0442\u044c \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043e\u0442\u0432\u0435\u0442\u044b. \u0412\u043e\u0442 \u0441\u0430\u043c\u043c\u0430\u0440\u0438 \u0441\u0438\u043b\u044c\u043d\u044b\u0445 \u0441\u0442\u043e\u0440\u043e\u043d \u043d\u0430\u0448\u0438\u0445 \u043d\u043e\u0432\u044b\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 Kodify:<\/p>\n<ul>\n<li>\n<p>\u041a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u043e\u0441\u0442\u044c. \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u043c\u0443 \u0440\u0430\u0437\u043c\u0435\u0440\u0443 \u043c\u043e\u0434\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u0430\u00a0\u0448\u0438\u0440\u043e\u043a\u043e\u043c \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432. \u041a\u0432\u0430\u043d\u0442\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 Kodify Nano \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0432\u0441\u0435\u0433\u043e 1\u0413\u0431 \u043f\u0430\u043c\u044f\u0442\u0438.<\/p>\n<\/li>\n<li>\n<p>\u0412\u044b\u0441\u043e\u043a\u043e\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e. \u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430\u00a0\u0440\u0430\u0437\u043c\u0435\u0440, \u043c\u043e\u0434\u0435\u043b\u0438 \u043f\u0440\u0435\u0432\u043e\u0441\u0445\u043e\u0434\u044f\u0442 \u043c\u043d\u043e\u0433\u0438\u0435 \u043a\u0440\u0443\u043f\u043d\u044b\u0435 \u0430\u043d\u0430\u043b\u043e\u0433\u0438 \u0432\u00a0\u0437\u0430\u0434\u0430\u0447\u0430\u0445 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043a\u043e\u0434\u0430, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u044d\u0442\u043e \u043a\u0430\u0441\u0430\u0435\u0442\u0441\u044f Kodify 2.<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c. \u0414\u0430\u0436\u0435 \u043d\u0430\u00a0\u0441\u043b\u0430\u0431\u043e\u043c \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0438 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0442 \u043f\u0440\u0438\u0435\u043c\u043b\u0435\u043c\u0443\u044e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043e\u0442\u0432\u0435\u0442\u0430 \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u043c\u0443 \u0440\u0430\u0437\u043c\u0435\u0440\u0443.<\/p>\n<\/li>\n<li>\n<p>\u042d\u043d\u0435\u0440\u0433\u043e\u0441\u0431\u0435\u0440\u0435\u0436\u0435\u043d\u0438\u0435. \u041c\u0435\u043d\u044c\u0448\u0435\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0432\u0435\u0434\u0435\u0442 \u043a\u00a0\u0441\u043d\u0438\u0436\u0435\u043d\u0438\u044e \u044d\u043d\u0435\u0440\u0433\u043e\u0437\u0430\u0442\u0440\u0430\u0442 \u0438 \u0443\u0434\u043b\u0438\u043d\u0435\u043d\u0438\u044e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432.<\/p>\n<\/li>\n<li>\n<p>\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0432\u044b\u0431\u043e\u0440\u0430 \u043c\u0435\u0436\u0434\u0443 \u043e\u043f\u0435\u043d\u0441\u043e\u0440\u0441\u043d\u044b\u043c \u043f\u043e\u043c\u043e\u0449\u043d\u0438\u043a\u043e\u043c Kodify Nano \u0438 \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u043c Kodify 2. <\/p>\n<\/li>\n<\/ul>\n<p>\u0423\u00a0\u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430 \u0441\u0432\u043e\u0438 \u043f\u043b\u044e\u0441\u044b. Kodify 2\u00a0\u2014 \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c, \u043d\u0435\u00a0\u0443\u0441\u0442\u0443\u043f\u0430\u044e\u0449\u0430\u044f \u043c\u0438\u0440\u043e\u0432\u044b\u043c\u00a0\u043b\u0438\u0434\u0435\u0440\u0430\u043c, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043c\u043e\u0436\u0435\u0442\u00a0\u0431\u044b\u0442\u044c \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u0430 \u0432\u00a0\u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u043c \u043a\u043e\u043d\u0442\u0443\u0440\u0435. \u042d\u0442\u043e \u0438\u0441\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0443\u0442\u0435\u0447\u043a\u0443 \u043a\u043e\u0434\u0430 \u0438 \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u0430\u00a0\u0435\u0449\u0435 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u043e\u0441\u0442\u044c \u0438 \u043d\u0438\u0437\u043a\u0438\u0435 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0438 \u043f\u0440\u0438\u00a0\u0440\u0430\u0431\u043e\u0442\u0435. \u0410\u00a0\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 Kodify Nano \u0441\u043f\u043e\u0441\u043e\u0431\u0441\u0442\u0432\u0443\u0435\u0442 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u044e \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430 \u0438 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u044b\u043c \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f\u043c. \u041c\u044b \u0432\u0435\u0440\u0438\u043c, \u0447\u0442\u043e\u00a0\u044d\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u0442 \u043a\u00a0\u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044e \u0435\u0449\u0435 \u0431\u043e\u043b\u0435\u0435 \u043c\u043e\u0449\u043d\u044b\u0445 \u0438 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0432\u00a0\u0431\u0443\u0434\u0443\u0449\u0435\u043c. <\/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\/914938\/\"> https:\/\/habr.com\/ru\/articles\/914938\/<\/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\"><\/figure>\n<p>\u0412\u00a0\u043f\u0440\u043e\u0448\u043b\u043e\u043c \u0433\u043e\u0434\u0443 \u043c\u044b \u0443\u0436\u0435 <a href=\"https:\/\/habr.com\/ru\/companies\/ru_mts\/articles\/821803\/\" rel=\"noopener noreferrer nofollow\">\u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u043b\u0438<\/a>, \u043a\u0430\u043a\u00a0\u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b\u0438 \u043d\u0430\u0448\u0435\u0433\u043e \u043f\u043e\u043c\u043e\u0449\u043d\u0438\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0430 Kodify. \u041d\u0435\u00a0\u043f\u0440\u043e\u0448\u043b\u043e \u0438 \u0433\u043e\u0434\u0430, \u0438 \u043c\u044b <a href=\"https:\/\/mts.ai\/ru\/tehnologii\/mts-ai-vyvodit-na-rynok-novogo-ii-assistenta-dlya-razrabotchikov\/\" rel=\"noopener noreferrer nofollow\">\u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0438<\/a> \u0432\u0430\u043c \u043d\u043e\u0432\u0443\u044e \u0435\u0433\u043e \u0432\u0435\u0440\u0441\u0438\u044e\u00a0\u2014 Kodify 2. \u0410\u00a0\u0431\u0443\u043a\u0432\u0430\u043b\u044c\u043d\u043e \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u043e\u0431\u044a\u044f\u0432\u0438\u043b\u0438 \u043e\u00a0\u0432\u044b\u043f\u0443\u0441\u043a\u0435 \u043e\u043f\u0435\u043d\u0441\u043e\u0440\u0441\u043d\u043e\u0439\u00a0\u2014 Kodify Nano. Kodify 2\u00a0\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f\u00a0\u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0445 \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u043e\u0432, \u0430\u00a0Kodify Nano \u043c\u044b \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c\u00a0\u2014 \u0432\u044b\u043b\u043e\u0436\u0438\u043b\u0438 \u043d\u0430 <a href=\"https:\/\/huggingface.co\/collections\/MTSAIR\/kodify-nano-683792bf45443fd2fa935396\" rel=\"noopener noreferrer nofollow\">Hugging Face<\/a>. <\/p>\n<p>\u041a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e \u0434\u043b\u044f\u00a0\u043e\u0431\u0435\u0438\u0445 \u044d\u0442\u0438\u0445 \u0432\u0435\u0440\u0441\u0438\u0439\u00a0\u2014 \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u043e\u0441\u0442\u044c. \u0412\u00a0\u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u043c \u043d\u0430\u00a0\u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u043c \u043e\u0442\u043e\u0432\u0441\u044e\u0434\u0443 \u043f\u0440\u0438\u043b\u0435\u0442\u0430\u043b \u043f\u0440\u0438\u00a0\u0437\u0430\u043f\u0443\u0441\u043a\u0435 Kodify: \u041f\u043e\u0447\u0435\u043c\u0443 \u043c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u043f\u043e\u0439\u0442\u0438 \u043f\u0440\u043e\u0442\u0438\u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u044f \u0438 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u00ab\u043b\u0435\u0433\u043a\u0438\u0445\u00bb \u0418\u0418\u2011\u043f\u043e\u043c\u043e\u0449\u043d\u0438\u043a\u043e\u0432 \u0434\u043b\u044f\u00a0\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432? \u0422\u0430\u043a\u0436\u0435 \u0432\u044b \u0443\u0437\u043d\u0430\u0435\u0442\u0435, \u043a\u0430\u043a\u00a0\u043c\u044b \u0438\u0445 \u0443\u0447\u0438\u043b\u0438, \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u0438 \u0441\u043f\u0440\u0430\u0432\u043b\u044f\u043b\u0438\u0441\u044c \u0441\u00a0\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u043c\u0438 \u0437\u0430\u0434\u0430\u0447\u0430\u043c\u0438 \u043d\u0435\u00a0\u0445\u0443\u0436\u0435, \u0447\u0435\u043c \u0438\u0445 \u0441\u043e\u0431\u0440\u0430\u0442\u044c\u044f \u0441\u0445\u043e\u0436\u0435\u0433\u043e \u0438\u043b\u0438\u00a0\u0434\u0430\u0436\u0435 \u0431\u043e\u043b\u044c\u0448\u0435\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430, \u0438 \u043a\u0430\u043a\u0443\u044e \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u044e \u043e\u0446\u0435\u043d\u043a\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438. <\/p>\n<p><strong>\u0425\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438 Kodify 2\u00a0\u0438 Kodify Nano<\/strong><\/p>\n<p>Kodify 2\u00a0\u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 7\u00a0\u043c\u043b\u0440\u0434 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u0434\u043e 32\u00a0768\u00a0\u0442\u043e\u043a\u0435\u043d\u043e\u0432. \u041c\u043e\u0434\u0435\u043b\u044c \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u00a0\u0431\u044d\u043a\u0435\u043d\u0434\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 OpenAI\u2011\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u044b\u0439 API \u0434\u043b\u044f\u00a0\u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441\u00a0\u043f\u043b\u0430\u0433\u0438\u043d\u0430\u043c\u0438 \u043a\u00a0IDE \u0438 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438. \u0425\u043e\u0442\u044f \u043d\u0430\u0448\u0438\u043c\u0438 \u0446\u0435\u043b\u0435\u0432\u044b\u043c\u0438 \u044f\u0437\u044b\u043a\u0430\u043c\u0438 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f Python, Java, JavaScript, C# \u0438 Go (\u043c\u044b \u043e\u0431\u0443\u0447\u0430\u0435\u043c \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u043d\u0430\u0448\u0438 \u043c\u043e\u0434\u0435\u043b\u0438 \u043d\u0430\u00a0\u043d\u0438\u0445), Kodify \u0437\u043d\u0430\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0435 90\u00a0\u044f\u0437\u044b\u043a\u043e\u0432. \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f: \u0430\u0432\u0442\u043e\u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u0434\u0430 (autocomplete), \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u044e\u043d\u0438\u0442\u2011\u0442\u0435\u0441\u0442\u043e\u0432, \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u043e\u0434\u0430 (Docstrings, JavaDoc, etc), \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043a\u043e\u0434\u0430 \u043f\u043e\u00a0\u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u043c\u0443 \u0437\u0430\u043f\u0440\u043e\u0441\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u0434\u0430.<\/p>\n<p>\u041c\u043e\u0434\u0435\u043b\u044c Kodify Nano \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u043d\u044c\u0448\u0438\u043c \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c\u00a0\u2014 1,5\u00a0\u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432. \u041e\u043d\u0430 \u0443\u043c\u0435\u0435\u0442 \u0434\u0435\u043b\u0430\u0442\u044c \u0442\u043e\u00a0\u0436\u0435 \u0441\u0430\u043c\u043e\u0435 (\u043d\u0443 \u043f\u043e\u0447\u0442\u0438). <\/p>\n<p>\u041c\u043e\u0434\u0435\u043b\u044c\u043a\u0438 \u043c\u043e\u0436\u043d\u043e \u0432\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0432\u00a0\u043b\u044e\u0431\u0443\u044e \u0441\u0440\u0435\u0434\u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0432\u00a0\u0444\u043e\u0440\u043c\u0430\u0442\u0435 \u0447\u0430\u0442\u2011\u0430\u0441\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043d\u0430\u00a0\u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u043c \u044f\u0437\u044b\u043a\u0435, \u043a\u0430\u043a\u00a0\u043d\u0430\u00a0\u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0435 \u043d\u0438\u0436\u0435.<\/p>\n<figure class=\"full-width\"><\/figure>\n<p><strong>\u041d\u043e\u00a0\u0432\u0435\u0434\u044c 7\u00a0\u043c\u043b\u0440\u0434 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432\u00a0\u2014 \u044d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u043c\u0430\u043b\u043e!<\/strong><\/p>\n<p>\u0422\u0430\u043a\u043e\u0439\u00a0\u0431\u044b\u043b\u0430 \u0440\u0435\u0430\u043a\u0446\u0438\u044f, \u043a\u043e\u0433\u0434\u0430 \u043f\u0430\u0440\u0443 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u043d\u0430\u0437\u0430\u0434 \u043c\u044b \u043e\u0431\u044a\u044f\u0432\u0438\u043b\u0438 \u043e\u00a0\u0432\u044b\u043f\u0443\u0441\u043a\u0435 Kodify 2. <\/p>\n<p>\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e,<strong> <\/strong>\u0432\u00a0\u043f\u043e\u0433\u043e\u043d\u0435 \u0437\u0430\u00a0\u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u0442\u0441\u044f \u0442\u0435\u043d\u0434\u0435\u043d\u0446\u0438\u044f \u043a\u00a0\u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u044e \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u0432 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0434\u043b\u044f\u00a0\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043a\u043e\u0434\u0430. \u0411\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u043d\u0435\u0434\u0430\u0432\u043d\u043e \u0432\u044b\u0448\u0435\u0434\u0448\u0438\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u043e\u0442 7\u00a0\u043c\u043b\u0440\u0434 \u0434\u043e 72\u00a0\u043c\u043b\u0440\u0434 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \u0438 \u0447\u0443\u0432\u0441\u0442\u0432\u0443\u0435\u0442\u0441\u044f \u0442\u0435\u043d\u0434\u0435\u043d\u0446\u0438\u044f \u0432\u044b\u0445\u043e\u0434\u0430 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0442\u0435\u043d \u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434\u043e\u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \u0438\u0437\u2011\u0437\u0430 \u0447\u0435\u0433\u043e \u0440\u0430\u0441\u0442\u0443\u0442 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u00a0\u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c. \u0410\u00a0\u0447\u0442\u043e\u00a0\u0434\u0435\u043b\u0430\u0442\u044c, \u0435\u0441\u043b\u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u043d\u0435\u00a0\u0442\u0430\u043a \u043c\u043d\u043e\u0433\u043e, \u043a\u0430\u043a\u00a0\u043d\u0430\u0434\u043e? <\/p>\n<p>\u041c\u044b \u0432\u00a0MTS AI \u0443\u0432\u0435\u0440\u0435\u043d\u044b, \u0447\u0442\u043e\u00a0\u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442\u00a0\u0431\u044b\u0442\u044c \u043d\u0435\u00a0\u043c\u0435\u043d\u0435\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u043c\u0438, \u0435\u0441\u043b\u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443 \u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f. \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u043e\u0439 LLM, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u0430\u00a0\u043c\u0430\u0441\u0441\u043e\u0432\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445, \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f\u00a0\u0448\u0438\u0440\u043e\u043a\u043e\u0433\u043e \u043a\u0440\u0443\u0433\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u0438 \u043f\u0440\u0435\u0434\u043f\u0440\u0438\u044f\u0442\u0438\u0439\u00a0\u2014 \u043e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u0434\u043e\u0432\u044b\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0431\u0435\u0437\u00a0\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u0438\u043d\u0432\u0435\u0441\u0442\u0438\u0446\u0438\u0439 \u0432\u00a0\u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443.<\/p>\n<p>\u041a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u044b\u043f\u0443\u0441\u043a\u0430\u0435\u043c\u044b\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0440\u0430\u0441\u0442\u0435\u0442 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e\u00a0\u0431\u044b\u0441\u0442\u0440\u043e, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, CodeLlama 32B, \u0432\u044b\u043f\u0443\u0449\u0435\u043d\u043d\u0430\u044f \u0432\u00a0\u0430\u0432\u0433\u0443\u0441\u0442\u0435 2023\u00a0\u0433\u043e\u0434\u0430, \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u0443\u0441\u0442\u0443\u043f\u0430\u0435\u0442 \u043f\u043e\u00a0\u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0443 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c 7B \u043c\u043e\u0434\u0435\u043b\u044f\u043c.<\/p>\n<p>\u0427\u0442\u043e\u00a0\u043c\u044b \u0441\u0434\u0435\u043b\u0430\u043b\u0438, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0448\u0438 \u043c\u0430\u043b\u044b\u0435 LLM \u0445\u043e\u0440\u043e\u0448\u043e \u0441\u043f\u0440\u0430\u0432\u043b\u044f\u043b\u0438\u0441\u044c \u0441\u00a0\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u043c\u0438 \u0437\u0430\u0434\u0430\u0447\u0430\u043c\u0438?<\/p>\n<ol>\n<li>\n<p>Kodify Nano \u0438 Kodify 2\u00a0\u043e\u0441\u043d\u043e\u0432\u0430\u043d\u044b \u043d\u0430\u00a0Qwen Coder 2.5, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0443\u0436\u0435 \u0437\u0430\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u043e\u0432\u0430\u043b\u0430 \u0441\u0435\u0431\u044f \u043a\u0430\u043a\u00a0\u043e\u0447\u0435\u043d\u044c \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f\u00a0\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043a\u043e\u0434\u0430. \u041e\u0434\u043d\u0430\u043a\u043e \u043c\u044b \u0435\u0449\u0435 \u0443\u043b\u0443\u0447\u0448\u0438\u043b\u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u043c\u043e\u0434\u0435\u043b\u0438 \u0432\u00a0\u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043a\u043e\u0434\u0430, \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u044e\u043d\u0438\u0442\u2011\u0442\u0435\u0441\u0442\u043e\u0432 \u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u0434\u0430, \u0430\u00a0\u0442\u0430\u043a\u0436\u0435 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441\u00a0\u0440\u0443\u0441\u0441\u043a\u0438\u043c \u044f\u0437\u044b\u043a\u043e\u043c.<\/p>\n<\/li>\n<li>\n<p>\u0414\u043b\u044f\u00a0\u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u043f\u043e\u043a\u043e\u043b\u0435\u043d\u0438\u044f \u043c\u043e\u0434\u0435\u043b\u0435\u0439 Kodify \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u043c\u0435\u0442\u043e\u0434 Direct Preference Optimization (DPO) \u043d\u0430\u00a0\u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u043c \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0435, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u044b\u0441\u043e\u043a\u043e\u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u043d\u0430\u00a0\u0440\u0430\u0437\u043d\u044b\u0445 \u044f\u0437\u044b\u043a\u0430\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u042d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043c\u043e\u0434\u0435\u043b\u0438 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u043e\u0431\u0443\u0447\u0430\u0442\u044c\u0441\u044f \u043d\u0430\u00a0\u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0442\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445, \u0443\u043b\u0443\u0447\u0448\u0430\u044f \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e \u043a\u043e\u0434\u0430.<\/p>\n<\/li>\n<li>\n<p>\u0427\u0442\u043e\u0431\u044b \u0441\u0434\u0435\u043b\u0430\u0442\u044c Kodify \u0435\u0449\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0435\u0435, \u043c\u044b \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u043b\u0438 \u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0432\u0435\u0440\u0441\u0438\u0438\u00a0\u2014 \u0434\u043e 4\u00a0\u0431\u0438\u0442 (\u044d\u0442\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0441\u043d\u0438\u0437\u0438\u043b\u043e \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u043e\u0447\u0442\u0438 \u0431\u0435\u0437\u00a0\u043f\u043e\u0442\u0435\u0440\u0438 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430). \u041f\u0440\u0438\u043c\u0435\u043d\u044f\u043b\u0438 \u043c\u0435\u0442\u043e\u0434 GPTQ\u2011\u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0430\u0446\u0438\u0438 (Generalized Post\u2011Training Quantization). \u042d\u0442\u043e \u043e\u0434\u0438\u043d \u0438\u0437\u00a0\u043b\u0443\u0447\u0448\u0438\u0445, \u043d\u0430\u00a0\u0441\u0435\u0433\u043e\u0434\u043d\u044f, \u043c\u0435\u0442\u043e\u0434\u043e\u0432. \u041e\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043a\u0430\u043b\u0438\u0431\u0440\u043e\u0432\u043e\u0447\u043d\u044b\u0439 \u0434\u0430\u0442\u0430\u0441\u0435\u0442, \u044f\u0432\u043b\u044f\u044e\u0449\u0438\u0439\u0441\u044f \u0447\u0430\u0441\u0442\u044c\u044e \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0430, \u043d\u0430\u00a0\u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043e\u0431\u0443\u0447\u0430\u043b\u0430\u0441\u044c \u043c\u043e\u0434\u0435\u043b\u044c, \u0434\u043b\u044f\u00a0\u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u00ab\u0441\u0436\u0430\u0442\u044c\u00bb \u043c\u043e\u0434\u0435\u043b\u044c, \u043d\u0435\u00a0\u0438\u0441\u043f\u043e\u0440\u0442\u0438\u0432 \u0435\u0451.<\/p>\n<\/li>\n<\/ol>\n<p>\u041d\u0443 \u0438 \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u043e \u0430\u043b\u0430\u0439\u043c\u0435\u043d\u0442\u0443 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0443\u0434\u0435\u043b\u0438\u043b\u0438 \u0434\u043e\u043b\u0436\u043d\u043e\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435.<\/p>\n<p>\u0412\u00a0\u0446\u0435\u043b\u043e\u043c, \u043d\u0430\u0448\u0438 \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0438 \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0438, \u0447\u0442\u043e\u00a0\u043e\u0431\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u0445\u043e\u0440\u043e\u0448\u043e \u0441\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0441\u043e \u0441\u0432\u043e\u0438\u043c\u0438 \u0437\u0430\u0434\u0430\u0447\u0430\u043c\u0438 \u0434\u043b\u044f\u00a0\u0441\u0432\u043e\u0435\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430\u00a0\u2014 \u043e\u0431\u00a0\u044d\u0442\u043e\u043c \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u0432\u00a0\u043a\u043e\u043d\u0446\u0435 \u0441\u0442\u0430\u0442\u044c\u0438. \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0447\u0442\u043e\u00a0\u043f\u0440\u0438\u00a0\u0440\u0430\u0431\u043e\u0442\u0435 \u0441\u00a0Kodify Nano \u0438\u0437\u2011\u0437\u0430 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430 (1,5\u00a0\u043c\u043b\u0440\u0434 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432), \u043c\u044b \u043d\u0435\u00a0\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0430\u0432\u0442\u043e\u043a\u043e\u043c\u043f\u043b\u0438\u0442, \u0435\u0433\u043e \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u043c\u043e\u0436\u0435\u0442 \u0440\u0430\u0441\u0441\u0442\u0440\u043e\u0438\u0442\u044c. \u041d\u043e\u00a0\u0443\u00a0Kodify 2\u00a0\u0441\u00a0\u044d\u0442\u0438\u043c \u043f\u043e\u0440\u044f\u0434\u043e\u043a \ud83d\ude09\ufe0f\ufe0f\ufe0f\ufe0f\ufe0f\ufe0f. <\/p>\n<h3>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043c\u043e\u0434\u0435\u043b\u0435\u0439<\/h3>\n<p>Kodify 2\u00a0\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u043c \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c, \u0435\u0433\u043e \u0443\u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0432\u00a0\u0433\u0440\u0443\u043f\u043f\u0430\u0445 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u041c\u0422\u0421. \u041f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u00a0\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442\u00a0\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0439 \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u0430 \u0432\u00a0\u0432\u0438\u0434\u0435 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 16\u00a0\u0431\u0438\u0442\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u0438\u043b\u0438\u00a0\u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0432 8\u00a0\u0431\u0438\u0442 \u0438\u043b\u0438 4\u00a0\u0431\u0438\u0442\u0430.<\/p>\n<p>Kodify Nano \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0441\u0430\u043c\u0438\u00a0\u2014 \u0442\u043e\u0436\u0435 \u0432\u00a0\u0442\u0440\u0435\u0445 \u0432\u0435\u0440\u0441\u0438\u044f\u0445. \u0412\u043e\u0442 \u0441\u0441\u044b\u043b\u043a\u0438:<\/p>\n<p><a href=\"https:\/\/huggingface.co\/MTSAIR\/Kodify-Nano\" rel=\"noopener noreferrer nofollow\">Kodify\u2011Nano<\/a>\u00a0\u2014 \u044d\u0442\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c. \u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u043d\u0430\u00a0\u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u0430\u0445 Nvidia c \u043d\u0435\u00a0\u043c\u0435\u043d\u0435\u0435, \u0447\u0435\u043c 10\u00a0\u0413\u0431 \u043f\u0430\u043c\u044f\u0442\u0438.<\/p>\n<p><a href=\"https:\/\/huggingface.co\/MTSAIR\/Kodify-Nano-GPTQ\" rel=\"noopener noreferrer nofollow\">Kodify\u2011Nano\u2011GPTQ (4bit)<\/a>\u00a0\u2014 \u044d\u0442\u043e \u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f Kodify Nano, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u00a0\u0442\u0440\u0438 \u0440\u0430\u0437\u0430 \u043c\u0435\u043d\u044c\u0448\u0435 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438. \u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u043d\u0430\u00a0\u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u0430\u0445 Nvidia c \u043d\u0435\u00a0\u043c\u0435\u043d\u0435\u0435 6\u00a0\u0413\u0431 \u043f\u0430\u043c\u044f\u0442\u0438.<\/p>\n<p><a href=\"https:\/\/huggingface.co\/MTSAIR\/Kodify-Nano-GGUF\" rel=\"noopener noreferrer nofollow\">Kodify\u2011Nano\u2011GGUF<\/a>\u00a0\u2014 \u044d\u0442\u043e \u043c\u043e\u0434\u0435\u043b\u044c, \u0441\u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0434\u043b\u044f\u00a0\u0440\u0430\u0431\u043e\u0442\u044b \u0441\u00a0Ollama\/llama.cpp. \u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f, \u0435\u0441\u043b\u0438 \u043d\u0435\u0442 \u043c\u043e\u0449\u043d\u043e\u0439 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u044b. \u0415\u0441\u0442\u044c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b 16\u00a0\u0431\u0438\u0442, 8\u00a0\u0431\u0438\u0442 \u0438 4\u00a0\u0431\u0438\u0442\u0430.<\/p>\n<p>\u041c\u044b \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u043e\u0434\u0435\u043b\u0438 \u0441\u00a0\u043d\u0430\u0448\u0438\u043c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u043c (<a href=\"https:\/\/mts.ai\/ru\/product\/kodify\/?utm_source=habr&amp;utm_medium=social#models\" rel=\"noopener noreferrer nofollow\">\u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0442\u0443\u0442<\/a>), \u043e\u043d \u0443\u0436\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d \u0434\u043b\u044f\u00a0\u0440\u0430\u0431\u043e\u0442\u044b \u0441\u00a0Kodify Nano. \u0415\u0441\u0442\u044c \u0432\u0435\u0440\u0441\u0438\u0438 \u0434\u043b\u044f\u00a0VS Code \u0438 IntelliJ IDEA (\u0438 \u0434\u0440\u0443\u0433\u0438\u0445 IDE Jet Brains). \u041f\u043b\u0430\u0433\u0438\u043d \u0441\u043e\u0437\u0434\u0430\u043d \u043d\u0430\u00a0\u043e\u0441\u043d\u043e\u0432\u0435<a href=\"https:\/\/www.continue.dev\/\" rel=\"noopener noreferrer nofollow\"> <\/a><a href=\"http:\/\/Continue.dev\" rel=\"noopener noreferrer nofollow\">Continue.dev<\/a>, \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0435\u0433\u043e \u0434\u043b\u044f\u00a0\u0441\u0435\u0431\u044f, \u0435\u0441\u043b\u0438 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e \u043d\u0430\u00a0\u0441\u0430\u0439\u0442\u0435.<\/p>\n<h2>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441 Ollama<\/h2>\n<p>\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c Kodify Nano \u043d\u0430\u00a0OLLAMA \u0434\u0432\u0443\u043c\u044f \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438:<\/p>\n<ul>\n<li>\n<p>\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f Docker;<\/p>\n<\/li>\n<li>\n<p>\u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e. \u041f\u0440\u0438\u00a0\u044d\u0442\u043e\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043c\u043e\u0434\u0435\u043b\u044c \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442\u00a0\u0431\u044b\u0441\u0442\u0440\u0435\u0435, \u0447\u0435\u043c \u043f\u0440\u0438\u00a0\u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u0447\u0435\u0440\u0435\u0437 Docker.<\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043e\u0434\u043d\u0443 \u0438\u0437 3\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439:<\/p>\n<ul>\n<li>\n<p><strong>hf.co\/MTSAIR\/Kodify\u2011Nano\u2011GGUF<\/strong>\u00a0\u2014 \u043d\u0435\u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c, \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e, 3.1\u00a0\u0413\u0431. \u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c \u0434\u043b\u044f\u00a0CPU \u0438\u043b\u0438\u00a0GPU \u043d\u0435\u00a0\u043c\u0435\u043d\u0435\u0435 5\u00a0\u0413\u0431.<\/p>\n<\/li>\n<li>\n<p><strong>hf.co\/MTSAIR\/Kodify\u2011Nano\u2011GGUF:Q8_0<\/strong>\u00a0\u2014 \u043a\u0432\u0430\u043d\u0442\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u0430\u044f 8\u00a0\u0431\u0438\u0442, 1.65\u00a0\u0413\u0431. \u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c \u0434\u043b\u044f\u00a0GPU \u0441 3\u20135\u00a0\u0413\u0431 \u043f\u0430\u043c\u044f\u0442\u0438.<\/p>\n<\/li>\n<li>\n<p><strong>hf.co\/MTSAIR\/Kodify\u2011Nano\u2011GGUF:Q4_K_S<\/strong>\u00a0\u2014 \u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0430\u0446\u0438\u044f 4\u00a0\u0431\u0438\u0442\u0430, 0.94\u00a0\u0413\u0431. \u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c \u0434\u043b\u044f\u00a0GPU \u0441 1\u20133\u00a0\u0413\u0431 \u043f\u0430\u043c\u044f\u0442\u0438.<\/p>\n<\/li>\n<\/ul>\n<h3>\u0421\u043f\u043e\u0441\u043e\u0431 1. \u0417\u0430\u043f\u0443\u0441\u043a Kodify Nano \u043d\u0430 OLLAMA \u0432 Docker<\/h3>\n<p>1. \u0415\u0441\u043b\u0438 \u0443\u00a0\u0432\u0430\u0441 \u043d\u0435\u0442 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u044b NVIDIA, \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 OLLAMA \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439<\/p>\n<pre><code class=\"bash\">docker run -e OLLAMA_HOST=0.0.0.0:8985 -p 8985:8985 --name ollama -d ollama\/ollama<\/code><\/pre>\n<p>\u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e\u00a0\u0443\u00a0\u0432\u0430\u0441 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0438 \u0437\u0430\u043f\u0443\u0449\u0435\u043d Docker \u043f\u0435\u0440\u0435\u0434 \u0437\u0430\u043f\u0443\u0441\u043a\u043e\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u044b.<\/p>\n<p><strong>\u0412\u0430\u0436\u043d\u043e!<\/strong> \u0415\u0441\u043b\u0438 \u043f\u043e\u0440\u0442 8985\u00a0\u0443\u0436\u0435 \u0437\u0430\u043d\u044f\u0442, \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u0435 \u0435\u0433\u043e \u043d\u0430\u00a0\u043b\u044e\u0431\u043e\u0439 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0439 \u043f\u043e\u0440\u0442. \u0412\u00a0\u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0442\u0430\u043a\u0436\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043f\u043e\u0440\u0442 \u0432\u00a0\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 (\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u0440\u0430\u0437\u0434\u0435\u043b \u00ab\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0430\u0434\u0440\u0435\u0441\u0430 \u043f\u043e\u0440\u0442\u0430 \u0432\u00a0\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 \u0432\u00a0\u0441\u0440\u0435\u0434\u0430\u0445 Visual Studio Code \u0438 JetBrains\u00bb\u00a0\u2014 \u043d\u0438\u0436\u0435).<\/p>\n<p>\u0415\u0441\u043b\u0438 \u0443\u00a0\u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u0430 NVIDIA \u0438 \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c GPU \u0432\u00a0\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443:<\/p>\n<pre><code class=\"bash\">docker run --runtime nvidia -e OLLAMA_HOST=0.0.0.0:8985 -p 8985:8985 --name ollama -d ollama\/ollama<\/code><\/pre>\n<p>2. \u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u0443\u044e \u043c\u043e\u0434\u0435\u043b\u044c \u0432\u00a0OLLAMA:<\/p>\n<pre><code class=\"bash\">docker exec ollama ollama pull hf.co\/MTSAIR\/Kodify-Nano-GGUF<\/code><\/pre>\n<p>3. \u0417\u0430\u0434\u0430\u0439\u0442\u0435 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0435 \u0438\u043c\u044f \u0434\u043b\u044f\u00a0\u043c\u043e\u0434\u0435\u043b\u0438. \u0418\u0437\u043c\u0435\u043d\u0438\u0442\u0435 \u00abhf.co\/MTSAIR\/Kodify\u2011Nano\u2011GGUF\u00bb \u043d\u0430 \u00abkodify_nano\u00bb \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439:<\/p>\n<pre><code>docker exec ollama ollama cp hf.co\/MTSAIR\/Kodify-Nano-GGUF kodify_nano<\/code><\/pre>\n<p>4. \u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u043c\u043e\u0434\u0435\u043b\u044c:<\/p>\n<pre><code class=\"bash\">docker exec ollama ollama run kodify_nano<\/code><\/pre>\n<h3>\u0421\u043f\u043e\u0441\u043e\u0431 2. \u0417\u0430\u043f\u0443\u0441\u043a Kodify Nano \u043d\u0430 OLLAMA \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e<\/h3>\n<ol>\n<li>\n<p>\u0421\u043a\u0430\u0447\u0430\u0439\u0442\u0435 \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 OLLAMA \u0441\u00a0\u0441\u0430\u0439\u0442\u0430:<br \/><a href=\"https:\/\/ollama.com\/download\" rel=\"noopener noreferrer nofollow\">https:\/\/ollama.com\/download<\/a><\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u0434\u0430\u0439\u0442\u0435 \u043f\u043e\u0440\u0442:<\/p>\n<\/li>\n<\/ol>\n<pre><code>export OLLAMA_HOST=0.0.0.0:8985<\/code><\/pre>\n<p><strong>\u0412\u0430\u0436\u043d\u043e!<\/strong> \u0415\u0441\u043b\u0438 \u043f\u043e\u0440\u0442 8985\u00a0\u0443\u0436\u0435 \u0437\u0430\u043d\u044f\u0442, \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u0435 \u0435\u0433\u043e \u043d\u0430\u00a0\u043b\u044e\u0431\u043e\u0439 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0439 \u043f\u043e\u0440\u0442. \u0412\u00a0\u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0442\u0430\u043a\u0436\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043f\u043e\u0440\u0442 \u0432\u00a0\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 (\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u0440\u0430\u0437\u0434\u0435\u043b \u00ab\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0430\u0434\u0440\u0435\u0441\u0430 \u043f\u043e\u0440\u0442\u0430 \u0432\u00a0\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 \u0432\u00a0\u0441\u0440\u0435\u0434\u0430\u0445 Visual Studio Code \u0438 JetBrains\u00bb ).<\/p>\n<p>3. \u041f\u043e\u0434\u043d\u0438\u043c\u0438\u0442\u0435 \u0441\u0435\u0440\u0432\u0435\u0440 OLLAMA.<\/p>\n<pre><code class=\"bash\">ollama serve &amp;<\/code><\/pre>\n<p>4. \u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u0443\u044e \u043c\u043e\u0434\u0435\u043b\u044c, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443:<\/p>\n<pre><code>ollama pull hf.co\/MTSAIR\/Kodify-Nano-GGUF<\/code><\/pre>\n<p>5. \u0417\u0430\u0434\u0430\u0439\u0442\u0435 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0435 \u0438\u043c\u044f \u0434\u043b\u044f\u00a0\u043c\u043e\u0434\u0435\u043b\u0438. \u0418\u0437\u043c\u0435\u043d\u0438\u0442\u0435 hf.co\/MTSAIR\/Kodify\u2011Nano\u2011GGUF \u043d\u0430\u00a0kodify_nano \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439:<\/p>\n<pre><code class=\"bash\">ollama cp hf.co\/MTSAIR\/Kodify-Nano-GGUF kodify_nano<\/code><\/pre>\n<p>6. \u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u043c\u043e\u0434\u0435\u043b\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439:<\/p>\n<pre><code>ollama run kodify_nano<\/code><\/pre>\n<h2>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043f\u043b\u0430\u0433\u0438\u043d\u0430<\/h2>\n<h3>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 \u0432 \u0441\u0440\u0435\u0434\u0435 Visual Studio Code<\/h3>\n<ol>\n<li>\n<p>\u0421\u043a\u0430\u0447\u0430\u0439\u0442\u0435 <a href=\"https:\/\/mts.ai\/ru\/product\/kodify\/?utm_source=huggingface&amp;utm_medium=pr&amp;utm_campaign=post#models\" rel=\"noopener noreferrer nofollow\">\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u043f\u043b\u0430\u0433\u0438\u043d\u0430<\/a> Kodify \u0434\u043b\u044f\u00a0Visual Studio Code. <\/p>\n<\/li>\n<li>\n<p>\u041f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u0432\u00a0\u0440\u0430\u0437\u0434\u0435\u043b \u00abExtensions\u00bb \u043d\u0430\u00a0\u043b\u0435\u0432\u043e\u0439 \u043f\u0430\u043d\u0435\u043b\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432.<\/p>\n<\/li>\n<li>\n<p>\u0412\u00a0\u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u043e\u043c \u043c\u0435\u043d\u044e \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043f\u0443\u043d\u043a\u0442 \u00abInstall from VSIX\u2026\u00bb \u0438 \u0443\u043a\u0430\u0436\u0438\u0442\u0435 \u0441\u043a\u0430\u0447\u0430\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u043f\u043b\u0430\u0433\u0438\u043d\u0430.<\/p>\n<\/li>\n<\/ol>\n<h3>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 \u0432 \u0441\u0440\u0435\u0434\u0435 JetBrains<\/h3>\n<ol>\n<li>\n<p>\u0421\u043a\u0430\u0447\u0430\u0439\u0442\u0435 <a href=\"https:\/\/mts.ai\/ru\/product\/kodify\/?utm_source=huggingface&amp;utm_medium=pr&amp;utm_campaign=post#models\" rel=\"noopener noreferrer nofollow\">\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u043f\u043b\u0430\u0433\u0438\u043d\u0430<\/a> Kodify \u0434\u043b\u044f\u00a0JetBrains. <\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 IDE \u0438 \u043f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u0432\u00a0\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438.<\/p>\n<\/li>\n<li>\n<p>\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043f\u0443\u043d\u043a\u0442 \u00abPlugins\u00bb \u0434\u043b\u044f\u00a0\u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u0432\u00a0\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432.<\/p>\n<\/li>\n<li>\n<p>\u041d\u0430\u0436\u043c\u0438\u0442\u0435 \u043d\u0430\u00a0\u0448\u0435\u0441\u0442\u0435\u0440\u0435\u043d\u043a\u0443 \u0432\u00a0\u043f\u0440\u0430\u0432\u043e\u043c \u0432\u0435\u0440\u0445\u043d\u0435\u043c \u0443\u0433\u043b\u0443 \u0438 \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u00abInstall Plugin from Disk\u2026\u00bb<\/p>\n<\/li>\n<li>\n<p>\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0441\u043a\u0430\u0447\u0430\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0441\u00a0\u043f\u043b\u0430\u0433\u0438\u043d\u043e\u043c.<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 IDE \u043f\u043e\u0441\u043b\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438. \u041d\u0430\u0436\u043c\u0438\u0442\u0435 \u00abRestart IDE\u00bb.<\/p>\n<\/li>\n<\/ol>\n<details class=\"spoiler\">\n<summary>\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0430\u0434\u0440\u0435\u0441\u0430 \u043f\u043e\u0440\u0442\u0430 \u0432\u00a0\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 \u0432\u00a0\u0441\u0440\u0435\u0434\u0430\u0445 Visual Studio Code \u0438 JetBrains<\/summary>\n<div class=\"spoiler__content\">\n<p>\u0415\u0441\u043b\u0438 \u043f\u043e\u0440\u0442 \u043f\u0440\u0438\u00a0\u043f\u043e\u0434\u043d\u044f\u0442\u0438\u0438 Docker Compose \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442\u00a0\u043f\u043e\u0440\u0442\u0430 <strong>8985<\/strong>, \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u0435 \u043f\u043e\u0440\u0442 \u0432\u00a0\u0444\u0430\u0439\u043b\u0435 <em>config.json<\/em>, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0448\u0430\u0433\u0438:<\/p>\n<ol>\n<li>\n<p>\u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u0432\u00a0IDE \u043b\u044e\u0431\u043e\u0439 \u0444\u0430\u0439\u043b.<\/p>\n<\/li>\n<li>\n<p>\u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u0431\u043e\u043a\u043e\u0432\u0443\u044e \u043f\u0430\u043d\u0435\u043b\u044c Kodify, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044e \u043a\u043b\u0430\u0432\u0438\u0448:<\/p>\n<p>\u0432\u00a0Visual Studio Code\u00a0\u2014 \u00abCTRL + L\u00bb (\u00abCMD + L\u00bb \u043d\u0430\u00a0Mac);<br \/>\u0432\u00a0JetBrains\u00a0\u2014 \u00abCTRL+ J\u00bb (\u00abCMD + J\u00bb \u043d\u0430\u00a0Mac).<\/p>\n<\/li>\n<li>\n<p>\u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 <strong>\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b <em>config.json<\/em><\/strong> \u043e\u0434\u043d\u0438\u043c \u0438\u0437\u00a0\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432:<br \/><strong>\u0421\u043f\u043e\u0441\u043e\u0431 1. <\/strong>\u041d\u0430\u00a0\u0431\u043e\u043a\u043e\u0432\u043e\u0439 \u043f\u0430\u043d\u0435\u043b\u0438 Kodify \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u043d\u0430\u00a0\u043a\u043d\u043e\u043f\u043a\u0443 \u00abOpen Settings\u00bb \u0432\u00a0Visual Studio Code \u0438\u043b\u0438 \u00abKodify \u0421onfig\u00bb \u0432\u00a0JetBrains.<br \/>\u0412\u00a0\u0440\u0430\u0437\u0434\u0435\u043b\u0435 Configuration \u0434\u043b\u044f\u00a0Chat \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0443 \u00abOpen Config File\u00bb.<br \/><strong>\u0421\u043f\u043e\u0441\u043e\u0431 2. <\/strong>\u041d\u0430\u00a0\u0431\u043e\u043a\u043e\u0432\u043e\u0439 \u043f\u0430\u043d\u0435\u043b\u0438 \u0440\u0430\u0441\u043a\u0440\u043e\u0439\u0442\u0435 \u043c\u0435\u043d\u044e Kodify \u0438 \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u043d\u0430\u00a0\u043a\u043d\u043e\u043f\u043a\u0443 \u00abOpen Settings\u00bb (\u0448\u0435\u0441\u0442\u0435\u0440\u0435\u043d\u043a\u0430).<\/p>\n<\/li>\n<li>\n<p>\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u0435 \u0432\u00a0\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435 <em>config.json<\/em> \u0430\u0434\u0440\u0435\u0441 \u043f\u043e\u0440\u0442\u0430 \u0434\u043b\u044f\u00a0\u043f\u043e\u043b\u044f <strong>\u00abapiBase\u00bb<\/strong> \u0432\u00a0\u0440\u0430\u0437\u0434\u0435\u043b\u0430\u0445 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 <strong>\u00abtabAutocompleteModel\u00bb<\/strong> \u0438 <strong>\u00abmodels\u00bb<\/strong>.<\/p>\n<\/li>\n<li>\n<p>\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0444\u0430\u0439\u043b\u0430 <em>config.json<\/em> \u0432\u00a0IDE. \u0414\u043b\u044f\u00a0\u044d\u0442\u043e\u0433\u043e, \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044e \u043a\u043b\u0430\u0432\u0438\u0448 <strong>Ctrl+S<\/strong> \u0438\u043b\u0438\u00a0\u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043f\u0443\u043d\u043a\u0442 \u043c\u0435\u043d\u044e IDE: <strong>File \u2192 Save<\/strong>.<\/p>\n<\/li>\n<\/ol>\n<\/div>\n<\/details>\n<h3>\u0420\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u0432 vLLM<\/h3>\n<p>\u0414\u043b\u044f\u00a0\u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u043d\u0430\u0448\u0438\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0441\u00a0\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c GPU \u043c\u044b \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a vLLM (\u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c<a href=\"https:\/\/habr.com\/ru\/companies\/mts_ai\/articles\/791594\/\" rel=\"noopener noreferrer nofollow\"> \u0437\u0434\u0435\u0441\u044c<\/a>)<\/p>\n<p>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 vLLM: <\/p>\n<pre><code class=\"bash\">pip install vllm<\/code><\/pre>\n<p>\u0414\u0435\u043f\u043b\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 c vLLM:<\/p>\n<pre><code class=\"bash\">python3 -m vllm.entrypoints.openai.api_server --model MTSAIR\/Kodify-Nano --port 8985 --max-model-len 8192 --served-model-name kodify_nano<\/code><\/pre>\n<p>\u0418\u043b\u0438\u00a0\u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 Docker:<\/p>\n<pre><code class=\"bash\">docker run --gpus all \\   -p 8985:8000 \\   -v ~\/.cache\/huggingface:\/root\/.cache\/huggingface \\ vllm\/vllm-openai:latest \\   --model MTSAIR\/Kodify-Nano \\   --max-model-len 8192 \\   --served-model-name kodify_nano<\/code><\/pre>\n<p>\u0412\u043e\u00a0\u0432\u0440\u0435\u043c\u044f<\/p>\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-463241","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/463241","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=463241"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/463241\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=463241"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=463241"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=463241"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}