AI-Driven Development. Родион Мостовой – Telegram
AI-Driven Development. Родион Мостовой
4.15K subscribers
87 photos
3 videos
1 file
82 links
Увлекательно рассказываю про AI в разработке, про построение продуктов с LLM под капотом и иногда про .NET.
Связь: @rodion_m_tg
Чат: @ai_driven_chat
Download Telegram
Актуальная картина по LLM для разработки на октябрь

Звезда недели — Claude Sonnet 3.5 v2 — самая практичная модель для кодинга
Многие ждали новую Opus, но Anthropic всех удивили слегка улучшенной Sonnet. И действительно, если посмотреть на мой любимый бенчмарк LCB, то там новая Sonnet и вовсе оказалась даже чуть хуже своего предка (50.2 vs 50.8 на всей выборке). А вот если посмотреть LiveBench (они расширили секцию кодинга задачами на заполнение недостающего кода, а также добавили несколько других секция, включая Reasoning).
claude-3-5-sonnet-20241022 - это и есть Claude 3.5 Sonnet v2.
Можно было бы и на этом закончить, но давайте пойдем дальше. Я иногда люблю поглядывать бенчмарк от aider - из него уже можно получить более практичную картину по LLMкам в программистских задачах, требующих работы с несколькими файлами одновременно или даже рефакторингов. Так вот, в aider новая соннет показывает результаты даже круче, чем o1 (o1 очень "умная", но у нее проблемы с соблюдением форматов). Особенно существенный прирост (почти 30%) мы видим как раз в задачах на рефакторинг (у меня, например, таких больше всего в реальной разработке).
Так что, работу ребята из Anthropic проделали существенную, за что им и спасибо.

Кстати, самое интересное, что Anthropic со своей новой моделью с ходу залетели в лидерборд бенчмарка по разработке ПО SWE-bench Verified, еще и сразу с лучшим результатом (49%). Тут я обращаю внимание на то, что они использовали не чистую модель, а некий Tools (в посте ниже описываю как они этого добились) - результат потрясающий. Еще, отрадно видеть в этом лидерборде весьма неплохие результаты от команды nFactorial AI (ребята из Казахстана).

Как попробовать обновленную Sonnet?
1) В веб интерфейсе Anthropic (после регистрации и с лимитами)
2) Через API Anthropic (платно)
3) Через веб интерфейс или API OpenRouter (платно)
4) Через Blackbox (слева сверху нужно выбрать модель Sonnet (работает хорошо, но нет 100%-й уверенности, что это именно новая Sonnet).
5) Через LLM Playground (бесплатно и с лимитом до 1000 символов)
6) Через телеграм-бот Ильи Гусева (бесплатно всего 3 запроса в день)

Qwen 2.5 Ins 72B - открытая модель уровня GPT-4o в кодинге
Что еще случилось за этот месяц? Ребята из Alibaba Cloud выпустили очередное обновление своей линейки Qwen до версии 2.5. Теперь их самая большая моделька Qwen2.5-72B-Instruct кодит на уровне самых топовых закрытых моделей, на уровне GPT-4o (судя по LCB). Эта модель доступна через OpenRouter по цене в несколько раз ниже GPT-4o.
Ну и последний фаворит (точнее, фаворитка) - модель Qwen 2.5 Coder Ins 7B, показывающая в LCB результаты в кодинге, сопоставимые с одной из первых версий gpt-4 (а это очень достойный уровень). В действительности, именно с этой моделью все сложнее, т. к. если выборку начать с 4/1/2024, то в рейтинге эта модель сильно падает аж до уровня Claude 3 Haiku. Так что, возможно, ее как-то очень по хитрому обучили на задачах из бенчмарка. Но если вы любитель локальных моделей, то попробовать стоит в любом случае.

А вот нашумевшая модель llama-3.1-nemotron-70b оказалось не такой уж и выдающейся (Qwen 2.5 72B показывает существенно лучшие результаты).


Еще одна хорошая новость - я расширяю команду проекта CodeAlive, в котором мы делаем поиск по коду на естественном языке, существенно превосходящий аналогичные решения в качестве и кое-что большее. Waitlist здесь.

Еще, у меня за последние пару месяцев накопилось с десяток разных идей продуктов с GenAI под капотом, но времени на их реализацию нет совершенно. Поэтому, если у кого-то из вас давно чесались руки сделать GenAI пет-проект - напишите мне, я поделюсь идеями и, возможно, даже своими представлениями по реализации.


Пробелов.NET. Спасибо, что читаете :)
🔥15👍4
Как устроен лучший автономный AI-разработчик на сегодня (публично доступный)

Anthropic сделали большое дело — опубликовали статью о том, как им удалось добиться лучшего результата в бенчмарке AI-агентов-программистов SWE-bench (см. Verified). Почему дело большое? Потому, что SWE-bench — это поле битвы автономных AI-агентов-программистов, в котором разные компании пытаются зарезловить как можно больше Issues из определенного списка OpenSource проектов. Так вот, Anthropic с их Claude 3.5 Sonnet v2 действительно удалось добиться выдающегося результата, сместив всех предыдущих "Senior AI-инженеров" с пьедестала.
А про SWE-bench недавно был хороший пост в канале Сиолошная (последняя новость в посте). Вот, кстати, емкое определение оттуда же, оно мне понравилось:
SWE-bench — Это бенчмарк оценки способностей LLM по внесению изменений, описанных текстом, в кодовую базу большого существующего проекта (одни из самых популярных Python-фреймворков, например, Django).

В каждом задании бенчмарка ИИ предоставляется настроенная среда Python и копия репозитория в состоянии перед тем, как ошибка была устранена. Модель должна проанализировать, изменить и протестировать код, а затем предложить своё решение.

Для тех, кто хочет глубже, вот подробное описание SWE-bench Verified.

Как это работает
Высокоуровнево, они это сделали через Tool Use (function calling) — это когда разработчик описывает для нейросети список доступных функций и просит ее, когда это уместно, вызывать одну (или несколько) из описанных функций. Например, можно объявить функцию получения текущей даты и времени и когда пользователь спросит текущее время у LLM, она "вызовет" функцию и ответит ему правильно.
Ребята реализовали две функции:
1. Bash Tool для запуска bash комманд.
2. Edit Tool для просмотра, создания и редакирования файлов. А Edit Tool, в свою очередь, состоит из 5-х команд: view, create, str_replace, insert, undo_edit.

Отдельный интерес представляют промпты (в т. ч. описание тулинга) — только посмотрите на сколько они подробные.
В главном промпте хочу обратить внимание на предложение к LLM сначала воспроизвести баг локально (изолированно) и только после этого решать проблему.
Челленджы такого подхода в статье описаны отдельно. Пример так же есть в статье.

Эти 2 функции LLM выполняет последовательно в том порядке и с теми аргументами, которые считает нужными, а результат выполнения передается обратно в LLM и, таким образом, итеративно накапливается довольно большой контекст, состоящий из messages к LLM (для Claude 3.5 контекст все еще ограничен 200к токенами). Если задача решена, либо модель вышла за пределы контекста, цикл останавливается.

Что нам с этого?
В принципе, такой подход можно применить и для решения рабочих задач — взять какой-нибудь баг или даже небольшую фичу из таск трекера и делегировать реализацию описанному агенту. Кстати, вместо Sonnet 3.5 v2 можно использовать и другую LLM, поддерживающую function calling.

Ну что, будем ждать новый еще более мощный тулинг (а-ля aider), реализованный по статье. Еще, опять же, в кач-ве пет проекта можно повторить описанный подход и самостоятельно.


Пробелов.NET. Спасибо, что читаете :)
🔥13👍7
SearchGPT для задач программирования

Новая функция поиска в ChatGPT — вещь потрясающая и для задач на программирование тоже. Рисовал только что графы через React Flow, и GPT никак не мог изменить background color графа — но стоило лишь активировать поиск и он тут же справился с задачей. Для этого я включил функцию поиска (внизу под чатом) и просто отправил сообщение "Still (not working). Try to search in the internet.".
Что отдельно радует — так это то, что работает поиск очень быстро (по ощущениям менее секунды).

Похоже, что вот оно и долгожданное решение проблемы неактуальных версий и API.
Браво, OpenAI!

Доступна новая фича пока только по подписке Plus, но в будущем обещают и бесплатным пользователям выдать доступ.

Кстати, уже давно есть бесплатные суррогаты а-ля GPT с поиском для программистов. Например, на devv.ai или blackbox.ai. Но лучше оригинальный SearchGPT, конечно.

А у вас какой опыт использования нового поиска?
🔥10👍4
Поиск по коду на естественном языке + вакансии в CodeAlive

Известное дело, что современные LLM открывают большие просторы для продуктов с AI под капотом. Сейчас делают множество решений для No/Low Code и создания софта с нуля (v0.dev, bolt.new, Replit Agent и т. д.), но вот продуктов для доработки уже существующих больших кодовых баз, позволяющих хотя бы задавать вопросы по всему проекту пока не так много.
Из наиболее доступных решений могу отметить:
1) Поиск по коду через чат в Cursor (нужно написать в чатике @codebase и задать вопрос).
2) Поиск по коду через чат GitHub Copilot (нужно написать в чатике @workspace и задать вопрос, работает пока только в VSCode)
3) Команда /ask в aider тоже работает довольно неплохо (но чуть хуже, чем в Cursor и Copilot)

Перечисленных выше решения работают неплохо, но у них есть несколько важных недостатков:
1) Privacy - не до конца понятно как именно работает индексация в Cursor и Copilot, найти достоверную инфу об этом оказалось не так просто (раз, два), а Perplexity и SearchGPT уверенно отвечают, что эмбеддинги генерируются удаленно - если это так, значит, весь ваш код Курсору/Копайлоту приходится отправлять на third-party сервера - что часто является нарушением NDA.
2) Индексация зачастую ограничивается одним проектом или репозиторием, поэтому отсутствует понимание того, как реализовано взаимодействие компонентов в рамках всей системы, с учетом вспомогательных репозиториев (например, понимания как фронтэнд общается с бекендом). Из-за этого может хромать качество поиска.
3) Отсутствует интеграция с таск трекером - зачем дожидаться пока разработчик задаст вопрос по кодовой базе, если AI может прямо в таск трекере оставить dev notes о том, как пофиксить тот или иной баг или реализовать ту или иную фичу.

Все эти проблемы (и много больше) мы сейчас решаем в CodeAlive. А хорошая новость в том, что сейчас мы расширяем команду разработки и ищем разработчиков, которых так же, как и нас драйвят продукты с LLM под капотом.
На данный момент нужны Middle+ (желательно Senior) уровня разработчики на React / TypeScript; кроме того, есть потребность в DevOps. Возможен фулл и парт тайм формат работы. Т. к. проект на ранней стадии, еще есть возможность войти в проект за equity (долю в компании) + график обсуждаемый, поэтому вилку не пишем намеренно.
Вакансии тут.
Если вы (как и я когда-то) устали от рутинных задач на работе и у вас остается некоторое количество свободного времени, то, вероятно, вам будет интересно поучаствовать в разработке CodeAlive.
По всем вопросам пишите: @rodion_m_tg
👍8🔥3
Новые библиотеки от MS для работы с AI/LLM в .NET

В .NET потихоньку завозят новые библиотеки для работы с AI/LLM: Microsoft.Extensions.AI и Microsoft.Extensions.VectorData.
Для чего? Для унификации. Ранее какую-то унификацию пытались добавить в SemanticKernel, но кажется, что процесс добавления поддержки новых LLM-провайдеров неприлично долгий (пример Anthropic), да и сложно, видимо, качественно поддерживать разных провайдеров своими силами в рамках этой библиотеки.
Теперь же разработчикам LLM-провайдеров (API клиентов) будет достаточно просто реализовать соответствующие интерфейсы из Microsoft.Extensions.AI.Abstractions и это позволит другим .NET разработчикам (зависимым от Microsoft.Extensions.AI.Abstractions) бесшовно заменять у себя одного LLM провайдера на другого — мне этого прям не хватало.
У меня есть весьма неплохая библиотека для работы с API OpenAI/OpenRouter/Azure OpenAI из .NET и, возможно, пришло время вдохнуть в нее новую жизнь реализацией соответствующих интерфейсов из Microsoft.Extensions.AI.Abstractions + добавить поддержку генерации эмбеддингов из разных сервисов, а то с SemanticKernel я уже успел намучаться (недавно они просто сломали совместимость с моделями из OpenRouter). И вообще, для .NET очень не хватает аналога питоновской LiteLLM. Кстати, если кто-то ищет себе актуальный опенсорсный проект, то вот вам хорошая возможность (условный LiteLlm.NET).

NB: Новость увидел у denisio в канале Записки программера (он периодически постит годный контент про .NET).


Пробелов.NET
👍7🔥4
Reasoning models: o1, o1-pro, Gemini Flash Thinking, QwQ 32b, o3-mini

Ну что, всех с наступившим! Если меня спросят какой тренд в AI мире наблюдается в 2025 году, то я смело отвечу, что это reasoning модели и AI-агенты. "Агентность" - это когда LLM наделяют волей самостоятельно принимать решение о том, каким должен быть следующий шаг для достижения успеха в решении задачи. Пример в контексте программирования - это системы типа Devin, Cursor Agent и автономный aider. AI-Агенты - это очень интересная тема, о которой я еще обязательно буду говорить, но сейчас сфокусируемся на reasoning моделях как средстве еще больше повысить нашу, программистскую продуктивность.

Итак, OpenAI провели серию больших (и маленьких релизов) и в течение 12-ти дней что-то да выпускали - почитать саммари релиза каждого дня можно, например, в канале Игоря Акимова. Мы же здесь поговорим про самые важные релизы для программистов — это модельки о1 (pro) и o3.
Описание моделей линейки o я уже приводил в этом посте, напомню лишь кратко, что это специальная линейка моделей от OpenAI, к котором прикручена способность к рефлексии - иными словами, интеллектуальные способности этих моделей (которые так важны для решения задач на программирование) существенно выше, чем все, что было до этого в LLM.
Сразу скажу от себя, что эти модели действительно большой прорыв в решении задач на программирование, я могу это подтвердить и своим личном опытом их использования. Да, я опять буду показывать вам бенчмарки, но только те, которые в моем понимании хорошо мапятся на реальность.

В LiveCodeBench видно, что o1-high превосходит Sonnet 3.5 в решении сложных алгоритмических задач примерно в x5 раз.
Да, модель o1 по API доступна в 3-х вариациях reasoning effort: low, medium и high - чем выше это значение, тем дольше модель будет "думать" (кстати, у меня есть подозрение, что в Web версии ChatGPT reasoning effort определяется автоматически).

И, напоследок, посмотрим бенчмарк от самой OpenAI - задачки на CodeForces (смотрим второй бенчмарк на 4/4 стабильных ответов): o1-preview - 26, о1 - 64, o1-pro - 75. o1 Pro - это самая продвинутая модель в линейке o1, которая "думает" больше (и дольше) всех остальных моделей, зато выдает более продуманные и стабильные ответы. На текущий момент модель o1-pro доступна для в подписке ChatGPT Pro за 200$. Доступ к модели o1-pro по API обещали открыть позже.
Подробнее про o1 можно почитать в этом посте.
Кстати, про о1 ребята из OpenAI+DeepLearning аж курс часовой сделали и блок про метапромптинг определенно стоит вашего внимания, т. к. он еще и имеет прямое отношение к реализации продвинутых AI-агентов.
А на сколько хорошо o1-pro пишет многопоточный код я проверю на реальной задаче в следующем посте.

Как попробовать?
1. В GitHub Models модели o1 и o1-mini доступны как из веб интерфейса, так и по API. Но чтобы воспользоваться, похоже, что нужна подписка на GitHub Copilot.
2. В веб/десктоп версии ChatGPT подписка Plus открывает доступ к модели o1.
3. По OpenAI API, но для этого понадобится аж Tier 5.
4. В Azure OpenAI, но только по заявке.

Еще reasoning модели
Китайцы активно догоняют OpenAI и уже сейчас можно отметить 2 модели, которые тоже очень хорошо умеют решать сложные задачи:
1. Qwen QwQ 32b - доступна в веб интерфейсе или через OpenRouter.
2. DeepSeek-R1-Lite-Preview - доступна в веб интерфейсе при включении опции "DeepThink".
3. Gemini Flash Thinking - Google тоже пытаются в reasoning и у них получается.
По LiveCodeBench видно, что эти модели действительно хороши в решении задач уровня Medium и Hard.

Еще, OpenAI анонсировали модель o3, результаты которой эквиваленты 175-му разработчику в мировом рейтинге CodeForces, но модель эта пока не доступна никому, кроме исследователей безопасности, а стоимость генерации там вообще какая-то заоблачная. Из более реального, в течение нескольких недель обещают зарелизить модель o3-mini примерно уровня o1-pro по словам Сэма Альтмана, но еще и с доступом по API. Будем ждать.

И это еще не было ответа от Anthropic. 2025-й год обещает быть очень интересным.


Пробелов.NET
👍12🔥4
o1-pro: Реализуем Parallel.ForEachAsync с регулируемым "на лету" параллелизмом

Не все знают, но в .NET начиная с 6-й версии есть прекрасный метод Parallel.ForEachAsync, который позволяет распараллелить задачу на заданное количество воркеров. По умолчанию выполнение происходит на тредпуле, поэтому в случае использования асинхронных методов некоторые задачи можно решать в десятки, а то и в сотни раз быстрее.
Одна из таких задач - это, например, генерация embeddings или любые другие обращения к облачной LLM или даже парсинг. Это здорово работает, но иногда возникает необходимость изменять количество воркеров (degree of parallelism) "на лету" - к примеру, в зависимости от пропускной способности LLM провайдера. Написать такую реализацию DynamicParallel.ForEachAsync самому, конечно, можно, но делать это нужно максимально внимательно с учетом всяких возможных дедлоков и race condition.
Делегировать эту задачу LLMке я порываюсь еще с сентября, но тогда ни GPT-4o, ни Sonnet 3.5 ни в какую не могли с этим справиться, хотя бы даже частично.

Шаги к решению
1. Итак, я попросил o1-pro сначала реализовать решение, позволяющее динамически регулировать параллелизм на лету. После примерно 5-ти минут раздумий, она выбрала решение на основе SemaphoreSlim (из цепочки рассуждений было видно, что так же в серьез рассматривалось решение с DataFlow, но в итоге было отметено ну и хорошо)
2. Затем, понимая комплексность задачи (многопоточный код жеж), я попросил Claude Sonnet 3.5 и обычную o1 поревьюить результат (ревью от Клода там во втором моем сообщении) - они нашли какие-то проблемы, на первый взгляд мне они показались адекватными и я правки принял.
3. Взял результат из шага 2, и попросил o1-pro на базе DynamicConcurrencyLimiter реализовать метод DynamicParallel.ForEachAsync. И тут важно отметить, что для упрощения нейросети задачи, я добавил ей в контекст исходник оригинального Parallel.ForEachAsync из актуальных сорсов .NET (оригинальный ForEachAsync НЕ поддерживает динамический параллелизм). Кстати, обратите внимание, что промпты в моих сообщениях довольно простые (для reasoning моделей это ок).
4. [важнейший шаг] Я попросил o1-pro написать тесты на получившиеся классы.

Про валидацию решения
Валидация сгенерированного кода тестами - это эдакий лайф-хак, особенно на случай когда код получается реально сложный и его трудно проверить глазами - тут уже важно, чтобы программист имел понимание возможных уязвимых мест разного сложного кода и всевозможных corner cases - в принципе, этот этап тоже можно практиковать совместно с LLM, но я бы все равно рекомендовал взять минутку и продумать какие-то сложные сценарии, которые должны быть покрыты. Возвращаюсь к нашему кейсу мне показалось важным убедиться в 3-х вещах:
1. В том, что при активной динамической регулировке параллелизма не возникает дедлоков (не хотелось бы где-то встрять навечно).
2. В том, что все элементы действительно обрабатываются.
3. В том, что каждый элемент списка обрабатывается ровно один раз.
Поэтому, я сам спроектировал еще один дополнительный стресс-тест, который делает все эти вещи. В этом тесте сейчас 1M элементов - но когда речь идет о проверке потокобезопасности, этого может быть мало для надежного теста, больше того, по-хорошему подобные решения еще имеет смысл прогонять на разных архитектурах (x86, arm, ...), т. к. из-за различий в модели памяти поведение многопоточного кода может слегка отличаться. Кстати, здесь бывает полезным погонять тесты в цикле до провала (в течение дня, например) - в Rider для этого есть опция Run Unit Tests Until Failure.

Что в итоге?
После пары косметических правок (в тестах было 2 ошибки компиляции), к моему удивлению, все тесты прошли с первого раза. Код и тесты тут.
Продолжение.
7👍4
Продолжение: o1-pro: Реализуем Parallel.ForEachAsync с регулируемым "на лету" параллелизмом
Часть 1 тут.

Но доверять LLM (даже с тестами) - чревато, особенно в такой сложной задаче, поэтому кроме собственного теста, я попросил Евгения Пешкова (автора библиотеки ConcurrencyToolkit и довольно экспертного чувака по многопоточке) поревьюить результат, за что ему большое спасибо. Вот его комментарии:
1. Сейчас пермит добывается заново на каждый обрабатываемый элемент, это убивает эффект от распараллеливания, если элементы обрабатываются быстро. Эффективнее захватывать пермит один раз при старте воркера, а при изменении лимита убивать воркеров с номерами >= NEW_LIMIT.
2. Используется обычный lock для MoveNext, а в оригинальном ForEachAsync — SemaphoreSlim(1) в качестве асинхронного лока, что предотвращает блокировку тредпула, если MoveNext медленный

Во всяком случае, критических проблем обнаружено не было - и это уже хорошо. А PR с исправленными замечаниями приветсвуется :)
Кстати, у Жени есть великоплепный Telegram-канал про .NET, а еще множество глубоких докладов, которые я тоже могу горячо рекомендовать - сейчас, с развитием нейронок, глубокие знания о том, как все устроено под капотом получают еще большую ценность.
Код библиотеки и тесты тут.

Итоги итогов
Тандем лучших публичных нейронок на сегодня (o1-pro + Sonnet 3.5) в написании потокобезопасного кода проявил себя довольно достойно. Конечно, чтобы делать такие выводы уверенно необходимо, как минимум, повторить удачный эксперимент несколько раз в подряд, ну и желательно на разных задачах, но у нас просто нет столько времени. В принципе, если говорить конкретно о модели o1-pro, то одна из основных ее фишек именно в стабильности результата (в отличие от o1, которая может отдавать правильный ответ через раз), поэтому с высокой долей вероятности результат будет повторяемым.

Что еще может o1-pro?
Много чего. В целом, все самые сложные задачи на reasoning (НЕ на знание библиотек) o1-pro должна решать сильно лучше остальных моделей. Кроме того, у нее довольно большой контекст в 200к токенов на вход (впрочем, как и у o1), поэтому ей спокойно можно докидывать, например, всю документацию к вашей любимой библитеке и почти наверняка эта модель будет наиболее внимательна к деталям.
Еще, я пытался решить с o1-pro довольно сложную задачу на графы, но в полной мере это сделать так и не удалось - после нескольких итераций (код, тесты, output тестов LLM, фикс и все по новой), она думала по ~10 минут и стабильно предлагала неверное решение. Там весьма хитрая и запутанная логика обработки циклов внутри графа и o1-pro в ней явно путается. Удивительно, но в итоге последний затык мне смогла разрешить только старая добрая Sonnet 3.5 - по моим наблюдением, у Sonnet вообще как-то все очень хорошо с графами.

А какие самые сложные задачи на программирование доводилось решать вам с помощью LLM?


Пробелов.NET
🔥10
DeepSeek-R1 - аналог o1, только для всех и бесплатно

Не успел я вчера запоздало рассказать про reasoning модели и упомянуть модель DeepSeek-R1-Lite, так сегодня ребята из DeepSeek не только релизнули полную версию DeepSeek-R1, но и вместе с ней выпустили целую вереницу моделей поменьше (на основе Llama3, Qwen2.5), которые, если верить бенчмаркам, в задачах на написание кода работают не хуже GPT-4o и Sonnet 3.5 (даже 8b модели!). Надо проверять, т. к. с трудом верится.
Ну, я не удержался и задал эту же задачу из поста про o1-pro (только в упрощенном виде) DeepSeek-R1. Любопытно, что она ее решила через System.Threading.Channels - один producer записывает все элементы, и множество consumer'ов (воркеров) эти элементы читают и обрабатывают. Код тут (не проверял).
По API моделька так же доступна по ценам в разы ниже, чем у OpenAI. Веса тоже в опенсорсе, да еще и с открытой лицензией - то есть, при наличии железа достаточной мощности ваша организация теперь может разместить у себя в закрытом контуре модель, вероятно, сопоставимую по качеству с o1.

Сейчас модель доступна всем и бесплатно тут (после регистрации). Не забудьте включить DeepThink.
🔥191
DeepInfra выпустили свой "аналог" ChatGPT с доступом к Qwen-72B, к DeepSeek R1 и другим открытым LLM

Фактически, ребята из DeepInfra просто сделали веб интерфейс для некоторых популярных OpenSource моделей - в принципе, ничего нового, но некоторые из топовых моделей можно поюзать бесплатно: Qwen2.5-72B, Llama 3.3 70B и новенькую DeepSeek R1 Distill Llama 70B - эта модель обходит Claude Sonnet 3.5 в LCB довольно существенно и почти в 2 раза на задачах CodeForces.
DeepSeek R1 доступна по подписке за 3$ в месяц.

Больше всего люблю DeepInfra за их щедрые лимиты по API (200 параллельных запросов и больше по заявке), за богатый выбор моделей и за их цены.

Небольшое бизнесовое отступление
Почему DeepInfra решили выпустить такой, казалось бы, лежащий на поверхности, продукт именно сейчас? Я подозреваю, что это напрямую связано с двумя факторами:
1. Существенное удешевление LLM (за 2024-й год цены на API многих моделей упали в разы)
2. Бурный рост качества открытых моделей и появление реальных конкурентов у лидирующий gpt-4o и sonnet 3.5: DeepSeek V3, Qwen 72B, ну и, конечно, R1 - как вишенка на торте.
То есть, сейчас появилась реальная возможность делать условного конкурента ChatGPT, но полностью основанного на открытых моделях.
Более того, я убежден, что если добавить определенной доли агентности в открытые модели (такие как банальное подтягивание актуального контекста из интернета - grounding, или агрегация ответа из нескольких разных LLM), то можно даже сделать лучше - чуть позже я расскажу как можно сделать условную R1-Pro :)
И тут, конечно, успех подобного проекта будет упираться в первую очередь в степень талантливости его маркетологов и продажников.

Кстати, напомню, что бесплатно поюзать мощные модели позволяют так же devv.ai (Gemini Pro) и blackbox.ai (GPT-4o, Gemini Pro, Sonnet 3.5).
🔥9🤝1
Кстати, в бенчмарке aider появилась мощная связка, обходящая o1: DeepSeek R1 в качестве архитектора и Sonnet 3.5 в качестве редактора. Что уж говорить, что такая связка в итоге еще и сильно дешевле.

Напомню, что aider это инструмент для парного программирования с использованием языковых моделей (LLM), позволяющий редактировать код в вашем локальном git-репозитории. Про aider подробнее я рассказывал и показывал в этом посте.
👍8🔥3