Всем привет! Обновил свой репозиторий "AI для разработчиков" с кейсами и промптами для разработчиков. Добавил роль сeньор-разработчика-тестировщика, а также "царь промпт" для Python и .NET, улучшающий когнитивные способности GPT-4.
Update: добавил свой сборник сервисов для разработки (пока в черновом варианте).
—
Сейчас делаю большой ресерч наиболее полезных AI-сервисов для разработчиков. Результаты размещу в этом канале совсем скоро.
Update: добавил свой сборник сервисов для разработки (пока в черновом варианте).
—
Сейчас делаю большой ресерч наиболее полезных AI-сервисов для разработчиков. Результаты размещу в этом канале совсем скоро.
GitHub
GitHub - rodion-m/awesome_ai_for_programmers: Сборник AI-инструментов, кейсов и всяких других полезностей для программистов
Сборник AI-инструментов, кейсов и всяких других полезностей для программистов - rodion-m/awesome_ai_for_programmers
👍3
На всякий случай оставлю тут ссылку на запись своего доклада с прошлого CodeFest по использованию ChatGPT в разработке, в нем мы итеративно пишем систему автоматизированной проверки домашних заданий: https://youtu.be/pm1V1FtQ33Y
YouTube
Родион Мостовой. Выжимаем максимум из ChatGPT для программистов
Этот доклад про ленивого разработчика, которому надоело тратить время на решение рутинных задач и он стал исследовать способы делегировать их кому-то другому... Например, нейросетям.
В своем выступлении я расскажу об интересных и неочевидных кейсах применения…
В своем выступлении я расскажу об интересных и неочевидных кейсах применения…
👍4
Программистам в своей повседневной практике часто приходится работать с файлами. Обычно, в .NET мы просто используем готовые обертки с дефолтными параметрами и даже не задумываемся о том, что в действительно параметров при работе с файлами достаточно много, а один из конструкторов класса
К счастью, на хабре вышла новая статья, в которой описываются разные неочевидные нюансы при работе с файлами, которую я рекомендовал бы хотя бы просмотреть разработчикам, а особенно тем, кто окончил курсы программистов.
Например, в статье рассказано о том, что зачастую после записи файла на диск в реальности данные могут физически быть записаны с небольшой задержкой. По этому поводу Oren Eini (создатель RavenDB) даже небольшую зарисовку сделал (в двух словах, если нужна надежность, в большинстве кейсов он рекомендует ограничиваться вызовом метода Flush). Кстати, у него там еще много постов на эту тему.
Из любопытного, от себя добавлю, что метод
FileStream открывает доступ ко многим из них. По моему опыту на всякого рода курсах теме работы с файлами в принципе не уделяют никакого внимания.К счастью, на хабре вышла новая статья, в которой описываются разные неочевидные нюансы при работе с файлами, которую я рекомендовал бы хотя бы просмотреть разработчикам, а особенно тем, кто окончил курсы программистов.
Например, в статье рассказано о том, что зачастую после записи файла на диск в реальности данные могут физически быть записаны с небольшой задержкой. По этому поводу Oren Eini (создатель RavenDB) даже небольшую зарисовку сделал (в двух словах, если нужна надежность, в большинстве кейсов он рекомендует ограничиваться вызовом метода Flush). Кстати, у него там еще много постов на эту тему.
Из любопытного, от себя добавлю, что метод
FlushAsync не имеет перегрузки с параметром flushDisk, а его дефолтная реализация из OSFileStreamStrategy просто возвращает Task.CompletedTask. So, be careful.Хабр
А в чем проблема работать с файлами?
Приветствую. Год назад меня сильно увлекла тема отказоустойчивости приложений. Я начал изучать различные аспекты ее реализации в программах и больше всего меня заинтересовал процесс работы с диском....
👍6
AI-Driven Development. Родион Мостовой
Программистам в своей повседневной практике часто приходится работать с файлами. Обычно, в .NET мы просто используем готовые обертки с дефолтными параметрами и даже не задумываемся о том, что в действительно параметров при работе с файлами достаточно много…
Для желающих еще глубже разобраться в теме работы с файлами, могу посоветовать вот этот доклад с дотнекста от Adam Sitnik одного из разработчиков дотнета.
Из неочевидного: в Linux, даже если указан флаг useAsync, все равно используется синхронный IO, а само ожидание просто выполняется на тредпуле. Issue на эту тему все еще открыта.
Из неочевидного: в Linux, даже если указан флаг useAsync, все равно используется синхронный IO, а само ожидание просто выполняется на тредпуле. Issue на эту тему все еще открыта.
YouTube
Adam Sitnik — Fast File IO with .NET 6
Подробнее о конференции DotNext: https://jrg.su/3WmFRE
— —
For .NET 6, File IO was almost completely re-written. It's up to few times faster and also more reliable. In his talk, Adam is going to describe what was changed, why, and what new APIs were introduced.…
— —
For .NET 6, File IO was almost completely re-written. It's up to few times faster and also more reliable. In his talk, Adam is going to describe what was changed, why, and what new APIs were introduced.…
👍4
Прямо к моему дню рождения Stephen Toub и Scott Hanselman сделали отличный подарок - выкатили видео на YouTube, в котором за час с хвостиком им удалось на коленке написать свой
На всякий случай, напомню, что Тауб - это один из создателей дотнетовского тредпула.
Код с этого демо доступен по ссылке.
Бонус
Для желающих посмотреть а как же там оно устроено в настоящем тредпуле, вот ссылочка на меcто, в котором создаются воркеры. И ссылочка на место, где воркеры внутри
ThreadPool, свой Task и даже прикрутить к ним async/await. А еще, попутно они копнули тему с ExecutionContext - абстракции, о которой в принципе почти никогда не говорят. В общем, прям мастхев для всех, кто хочет предметнее разобраться с тем, как устроен тредпул и таски в дотнете.На всякий случай, напомню, что Тауб - это один из создателей дотнетовского тредпула.
Код с этого демо доступен по ссылке.
Бонус
Для желающих посмотреть а как же там оно устроено в настоящем тредпуле, вот ссылочка на меcто, в котором создаются воркеры. И ссылочка на место, где воркеры внутри
while(true) выполняют работу.YouTube
Deep .NET: Writing async/await from scratch in C# with Stephen Toub and Scott Hanselman
Join Stephen Toub and Scott Hanselman as they dive deep into the world of .NET. On this first episode, Stephen and Scott demystify the world of asynchronous programing with .NET and specifically the magic behind async/await, something that developers use…
🔥6
Самое интересное из AI в контексте разработки на текущий момент.
Главная новость, которую действительно можно выделить из общего фона - это, конечно же, появление новой версии опенсорсной модели llama-3. Чем она столько примечательна? Прежде всего тем, что даже ее младшая ревизия (8B) по бенчмаркам обходит ChatGPT 3.5 (14-е место у llama-3 vs 24-е место у gpt-3.5) и она легко может быть запущена даже на макбуке или на игровом ноуте. А старшая модель и вовсе сравнима с GPT-4 по качеству (на lmsys Arena).
Развернуть llama-3 у себя локально проще всего через LM Studio. После установки просто скачайте и запустите модель
Если нужен более подробный гайд - напишите в комментариях, постараюсь оформить.
Чем нам разработчикам так интересна эта новость про лламу? Тем, что теперь мы можем локально разворачивать достаточно качественную LLM и использовать ее в кач-ве локального копайлота через опенсорсное расширение CodeGPT + LM Studio в режиме сервера.
Кстати, локальный чат с кодом прямо из IDE тоже можно развернуть через расширение Continue (теперь, они поддерживают еще и режим копайлота (автокомплишн).
А если вы используете VS Code, то у меня для вас вообще прекрасная новость - вы можете смело переезжать на AI-driven IDE Cursor и использовать ее в связке с llama-3.
Кстати, попробовать старшую версию llama-3 (70B) можно через онлайн чаты. Например, через HuggingFace Chat. Или, через какой-то из этого списка.
Напомню, что была анонсирована так же огромная 400B версия llama-3, которая все ещё обучается. Что ж, ждём.
Ещё одно событие, стоящее внимания - это загадочный выпуск LLM WizardLM-2 от Microsoft. Чем примечателен? Тем, что старшая версия этой LLM по заверениям авторов из Microsoft Research так же может сравниться с GPT-Turbo.
Младшая ее версия тоже довольно мощная, но уже менее интересна после выхода llama-3.
Запустить WizardLM-2 можно через ту же LM Studio либо через Ollama, но на старшую модель понадобится довольно много ресурсов (увы, это не уровень ноутбука), поэтому запускать ее лучше через Playground, либо по API через OpenRouter.
И еще одна хорошая новость: я актуализировал сборник AI сервисов для разработчиков + добавил новые сервисы:
* Аналогов Devin'a теперь получилось аж 11 штук (почти все бесплатные) - это такие готовые AI-разработчики, которые могут создавать целые программы с нуля, либо просто фиксить баги/добавлять фичи через PR в существующие репозитории на GitHub
* Добавил целую кучу бесплатных плейграундов (7), где можно пообщаться с разными модельками, в т. ч. с новой лламой + обычных чатов более 15-ти штук
* Добавил множество сервисов с API открытых моделек, а также всякие инфраструктуры для самостоятельного деплоя своих моделек
* Обновил список лидербордов (теперь их 10)
Ссылочка прежняя: https://github.com/rodion-m/awesome_ai_for_programmers
Главная новость, которую действительно можно выделить из общего фона - это, конечно же, появление новой версии опенсорсной модели llama-3. Чем она столько примечательна? Прежде всего тем, что даже ее младшая ревизия (8B) по бенчмаркам обходит ChatGPT 3.5 (14-е место у llama-3 vs 24-е место у gpt-3.5) и она легко может быть запущена даже на макбуке или на игровом ноуте. А старшая модель и вовсе сравнима с GPT-4 по качеству (на lmsys Arena).
Развернуть llama-3 у себя локально проще всего через LM Studio. После установки просто скачайте и запустите модель
QuantFactory/Meta-Llama-3-8B-Instruct-GGUF (версию Meta-Llama-3-8B-Instruct.Q8_0.gguf или Meta-Llama-3-8B-Instruct.Q4_K_M.gguf). И все, можно чатиться.Если нужен более подробный гайд - напишите в комментариях, постараюсь оформить.
Чем нам разработчикам так интересна эта новость про лламу? Тем, что теперь мы можем локально разворачивать достаточно качественную LLM и использовать ее в кач-ве локального копайлота через опенсорсное расширение CodeGPT + LM Studio в режиме сервера.
Кстати, локальный чат с кодом прямо из IDE тоже можно развернуть через расширение Continue (теперь, они поддерживают еще и режим копайлота (автокомплишн).
А если вы используете VS Code, то у меня для вас вообще прекрасная новость - вы можете смело переезжать на AI-driven IDE Cursor и использовать ее в связке с llama-3.
Кстати, попробовать старшую версию llama-3 (70B) можно через онлайн чаты. Например, через HuggingFace Chat. Или, через какой-то из этого списка.
Напомню, что была анонсирована так же огромная 400B версия llama-3, которая все ещё обучается. Что ж, ждём.
Ещё одно событие, стоящее внимания - это загадочный выпуск LLM WizardLM-2 от Microsoft. Чем примечателен? Тем, что старшая версия этой LLM по заверениям авторов из Microsoft Research так же может сравниться с GPT-Turbo.
Младшая ее версия тоже довольно мощная, но уже менее интересна после выхода llama-3.
Запустить WizardLM-2 можно через ту же LM Studio либо через Ollama, но на старшую модель понадобится довольно много ресурсов (увы, это не уровень ноутбука), поэтому запускать ее лучше через Playground, либо по API через OpenRouter.
И еще одна хорошая новость: я актуализировал сборник AI сервисов для разработчиков + добавил новые сервисы:
* Аналогов Devin'a теперь получилось аж 11 штук (почти все бесплатные) - это такие готовые AI-разработчики, которые могут создавать целые программы с нуля, либо просто фиксить баги/добавлять фичи через PR в существующие репозитории на GitHub
* Добавил целую кучу бесплатных плейграундов (7), где можно пообщаться с разными модельками, в т. ч. с новой лламой + обычных чатов более 15-ти штук
* Добавил множество сервисов с API открытых моделек, а также всякие инфраструктуры для самостоятельного деплоя своих моделек
* Обновил список лидербордов (теперь их 10)
Ссылочка прежняя: https://github.com/rodion-m/awesome_ai_for_programmers
❤5🔥4
А что у нас сейчас с актуальными модельками для кодинга?
Наткнулся на один интересный бенчмарк моделек для кодинга под названием LiveCodeBench.
На этот раз энтузиасты собрали в кучу задачки с LeetCode, CodeForces и AtCoder и дали их порешать LLM'кам. И вот тут интересное - есть мнение, что бенчмарки, в которых тестовые данные публично известны, не очень репрезентативны. Создатели бенчмарка тоже это понимали, поэтому прямо в UI добавили фильтр на задачи по дате (т. е. можно выбрать наиболее "свежие" задачи, которые большинство LLM просто физически не могли знать). И тем не менее, из результатов этого бенчмарка мы видим, что, например, в категории Hard на всех задачах лучший показатель у Claude Opus (и это всего 4.9!). Еще интересно, что последняя версия GPT-4 Turbo решает примерно в 2 раза больше задачек уровня Medium, чем Claude Opus.
Опенсорсная и мелкая CodeQwen15-7B-Chat при этом показывает результаты на равне с платной Claude Haiku (а на задачах Medium и Hard даже обгоняет их и может сравниться с Claude Opus).
Ссылка на бенчмарк: https://livecodebench.github.io/leaderboard.html
Напоминаю, что 7B модельки (в кванте Q8 и меньше) легко запускаются на макбуке с M процессорами и 18+ GB shared memory, либо просто на мощных ноутах на винде (даже с интегрированной GPU). А запустить это проще всего в LM Studio.
Еще, из интересного: только что IBM выпустила свои новые модели для кодинга под названием Granite, у них тоже впечатляющие результаты и их уже даже можно погонять самостоятельно в LM Studio. В LiveCodeBench этих моделей пока нет, но я уже отправил им Issue, чтоб добавили.
Наткнулся на один интересный бенчмарк моделек для кодинга под названием LiveCodeBench.
На этот раз энтузиасты собрали в кучу задачки с LeetCode, CodeForces и AtCoder и дали их порешать LLM'кам. И вот тут интересное - есть мнение, что бенчмарки, в которых тестовые данные публично известны, не очень репрезентативны. Создатели бенчмарка тоже это понимали, поэтому прямо в UI добавили фильтр на задачи по дате (т. е. можно выбрать наиболее "свежие" задачи, которые большинство LLM просто физически не могли знать). И тем не менее, из результатов этого бенчмарка мы видим, что, например, в категории Hard на всех задачах лучший показатель у Claude Opus (и это всего 4.9!). Еще интересно, что последняя версия GPT-4 Turbo решает примерно в 2 раза больше задачек уровня Medium, чем Claude Opus.
Опенсорсная и мелкая CodeQwen15-7B-Chat при этом показывает результаты на равне с платной Claude Haiku (а на задачах Medium и Hard даже обгоняет их и может сравниться с Claude Opus).
Ссылка на бенчмарк: https://livecodebench.github.io/leaderboard.html
Напоминаю, что 7B модельки (в кванте Q8 и меньше) легко запускаются на макбуке с M процессорами и 18+ GB shared memory, либо просто на мощных ноутах на винде (даже с интегрированной GPU). А запустить это проще всего в LM Studio.
Еще, из интересного: только что IBM выпустила свои новые модели для кодинга под названием Granite, у них тоже впечатляющие результаты и их уже даже можно погонять самостоятельно в LM Studio. В LiveCodeBench этих моделей пока нет, но я уже отправил им Issue, чтоб добавили.
👍2🔥2
Открытая модель WizardLM-2 8x22B в задачах на кодинг оказалась на уровне GPT-4!
Помните я недавно рассказывал про супер-пупер модельку llama-3-70b? Так вот, на самом деле, примерно в это же время Microsoft выпустили другую модель под названием WizardLM-2 8x22B. Только они почти сразу ее удалили, то ли из-за цензуры, то ли еще из-за чего. Но было уже поздно, т. к. пользователи ее быстро "форкнули".
В общем, ресерчу сейчас разные бенчмарки, и наткнулся на один любопытный (ProLLM), в котором авторы не поленились добавить эту самую мифическую LLM WizardLM-2 8x22B. Так вот, в их бенчмарке в задачах по кодингу WizardLM-2 8x22B даже немного опережает Claude Opus и почти достигает уровня GPT-4 Turbo.
Размер контекстного окна WizardLM-2 8x22B на вход и на выход аж 65к токенов - для открытой LLM даже на input это крутые показатели. Что касается output, то на практике мне не удалось получить от нее больше 3к токенов (но и это тоже хорошо, ведь большинство моделей и не может выдать больше 4к токенов в ответе).
А теперь, самое интересное: цена на эту модельку в OpenRouter начинается от 0.65$ за 1 миллион токенов - это в десятки раз дешевле, чем топовые модели от OpenAI и Claude. То есть, по сути, модель уровня GPT-4 можно использовать по цене ниже GPT-3.5 Turbo! Еще, я заметил, что это моделька пишет неплохие тексты на русском.
Ну, а вишенка на торте то, что эту модельку можно запустить и бесплатно, например, в Together.AI или в Lepton.AI - доступ открывается после регистрации.
—
Кстати, а что это за бенчмарк вообще такой ProLLM, спросите вы? ProLLM - это новый бенчмарк (апрель 2024), проверяющий то, как хорошо LLM смогут ответить на вопросы с StackOverflow - выглядит годно. Удобно, что можно выбрать не только конкретный ЯП, но и категорию (оптимизация, отладка, реализация). Подробное описание тут.
Помните я недавно рассказывал про супер-пупер модельку llama-3-70b? Так вот, на самом деле, примерно в это же время Microsoft выпустили другую модель под названием WizardLM-2 8x22B. Только они почти сразу ее удалили, то ли из-за цензуры, то ли еще из-за чего. Но было уже поздно, т. к. пользователи ее быстро "форкнули".
В общем, ресерчу сейчас разные бенчмарки, и наткнулся на один любопытный (ProLLM), в котором авторы не поленились добавить эту самую мифическую LLM WizardLM-2 8x22B. Так вот, в их бенчмарке в задачах по кодингу WizardLM-2 8x22B даже немного опережает Claude Opus и почти достигает уровня GPT-4 Turbo.
Размер контекстного окна WizardLM-2 8x22B на вход и на выход аж 65к токенов - для открытой LLM даже на input это крутые показатели. Что касается output, то на практике мне не удалось получить от нее больше 3к токенов (но и это тоже хорошо, ведь большинство моделей и не может выдать больше 4к токенов в ответе).
А теперь, самое интересное: цена на эту модельку в OpenRouter начинается от 0.65$ за 1 миллион токенов - это в десятки раз дешевле, чем топовые модели от OpenAI и Claude. То есть, по сути, модель уровня GPT-4 можно использовать по цене ниже GPT-3.5 Turbo! Еще, я заметил, что это моделька пишет неплохие тексты на русском.
Ну, а вишенка на торте то, что эту модельку можно запустить и бесплатно, например, в Together.AI или в Lepton.AI - доступ открывается после регистрации.
—
Кстати, а что это за бенчмарк вообще такой ProLLM, спросите вы? ProLLM - это новый бенчмарк (апрель 2024), проверяющий то, как хорошо LLM смогут ответить на вопросы с StackOverflow - выглядит годно. Удобно, что можно выбрать не только конкретный ЯП, но и категорию (оптимизация, отладка, реализация). Подробное описание тут.
👍4❤2
Строго типизированные языки программирования могут стать популярнее благодаря LLM
Есть такой подкаст «Бреслав и Ложечкин».
Андрей Бреслав - фактически, основатель языка Kotlin. Во-первых, мне нравится Kotlin (когда-то мы делали мобильное приложения на нем), во-вторых, мне нравится как мыслит сам Бреслав, поэтому я стараюсь следить за его творчеством. Я думаю, что осмысленно слушая умных людей, мы сами становимся умнее.
В своем канале я пишу на разные темы, которые мне интересны, и сегодня речь снова пойдет про AI, только на этот раз в более глобальном, а может даже и философском ключе.
Собственно, не так давно ребята поговорили на тему "Про AI, LLM, AGI, ChatGPT, сингулярность и про то, заменит ли это всё программистов". У них получился совершенно великолепный разговор в тему программисты + AI. Рекомендую к просмотру.
Я выделю здесь несколько ключевых тезисов из подкаста, которые мне показались наиболее интересными:
1) Языки программирования с динамической типизацией (Python, Javanoscript) хорошо подходят для обучения программированию и для быстрой разработки, но для крупных проектов вред от динамической типизации начинает перевешивать пользу от скорости разработки. На ЯП с динамической типизацией проще писать код, но сложнее читать (просто потому, что далеко не всегда понятно с чем мы вообще работаем сейчас). Так вот, Бреслав предполагает, что поскольку для LLM тоже лучше, когда код написан более явно (с указанием типов), может случится так, что ЯП с динамической типизацией могут начать терять свою популярность и уступать языкам со строгой, статической типизацией. Идея интересная и весьма контринтуитивная, с учетом того, что сейчас, насколько мне известно, LLM наоборот могут давать лучшие решения именно на Python и JavaScript просто потому, что кода на этих языках было больше в обучающей выборке. Тем не менее, это хороший повод задуматься о том, чтобы использовать везде явную типизацию просто потому, что для LLM так понятнее.
И хочу еще отметить неочевидную вещь. В языках со статической типизацией мы часто используем
Короче, вероятно, будет предусмотрительнее уже сейчас опцию csharp_style_var_elsewhere в вашем
Еще интересные тезисы из подкаста и свои размышления о них запощу чуть позже, а то итак много получилось)
—
Пробелов.NET. Спасибо, что читаете :)
Есть такой подкаст «Бреслав и Ложечкин».
Андрей Бреслав - фактически, основатель языка Kotlin. Во-первых, мне нравится Kotlin (когда-то мы делали мобильное приложения на нем), во-вторых, мне нравится как мыслит сам Бреслав, поэтому я стараюсь следить за его творчеством. Я думаю, что осмысленно слушая умных людей, мы сами становимся умнее.
В своем канале я пишу на разные темы, которые мне интересны, и сегодня речь снова пойдет про AI, только на этот раз в более глобальном, а может даже и философском ключе.
Собственно, не так давно ребята поговорили на тему "Про AI, LLM, AGI, ChatGPT, сингулярность и про то, заменит ли это всё программистов". У них получился совершенно великолепный разговор в тему программисты + AI. Рекомендую к просмотру.
Я выделю здесь несколько ключевых тезисов из подкаста, которые мне показались наиболее интересными:
1) Языки программирования с динамической типизацией (Python, Javanoscript) хорошо подходят для обучения программированию и для быстрой разработки, но для крупных проектов вред от динамической типизации начинает перевешивать пользу от скорости разработки. На ЯП с динамической типизацией проще писать код, но сложнее читать (просто потому, что далеко не всегда понятно с чем мы вообще работаем сейчас). Так вот, Бреслав предполагает, что поскольку для LLM тоже лучше, когда код написан более явно (с указанием типов), может случится так, что ЯП с динамической типизацией могут начать терять свою популярность и уступать языкам со строгой, статической типизацией. Идея интересная и весьма контринтуитивная, с учетом того, что сейчас, насколько мне известно, LLM наоборот могут давать лучшие решения именно на Python и JavaScript просто потому, что кода на этих языках было больше в обучающей выборке. Тем не менее, это хороший повод задуматься о том, чтобы использовать везде явную типизацию просто потому, что для LLM так понятнее.
И хочу еще отметить неочевидную вещь. В языках со статической типизацией мы часто используем
var (это называется "вывод типа", Rider даже обычно предлагает использовать var вместо явного указания типа по умолчанию). Идея в том, что на месте var компилятор автоматически определит тип и подставит правильный. В общем, даже несмотря на то, что var в C#, конечно, же не является динамической типизацией, используя var мы можем слегка усложнять LLMке задачу, ведь она не компилятор и не умеет нормально в вывод типов (особенно в том случае, когда в отправленном контексте просто отсутствует код объявления вызываемых методов). Речь, конечно, о подобных вызовах:var bonus = GetBonus(); // что тут за тип: CutomerBonus, EmployeeBonus или еще какой-то третий? непонятно.
var result = Init(); // а вот тут что есть result в принципе догадаться очень сложно (да, в т. ч. и из-за нейминга)
Короче, вероятно, будет предусмотрительнее уже сейчас опцию csharp_style_var_elsewhere в вашем
.editorconfig задать в false. В этом состоянии она активирует необходимость указывать тип явно в случае когда тип переменной не явный (например, в не new случаях). Скорее всего, LLMкам будет проще обрабатывать такой код, а результат на выходе будет качественнее. Ну, и про nullable/non-nullable аннотации, конечно, тоже не стоит забывать (?).Еще интересные тезисы из подкаста и свои размышления о них запощу чуть позже, а то итак много получилось)
—
Пробелов.NET. Спасибо, что читаете :)
YouTube
Про AI, LLM, AGI, ChatGPT, сингулярность и про то, заменит ли это всё программистов
Андрей Бреслав (ex-JetBrains, а теперь основатель стартапа) и Александр Ложечкин (ex-Microsoft, ex-Amazon, а теперь CIO в банке) рассуждают, спорят, делятся опытом, и просто болтают на темы развития людей, руководства, технологий и всего остального.
Сайт…
Сайт…
👍5🔥4
Нешаблонное собеседование Junior .NET разработчика без опыта работы
Ненадолго отступлю от темы AI и вернусь к теме .NET и собеседований.
Известное дело, что Junior разработчикам сейчас наиболее трудно найти работу, особенно если они без опыта. Какой есть выход? (помимо очевидного накручивания опыта в резюме ) Опенсорс! Делать свои проекты и контрибьютить в популярные чужие. Это отличный способ получить конкурентное преимущество (по моему опыту редкий джун заморачивается над прокачкой своего гитхаба).
Так вот, ко мне обратились из Solvery с предложением провести моковое собеседование на их канале. Я устал от шаблонных собеседований в духе "в чем разница между ref/val типами и что такое наследование", поэтому решил сделать это интервью в совершенно нешаблонном стиле, основанном на обсуждении проектов кандидата и тех технических решений, которые он в них реализовал. В итоге получилось довольно живо, интересно для меня, как для собеседующего, и полезно для кандидата. В принципе, я попытался показать пример того, как может проходить собеседование с джуниор-кандидатом, у которого из опыта есть только проекты на GitHub. Есть небольшая надежда на то, что такой вариант собеса увидит кто-то из собеседующих и задумаются над внедрением чего-то похоже в свои процессы собеседований.
Ссылка на запись: https://youtu.be/K4X4I-k_Hj4
Непосредственно опрашивание начинается с 24-й минуты.
Знаю, что в моем канале есть и опытные дотнетчики-аксакалы, что вы думаете о таком подходе?
PS. Работа с ментором - вообще отдельная история, я немного осветил ее в видео, но, вероятно, сделаю об этом отдельный пост со сравнением работы с ментором и IT-курсов (если это интересно, можете намекнуть мне комментарием под этим постом). Пока просто оставлю здесь ссылочку на еще один крутой сервис по поиску ментора GetMentor.dev (проект некоммерческий и в отличие от Solvery, они не берут никаких комиссий).
PS2. Любопытно, кстати, что кандидат из интервью умудрился законтрибьютить в один из проектов @fvnever. Мы подробнее это обсуждаем в начале.
—
Пробелов.NET. Спасибо, что читаете :)
Ненадолго отступлю от темы AI и вернусь к теме .NET и собеседований.
Известное дело, что Junior разработчикам сейчас наиболее трудно найти работу, особенно если они без опыта. Какой есть выход? (
Так вот, ко мне обратились из Solvery с предложением провести моковое собеседование на их канале. Я устал от шаблонных собеседований в духе "в чем разница между ref/val типами и что такое наследование", поэтому решил сделать это интервью в совершенно нешаблонном стиле, основанном на обсуждении проектов кандидата и тех технических решений, которые он в них реализовал. В итоге получилось довольно живо, интересно для меня, как для собеседующего, и полезно для кандидата. В принципе, я попытался показать пример того, как может проходить собеседование с джуниор-кандидатом, у которого из опыта есть только проекты на GitHub. Есть небольшая надежда на то, что такой вариант собеса увидит кто-то из собеседующих и задумаются над внедрением чего-то похоже в свои процессы собеседований.
Ссылка на запись: https://youtu.be/K4X4I-k_Hj4
Непосредственно опрашивание начинается с 24-й минуты.
Знаю, что в моем канале есть и опытные дотнетчики-аксакалы, что вы думаете о таком подходе?
PS. Работа с ментором - вообще отдельная история, я немного осветил ее в видео, но, вероятно, сделаю об этом отдельный пост со сравнением работы с ментором и IT-курсов (если это интересно, можете намекнуть мне комментарием под этим постом). Пока просто оставлю здесь ссылочку на еще один крутой сервис по поиску ментора GetMentor.dev (проект некоммерческий и в отличие от Solvery, они не берут никаких комиссий).
PS2. Любопытно, кстати, что кандидат из интервью умудрился законтрибьютить в один из проектов @fvnever. Мы подробнее это обсуждаем в начале.
—
Пробелов.NET. Спасибо, что читаете :)
YouTube
Нешаблонное собеседование C# разработчика
Промокод BACK20 - 20% скидка на первое занятие с любым ментором по разработке! Действует до 26.05.2024
Партнерский стрим с моковым собеседованием по C# для бэкендеров в рамках Backend Fest.
Официальный партнер трансляции — .NET Разработчик (https://t.m…
Партнерский стрим с моковым собеседованием по C# для бэкендеров в рамках Backend Fest.
Официальный партнер трансляции — .NET Разработчик (https://t.m…
👍7
Ключевые навыки в программировании с использованием ChatGPT
Дмитрий Нестерук записал получасовой ролик про использование нейронок в программировании - получился эдакий базовый курс для программистов.
Кому подойдет?
1. Тем, кто по той или иной причине еще толком не успел попробовать AI в разработке.
2. Тем, кто уже успел попробовать ChatGPT или другую LLM, но ничего путного у вас из этого не вышло.
Ссылка на видео: https://youtu.be/y6VVnZs1bnE
Дмитрий Нестерук записал получасовой ролик про использование нейронок в программировании - получился эдакий базовый курс для программистов.
Кому подойдет?
1. Тем, кто по той или иной причине еще толком не успел попробовать AI в разработке.
2. Тем, кто уже успел попробовать ChatGPT или другую LLM, но ничего путного у вас из этого не вышло.
Ссылка на видео: https://youtu.be/y6VVnZs1bnE
YouTube
Ключевые навыки в программировании с использованием ChatGPT
Рассказываю о ключевых навыках которыми стоит пользоваться при написании систем с использованием языковых моделей вроде ChatGPT.
🔥11👍3
Гибкая генерация JSON DTO'шек из json файла на любом ЯП через ChatGPT
Обнаружил очередной классный юзкейс применения ChatGPT. Берем JSON файл (можно даже большой) затем скармливаем этот JSON файл ChatGPT и просим сгенерить модельку, на которую будет мапиться JSON (например, на C#).
В чем преимущество в сравнении с готовыми статическими генераторами? В гибкости. Мы можем задать в промпте любые правила генерации DTO'шек (к примеру, для C# это може быть поддержка Nullable Reference Types в моделях или написать XMLDOC с примерами значений).
Диалог из ChatGPT для примера: https://chatgpt.com/share/172d156f-96bc-4dad-bc72-d04cfadd693f
Ну, и здесь же поделюсь ссылкой на сервис, который я раньше использовал для этой задачи: https://app.quicktype.io/
—
Пробелов.NET. Спасибо, что читаете :)
Обнаружил очередной классный юзкейс применения ChatGPT. Берем JSON файл (можно даже большой) затем скармливаем этот JSON файл ChatGPT и просим сгенерить модельку, на которую будет мапиться JSON (например, на C#).
В чем преимущество в сравнении с готовыми статическими генераторами? В гибкости. Мы можем задать в промпте любые правила генерации DTO'шек (к примеру, для C# это може быть поддержка Nullable Reference Types в моделях или написать XMLDOC с примерами значений).
Диалог из ChatGPT для примера: https://chatgpt.com/share/172d156f-96bc-4dad-bc72-d04cfadd693f
Ну, и здесь же поделюсь ссылкой на сервис, который я раньше использовал для этой задачи: https://app.quicktype.io/
—
Пробелов.NET. Спасибо, что читаете :)
👍8👎2
Лучшая модель для кодирования - Claude Sonnet 3.5
Вы уже наверняка слышали, что Anthropic на днях выпустили новую LLM, которая во многих бенчмарках обходит gpt-4o. Таким образом, Claude Sonnet 3.5 становится лучшей моделей для написания кода на сегодня.
Действительно ли лучшая?
Скорее всего, да. Я уже писал о своем любимом бенчмарке на кодирование LiveCodeBench - это набор задач а-ля литкод разной сложности.
Так вот, в LCB в задачках средней сложности новая Sonnet примерно на четверть обходит gpt-4o, а вот в Hard задачки она решает аж в 2 раза лучше! (даже чуть больше). Теперь понятно почему у людей новая соннет действительно решает принципиально более сложные задачи лучше, чем gpt-4o.
Кстати, неожиданные результаты в бенчмарке aider - обычные правки новая Sonnet действительно делает лучше всех с отрывом от GPT-4o на 5.3% (и то при формате редактирования whole, но это уже детали). При этом сразу за Sonnet идёт новая DeepSeek Coder V2, слегка опережая GPT-4o - видимо, из-за лучшего следования инструкциям.
А вот, в задачах на рефакторинг (с большим контекстом), новая Sonnet заметно проседает и отстаёт от Opus на 17.2%, и от GPT-4o на 7.8%.
Мой опыт
1. Мою сложную задачу на вычисление максимальной глубины проекта в зависимостях в итоге смогла решить только новая Sonnet, остальные не вывозили, как я их ни мучал.
2. Новая Sonnet смогла полностью реализовать программу для мерджа множество .NET солюшенов в один большой солюшн (правда, с моими подсказками). Об этом я напишу в отдельном посте.
Так что, рекомендую попробовать (особенно скептикам) - возможно, нейросети вам откроются с новой стороны.
Как воспользоваться?
A) На сайте Claude новая моделька доступна даже в бесплатной версии (с определенными лимитами).
B) Через OpenRouter (после регистрации).
—
Пробелов.NET. Спасибо, что читаете :)
Вы уже наверняка слышали, что Anthropic на днях выпустили новую LLM, которая во многих бенчмарках обходит gpt-4o. Таким образом, Claude Sonnet 3.5 становится лучшей моделей для написания кода на сегодня.
Действительно ли лучшая?
Скорее всего, да. Я уже писал о своем любимом бенчмарке на кодирование LiveCodeBench - это набор задач а-ля литкод разной сложности.
Так вот, в LCB в задачках средней сложности новая Sonnet примерно на четверть обходит gpt-4o, а вот в Hard задачки она решает аж в 2 раза лучше! (даже чуть больше). Теперь понятно почему у людей новая соннет действительно решает принципиально более сложные задачи лучше, чем gpt-4o.
А вот, в задачах на рефакторинг (с большим контекстом), новая Sonnet заметно проседает и отстаёт от Opus на 17.2%, и от GPT-4o на 7.8%.
Мой опыт
1. Мою сложную задачу на вычисление максимальной глубины проекта в зависимостях в итоге смогла решить только новая Sonnet, остальные не вывозили, как я их ни мучал.
2. Новая Sonnet смогла полностью реализовать программу для мерджа множество .NET солюшенов в один большой солюшн (правда, с моими подсказками). Об этом я напишу в отдельном посте.
Так что, рекомендую попробовать (особенно скептикам) - возможно, нейросети вам откроются с новой стороны.
Как воспользоваться?
A) На сайте Claude новая моделька доступна даже в бесплатной версии (с определенными лимитами).
B) Через OpenRouter (после регистрации).
—
Пробелов.NET. Спасибо, что читаете :)
🔥9❤3
Учимся промптить, генерировать картинки видео и музыку и все это за 3 часа
Не совсем про программирование, но очень интересно. Сегодня YouTube со своей прекрасной системной рекомендаций подсказал мне видео "Как войти в топ 1% по использованию ChatGPT и других ИИ-инструментов?" - это новое интервью на канале Армана Сулейманова, которое сделано в формате скринкаста и обучающей форме. За 3 часа ребята довольно подробно разобрали наиболее популярные и широкие нейросети:
🔸 ChatGPT для текстогенерации
🔸 Perplexity для поиска
🔸 GPTs для специфичных задач
🔸 DALL-E, Midjourney и Stable Diffusion для генерации изображений
🔸 Suno, Udio, Sounddraw для генерации музыки
🔸 Pika, Runway для генерации видео
🔸 HeyGen для создания цифрового двойника
В общем, получился эдакий бесплатный практический вводный курс по современным нейросетям за 3 часа. Ах да, Руслан Сыздыков - Prompt Engineer из компании Higgsfield.ai. Весь ролик я посмотреть пока не успел, но часть про промптинг мне зашла.
От себя дополню в тему промптингу - Antropic недавно выпустили прекрасный инструмент для генерации промптов Prompt Generator. Еще, важный нюанс в том, что у Claude моделей контекст менее дырявый, чем у gpt-4o (см. бенчмарк BABIlong и paper про Sonnet 3.5).
Кстати, на неделе вышло несколько новых мощных нейросетей, в т. ч. для кодинга - если кому-то интересен краткий обзор этих нейросетей в задачах на программирование (основанный не code-бенчмарках) - скажите и я постараюсь найти время на соотв. пост.
—
Пробелов.NET. Спасибо, что читаете :)
Не совсем про программирование, но очень интересно. Сегодня YouTube со своей прекрасной системной рекомендаций подсказал мне видео "Как войти в топ 1% по использованию ChatGPT и других ИИ-инструментов?" - это новое интервью на канале Армана Сулейманова, которое сделано в формате скринкаста и обучающей форме. За 3 часа ребята довольно подробно разобрали наиболее популярные и широкие нейросети:
🔸 ChatGPT для текстогенерации
🔸 Perplexity для поиска
🔸 GPTs для специфичных задач
🔸 DALL-E, Midjourney и Stable Diffusion для генерации изображений
🔸 Suno, Udio, Sounddraw для генерации музыки
🔸 Pika, Runway для генерации видео
🔸 HeyGen для создания цифрового двойника
В общем, получился эдакий бесплатный практический вводный курс по современным нейросетям за 3 часа. Ах да, Руслан Сыздыков - Prompt Engineer из компании Higgsfield.ai. Весь ролик я посмотреть пока не успел, но часть про промптинг мне зашла.
От себя дополню в тему промптингу - Antropic недавно выпустили прекрасный инструмент для генерации промптов Prompt Generator. Еще, важный нюанс в том, что у Claude моделей контекст менее дырявый, чем у gpt-4o (см. бенчмарк BABIlong и paper про Sonnet 3.5).
Кстати, на неделе вышло несколько новых мощных нейросетей, в т. ч. для кодинга - если кому-то интересен краткий обзор этих нейросетей в задачах на программирование (основанный не code-бенчмарках) - скажите и я постараюсь найти время на соотв. пост.
—
Пробелов.NET. Спасибо, что читаете :)
YouTube
Как войти в топ 1% по использованию ChatGPT и других ИИ-инструментов? - Руслан Сыздыков, Higgsfield
nFactorial Club - это invite-only сообщество предпринимателей, фаундеров, инвесторов, топ-менеджеров и экспертов. Подать заявку: https://nfactorialschool.typeform.com/to/LybSrqwc
Объявляем новый поток на онлайн-курс «Генеративный ИИ: от нуля до профи за…
Объявляем новый поток на онлайн-курс «Генеративный ИИ: от нуля до профи за…
🔥15👍6
Текущая картина по моделькам для кодинга, мое грядущее выступление на DotNext и... конкурс
Но начну вот с чего: набрел тут на сервис https://glhf.chat/ - он позволяет в один клик запускать разные модели с HF, а по запросу могут даже включить API доступ к развернутым вами моделькам. Сервис пока в бете, поэтому доступ бесплатный (после регистрации). В лимиты пока не успел упереться, так что неизвестно, есть ли они вообще.
Быстрый чек показал, что модели похожи на настоящие (ну кто ж знает, вдруг, обманывают). Во всяком случае, по запросу
А на скриншоте ключевой кусочек корректной реализации задачки на параллелизм от llama-3.1-405b (в котором моделька выбрала "продвинутый" метод из TPL, появившийся в .NET 6 - кажется, о нем разработчики-то не все еще знают).
Собственно, уже давно был запрос написать что-то про новую большую лламу на 400b параметров. Вот, пишу.
Опираясь на мой любимый LiveCodeBench (задачки а-ля литкод дают более-менее объективнумю картину), видно, что LLama3.1-405b-Ins-FP8 хорошая модель, но не лучшая. Что касается моего (небольшого) субъективного опыта применения этой модели в .NET-specified задачах, то могу лишь сказать, что мне ответы Sonnet 3.5 и gpt-4o нравятся больше.
Кстати, пощупать новую большую лламу помимо glhf.chat можно еще и на https://hyperbolic.xyz/ (при регистрации они дают халявные 10$ - этого должно хватить примерно на 2 млн токенов).
Далее, из интересных актуальных моделек хочу отдельно выделить Yi-Coder-9B-Chat - судя по LiveCodeBench на текущий момент это единственная открытая 9B модель, которая перегнала gpt-3.5 в кодинге. Напомню, что 9B модели можно запускать на M1,2,3 макбуках с 32 GB shared memory, а если они квантизованные, то и 18 GB будет достаточно.
Еще, 11 сентября в 11:30 (по МСК) я буду выступать с очередным докладом про применения LLM в разработке (онлайн с Бали).
Кроме меня на конференции, как обычно, выступает множество спикеров, в т. ч. многоуважаемый Евгений Пешков (@epeshkblog) с докладом про сравнение реализаций асинхронности в разных платформах: .NET, Java и Go - это одна из моих любимых тем (после AI, конечно), так что должно быть очень интересно. Кстати, конкретно доклад Жени будет транслироваться для всех безоплатно.
🔥Конкурс🔥
Я люблю коллекционировать классные кейсы применения LLM в разработке, а потом о самых удачных рассказывать другим разработчикам. Поэтому, если у вас есть крутые кейсы из практики - предлагаю поделиться ими в комментариях к этому посту. А автору самого интересного кейса достанется билет на этот DotNext (онлайн или оффлайн).
—
Пробелов.NET. Спасибо, что читаете :)
Но начну вот с чего: набрел тут на сервис https://glhf.chat/ - он позволяет в один клик запускать разные модели с HF, а по запросу могут даже включить API доступ к развернутым вами моделькам. Сервис пока в бете, поэтому доступ бесплатный (после регистрации). В лимиты пока не успел упереться, так что неизвестно, есть ли они вообще.
Быстрый чек показал, что модели похожи на настоящие (ну кто ж знает, вдруг, обманывают). Во всяком случае, по запросу
Create API client in .NET for OpenAI that supports parallel embeddings generation with configurable dop что-то адекватное выдала только самая большая ллама на 405b. Хваленая Reflection, кстати, без подсказок не реализует адекватный параллелизм.А на скриншоте ключевой кусочек корректной реализации задачки на параллелизм от llama-3.1-405b (в котором моделька выбрала "продвинутый" метод из TPL, появившийся в .NET 6 - кажется, о нем разработчики-то не все еще знают).
Собственно, уже давно был запрос написать что-то про новую большую лламу на 400b параметров. Вот, пишу.
Опираясь на мой любимый LiveCodeBench (задачки а-ля литкод дают более-менее объективнумю картину), видно, что LLama3.1-405b-Ins-FP8 хорошая модель, но не лучшая. Что касается моего (небольшого) субъективного опыта применения этой модели в .NET-specified задачах, то могу лишь сказать, что мне ответы Sonnet 3.5 и gpt-4o нравятся больше.
Кстати, пощупать новую большую лламу помимо glhf.chat можно еще и на https://hyperbolic.xyz/ (при регистрации они дают халявные 10$ - этого должно хватить примерно на 2 млн токенов).
Далее, из интересных актуальных моделек хочу отдельно выделить Yi-Coder-9B-Chat - судя по LiveCodeBench на текущий момент это единственная открытая 9B модель, которая перегнала gpt-3.5 в кодинге. Напомню, что 9B модели можно запускать на M1,2,3 макбуках с 32 GB shared memory, а если они квантизованные, то и 18 GB будет достаточно.
Еще, 11 сентября в 11:30 (по МСК) я буду выступать с очередным докладом про применения LLM в разработке (онлайн с Бали).
Кроме меня на конференции, как обычно, выступает множество спикеров, в т. ч. многоуважаемый Евгений Пешков (@epeshkblog) с докладом про сравнение реализаций асинхронности в разных платформах: .NET, Java и Go - это одна из моих любимых тем (после AI, конечно), так что должно быть очень интересно. Кстати, конкретно доклад Жени будет транслироваться для всех безоплатно.
🔥Конкурс🔥
Я люблю коллекционировать классные кейсы применения LLM в разработке, а потом о самых удачных рассказывать другим разработчикам. Поэтому, если у вас есть крутые кейсы из практики - предлагаю поделиться ими в комментариях к этому посту. А автору самого интересного кейса достанется билет на этот DotNext (онлайн или оффлайн).
—
Пробелов.NET. Спасибо, что читаете :)
🔥14👍6
Media is too big
VIEW IN TELEGRAM
aider — AI-Junior разработчик, доступный из вашей любимой IDE
Друзья, совместно с клубом Эволюция Кода публикуем воркшоп по (субъективно) наиболее удобному и мощному инструменту для разработки, доступному из любой IDE.
По-моему, на текущий момент это единственный воркшоп по aider в открытом интернете.
А что вообще за aider такой?
aider это инструмент для парного программирования с использованием языковых моделей (LLM), позволяющий редактировать код в вашем локальном git-репозитории. С его помощью вы можете начать новый проект или работать с существующим git-репозиторием. Aider наиболее эффективен при использовании GPT-4o и Claude 3.5 Sonnet, но также совместим практически с любыми другими языковыми моделями (официальное описание).
От себя добавлю, что aider — это действительно прекрасный инструмент, который, фактически, служит клеем между IDE и LLM; в консоли разработчик на естественном языке описывает то, что нужно исправить/создать, aider обрабатывает это сообщение, сам патчит необходимые исходные файлы, (если надо) запускает команды в консоли (типа dotnet install) и коммитит изменения в репозиторий. В общем, инструмент мощнейшний.
Единственная проблема aider в том, что с ходу его вряд ли получится использовать эффективно. По-хорошему, нужно будет посвятить какое-то время на его изучение. Именно поэтому мы записали воркшоп, в котором на примере конкретной задачи демонстрируем установку, настройку и использование aider.
Кстати, на днях в соседнем канале LLM под капотом Ринат опубликовал свой воркфлоу разработки, в который входит и aider, там же есть инструкция о том, как можно хорошо сэкономить на его использовании (включить кеширование).
Пользуясь случаем подробнее расскажу про клуб Эволюция кода.
В клубе регулярно проводятся тематические созвоны и воркшопы, а его участники регулярно делятся полезными инструментами - например, недавно запостили ссылочку на открытый инструмент для чата с репозиторием (поиск по коду на естественном языке).
Еще, доступна открытая коллекция юзкейсов от участников клуба.
В общем, горячо рекомендую Эволюцию Кода.
Отдельно хочу поблагодарить Лекса @itbeard, который организовал этот воркшоп.
Upd: залили на YouTube: https://youtu.be/NXwWLNPHd38
—
Пробелов.NET совместно с клубом Эволюция кода. Спасибо, что читаете :)
Друзья, совместно с клубом Эволюция Кода публикуем воркшоп по (субъективно) наиболее удобному и мощному инструменту для разработки, доступному из любой IDE.
По-моему, на текущий момент это единственный воркшоп по aider в открытом интернете.
А что вообще за aider такой?
aider это инструмент для парного программирования с использованием языковых моделей (LLM), позволяющий редактировать код в вашем локальном git-репозитории. С его помощью вы можете начать новый проект или работать с существующим git-репозиторием. Aider наиболее эффективен при использовании GPT-4o и Claude 3.5 Sonnet, но также совместим практически с любыми другими языковыми моделями (официальное описание).
От себя добавлю, что aider — это действительно прекрасный инструмент, который, фактически, служит клеем между IDE и LLM; в консоли разработчик на естественном языке описывает то, что нужно исправить/создать, aider обрабатывает это сообщение, сам патчит необходимые исходные файлы, (если надо) запускает команды в консоли (типа dotnet install) и коммитит изменения в репозиторий. В общем, инструмент мощнейшний.
Единственная проблема aider в том, что с ходу его вряд ли получится использовать эффективно. По-хорошему, нужно будет посвятить какое-то время на его изучение. Именно поэтому мы записали воркшоп, в котором на примере конкретной задачи демонстрируем установку, настройку и использование aider.
Кстати, на днях в соседнем канале LLM под капотом Ринат опубликовал свой воркфлоу разработки, в который входит и aider, там же есть инструкция о том, как можно хорошо сэкономить на его использовании (включить кеширование).
Пользуясь случаем подробнее расскажу про клуб Эволюция кода.
В клубе регулярно проводятся тематические созвоны и воркшопы, а его участники регулярно делятся полезными инструментами - например, недавно запостили ссылочку на открытый инструмент для чата с репозиторием (поиск по коду на естественном языке).
Еще, доступна открытая коллекция юзкейсов от участников клуба.
В общем, горячо рекомендую Эволюцию Кода.
Отдельно хочу поблагодарить Лекса @itbeard, который организовал этот воркшоп.
Upd: залили на YouTube: https://youtu.be/NXwWLNPHd38
—
Пробелов.NET совместно с клубом Эволюция кода. Спасибо, что читаете :)
🔥14👍1
🍓o1 — Новая прорывная модель для кодинга от OpenAI
Не успел я выступить на DotNext с докладом про использование LLM в разработке (слайды тут) и хвалами в адрес Claude Sonnet 3.5, как OpenAI выпустили новую модель для программирования, которая по их же описанию оставила далеко позади все остальные модели в задачах на программирование и математику.
Результаты у этих моделей, судя по анонсу OpenAI, действительно прорывные. Я не буду здесь пересказывать анонс OpenAI, т. к. это уже многие сделали (раз, два, три).
Результаты моделей o1 в задачах на программирование
Собственно, перейду сразу к результатам. Я предлагаю сразу смотреть на мой любимый LiveCodeBench, т. к. кажется, что остальные бенчмарки по программированию с выходом Sonnet 3.5 и o1 уже не очень показательны (например, HumanEval).
Сосредоточим внимание на колонке Hard и Medium (т. к. в. категории Easy там уже почти некуда соревноваться). Если включить все задачки (оттянуть ползунок влево), то мы увидим картинку как на скриншоте. Видно, что в категории задач уровня Hard (требующих наилучшего reasoning), модель O1-Preview опережает Sonnet 3.5 почти на 30%, а вот модель O1-Mini на сложных задачах оказалось умнее, чем Sonnet 3.5 аж более, чем в 3 раза!
Кроме того, на свеженькие вопросы со StackOverflow новые модели отвечают на 30% лучше.
Отмечу, что размер контекстного окна на output существенно расширен (для o1-preview до 32к токенов, а для o1-mini до 65к). При этом, общий размер контекстного окна (вход + выход) 128к токенов (тут, увы, не удивили).
Как это работает?
Есть такой интересный прием CoT (Chain of thought) - это когда в конце промпта мы просто добавлявляем "Думай шаг за шагом". Удивительно, но этот подход существенно улучшает способности модели к решению сложных задач - он универсален, т. е. применим чуть ли не к любым LLM. Так вот, OpenAI каким-то образом приучили свои новые модели всегда использовать этот подход, наделив их, по сути, нативными способностями к декомпозиции и подробному, многошаговому анализу задачу. Примечательно, что новые модели даже иногда могут прийти к некому промежуточному выводу, затем поймать себя на ошибке исправиться. Всю инфу по o1 OpenAI собрали в хабе o1.
А еще, ребята из GitHub Copilot тоже подсуетились и, похоже, совсем скоро мы увидим новые модели и там.
Как попробовать?
1) В интерфейсе ChatGPT с подпиской ChatGPT Plus.
2) Через API OpenAI (но для этого пока нуженаж 5-й tier upd: уже 3-й tier)
3) Через API OpenRouter - я тестировал именно так, работает действительно отлично.
4) Через API Azure OpenAI (но сначала нужно оставить заявку на доступ)
5) Бесплатно из плагина Double для VSCode (спасибо автору канала Not Boring Tech за инструкцию)
6) Через телеграм-бот Ильи Гусева (бесплатно всего 2 запроса в день)
P.S. Рад видеть новых подписчиков в своем канале - спасибо всем, кто присоединился! Чуть позже будет пост-навигатор по самым интересным материалам канала, а также мощный воркшоп про смысл асинхронности в .NET.
—
Пробелов.NET. Спасибо, что читаете :)
Не успел я выступить на DotNext с докладом про использование LLM в разработке (слайды тут) и хвалами в адрес Claude Sonnet 3.5, как OpenAI выпустили новую модель для программирования, которая по их же описанию оставила далеко позади все остальные модели в задачах на программирование и математику.
Результаты у этих моделей, судя по анонсу OpenAI, действительно прорывные. Я не буду здесь пересказывать анонс OpenAI, т. к. это уже многие сделали (раз, два, три).
Результаты моделей o1 в задачах на программирование
Собственно, перейду сразу к результатам. Я предлагаю сразу смотреть на мой любимый LiveCodeBench, т. к. кажется, что остальные бенчмарки по программированию с выходом Sonnet 3.5 и o1 уже не очень показательны (например, HumanEval).
Сосредоточим внимание на колонке Hard и Medium (т. к. в. категории Easy там уже почти некуда соревноваться). Если включить все задачки (оттянуть ползунок влево), то мы увидим картинку как на скриншоте. Видно, что в категории задач уровня Hard (требующих наилучшего reasoning), модель O1-Preview опережает Sonnet 3.5 почти на 30%, а вот модель O1-Mini на сложных задачах оказалось умнее, чем Sonnet 3.5 аж более, чем в 3 раза!
Кроме того, на свеженькие вопросы со StackOverflow новые модели отвечают на 30% лучше.
Отмечу, что размер контекстного окна на output существенно расширен (для o1-preview до 32к токенов, а для o1-mini до 65к). При этом, общий размер контекстного окна (вход + выход) 128к токенов (тут, увы, не удивили).
Как это работает?
Есть такой интересный прием CoT (Chain of thought) - это когда в конце промпта мы просто добавлявляем "Думай шаг за шагом". Удивительно, но этот подход существенно улучшает способности модели к решению сложных задач - он универсален, т. е. применим чуть ли не к любым LLM. Так вот, OpenAI каким-то образом приучили свои новые модели всегда использовать этот подход, наделив их, по сути, нативными способностями к декомпозиции и подробному, многошаговому анализу задачу. Примечательно, что новые модели даже иногда могут прийти к некому промежуточному выводу, затем поймать себя на ошибке исправиться. Всю инфу по o1 OpenAI собрали в хабе o1.
А еще, ребята из GitHub Copilot тоже подсуетились и, похоже, совсем скоро мы увидим новые модели и там.
Как попробовать?
1) В интерфейсе ChatGPT с подпиской ChatGPT Plus.
2) Через API OpenAI (но для этого пока нужен
3) Через API OpenRouter - я тестировал именно так, работает действительно отлично.
4) Через API Azure OpenAI (но сначала нужно оставить заявку на доступ)
5) Бесплатно из плагина Double для VSCode (спасибо автору канала Not Boring Tech за инструкцию)
6) Через телеграм-бот Ильи Гусева (бесплатно всего 2 запроса в день)
P.S. Рад видеть новых подписчиков в своем канале - спасибо всем, кто присоединился! Чуть позже будет пост-навигатор по самым интересным материалам канала, а также мощный воркшоп про смысл асинхронности в .NET.
—
Пробелов.NET. Спасибо, что читаете :)
🔥19👍8