LINUX.ORG.RU

llama.qtcreator 17.0.0

 , llama, , ,


0

2

20 августа состоялся первый публичный выпуск кроссплатформенного плагина для Qt Creator llama.qtcreator.
Плагин предназначен для автодополнения текста с помощью локальных LLM-моделей с использованием сервера llama.cpp.

Возможности плагина:

  • Автоматическая подсказка при движении курсора.
  • Включение/выключение подсказки вручную с помощью клавиш Ctrl+G.
  • Принятие подсказки клавишей Tab.
  • Принятие первой строки подсказки клавишами Shift+Tab.
  • Управление максимальным временем генерации текста.
  • Настройка области контекста вокруг курсора.
  • Кольцевая очередь контекстов запроса с данными из открытых или редактируемых файлов и буфера обмена.
  • Поддержка очень больших контекстов даже на низкопроизводительном оборудовании благодаря интеллектуальному повторному использованию контекста.
  • Поддержка спекулятивных моделей FIM.
  • Поддержка спекулятивного декодирования.
  • Отображение статистики производительности.

Проект написан на языке C++ и распространяется по лицензии MIT.
Для установки доступны сборки для Linux, macOS и Windows.

Рекомендуемые объёмы VRAM и модели:

> 16GB$ llama-server --fim-qwen-7b-default
< 16GB$ llama-server --fim-qwen-3b-default
< 8GB$ llama-server --fim-qwen-1.5b-default

>>> Подробности и бинарные файлы (для Qt Creator 17.0.0) на GitHub

★★★★★

Проверено: hobbit ()
Последнее исправление: dataman (всего исправлений: 4)

Ring context with chunks from open and edited files and yanked text

Закольцованный контекст с фрагментами из открытых и отредактированных файлов, и извлечённым текстом.

Мне не нравится, предложите лучший перевод.

dataman ★★★★★
() автор топика

Возможности плагина:

Так это они плагин для vim перенесли? Буквально слово в слово.

Ring context with chunks from open and edited files and yanked text

Кольцевая очередь контекстов запроса с данными из открытых или редактируемых файлов и буфера обмена.

LamerOk ★★★★★
()
Ответ на: комментарий от James_Holden

эта llama не может работать как просто LSP сервер?

Я такого не нашёл. Пример LSP есть в ggml-org/whisper.cpp, с Vim-плагином.

dataman ★★★★★
() автор топика
Ответ на: комментарий от LamerOk

Так это они плагин для vim перенесли? Буквально слово в слово.

Наверное, и сабж форкнули https://github.com/ggml-org/llama.qtcreator.
Скорее всего, дальше проект будет жить там.

dataman ★★★★★
() автор топика

Для автодополнения текста локальный llm не нужен: избыточен и медленный. Может речь о автодополнении кода?

One ★★★★★
()
Ответ на: комментарий от dataman

Код это цельные блоки, для text completion достаточно стандартных алгоритмов без вызова llm и существует уже пару десятилетий

One ★★★★★
()

Я просто напомню, были и есть IDE, например тот же Lazarus и Delphi, в которых автодополнение работает без LLM и в разы быстрее.

Пихают эти LLM в каждые чайники. Эпидемия какая-то просто.

TechnoMag ★★
()

Этот зверь зовётся llama:
llama дочь и llama мама!

hobbit ★★★★★
()
Ответ на: комментарий от TechnoMag

Пихают эти LLM в каждые чайники. Эпидемия какая-то просто.

А из-за этого со временем вырастут требования к такому типа ПО (те же IDE). Вот так вот. Благо отключаемо всё это пока что.

Это как с браузерами и веб-сайтами. Сейчас одна вкладка с YouTube даже в каком-нибудь Falkon в памяти минимум 700 мб будет. А когда-то (конец нулевых) столько RAM не требовалось для просмотра этого же ресурса.

skywarp
()
Последнее исправление: skywarp (всего исправлений: 1)
Ответ на: комментарий от TechnoMag

Я просто напомню, были и есть IDE, например тот же Lazarus и Delphi, в которых автодополнение работает без LLM и в разы быстрее.

Мыслю я что мы говорим о разных автодополнениях.

Перечисленное тобой позволяло дополнять слово - по истории, словарю, или потому что знало какие методы в классе.

LLM позволяют дополнять целые блоки текста! Не знаю как llama, а Copilot и Windsurf позволяют по названию функции эту самую функцию написать полностью!!! (Для простых кейсов, конечно). Или реализовать то, что написано в комментарии. Удобно, например написать что-то вроде // Загрузить YAML файл и оно тебе сразу это сделает, если повезёт, иногда и с Error Handling.

Не всегда оно точно, но разработку ускоряет.

Kroz ★★★★★
()
Последнее исправление: Kroz (всего исправлений: 3)
Ответ на: комментарий от Kroz

позволяют по названию функции эту самую функцию написать полностью!!!

Упырьте мел, там дыры размером с корабль «Энтерпрайз». LLM-ки пишут кривой и небезопасный код.

PPP328 ★★★★★
()
Ответ на: комментарий от PPP328

Пишет человек. А LLMки - это автодополнение.

Kroz ★★★★★
()

Поддержка очень больших контекстов даже на низкопроизводительном оборудовании благодаря интеллектуальному повторному использованию контекста.

А это как? Не понимаю.

R_He_Po6oT ★★★★★
()

Такие маленькие модельки практически бесполезны для генерации кода.

yvv1
()
Ответ на: комментарий от TechnoMag

Я просто напомню, были и есть IDE, например тот же Lazarus и Delphi, в которых автодополнение работает без LLM и в разы быстрее.

Это другое автодополнение, оно никуда не делось. LLM вдобавок умеет генерировать снипеты кода по контексту.

Пихают эти LLM в каждые чайники. Эпидемия какая-то просто.

Есть спрос, вот и пихают. Это можно отключить, если кому-то не нужно.

yvv1
()
Ответ на: комментарий от yvv1

Это другое автодополнение, оно никуда не делось.

Может, ты растолкуешь, чем именно ИИ-автодополнение отличается от «обычного» в лучшую сторону? Пока что никто внятно не объяснил, а мне интересно.

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

Может, ты растолкуешь, чем именно ИИ-автодополнение отличается от «обычного» в лучшую сторону? Пока что никто внятно не объяснил, а мне интересно.

«Обычное» автодополнение - это когда система дополняет имя переменной или функции из списка имён, или команду из истории команд. LLM может генерировать код исходя из окружающего контекста. Например, можно написать докстринг или сигнатуру функции, а система сгенерирует функцию целиком, или блоки кода целиком. Если интересно как это работает, но непонятно, то можно установить тот же vscode с copilot или gigacode, и попробовать, сразу станет всё понятно.

yvv1
()
Ответ на: комментарий от yvv1

Если интересно как это работает, но непонятно, то можно установить тот же vscode с copilot или gigacode, и попробовать, сразу станет всё понятно.

Вот и я начал думать про это и сразу проскочила мысль, а на кой художник репин нам llama.qtcreator, если и так есть vscode, cursor и т.д. Чем оно лучше-то? Или просто в паровоз запрыгнуть решили в последний момент ?

DrRulez ★★★★★
()
Ответ на: комментарий от DrRulez

vscode, cursor и

Так это же проприетарщина, прибитая гвоздями к облакам.

legolegs ★★★★★
()
Ответ на: комментарий от DrRulez

Если ты не работаешь с qt creator, то тебе это и не нужно, это очевидно. Вообще, странный вопрос: зачем нужны альтернативы.

u-235
()
Ответ на: комментарий от DrRulez

Вот и я начал думать про это и сразу проскочила мысль, а на кой художник репин нам llama.qtcreator, если и так есть vscode, cursor и т.д. Чем оно лучше-то? Или просто в паровоз запрыгнуть решили в последний момент ?

llama.creator использует локальные модели насколько я понял. Это может быть полезно, если ресурсы позволяют запускать приличную модель, но copilot тоже умеет запускать модели локально через ollama. Не знаю, чем сабж лучше/хуже.

yvv1
()

Как оно проект в контекст добавляет? RAG встроенный автоматический?

Landgraf ★★★★★
()
Ответ на: комментарий от u-235

Вообще, странный вопрос: зачем нужны альтернативы.

Их и так уже - прилично. Еще одна только увеличивает популяцию зоопаркуса.

DrRulez ★★★★★
()
Ответ на: комментарий от PPP328

LLM-ки пишут кривой и небезопасный код.

А люди, которые деляют ревью этого кода, не видят проблем? Или что? Кто-то профнепригоден тогда

James_Holden ★★★★★
()
Ответ на: комментарий от yvv1

но copilot тоже умеет запускать модели локально через ollama. Не знаю, чем сабж лучше/хуже

А в каких IDE доступен копилот?

James_Holden ★★★★★
()
Ответ на: комментарий от DrRulez

а на кой художник репин нам llama.qtcreator, если и так есть vscode, cursor

«вам» наверное не надо, а я например не использую VS Code и тем более курсор, и не собираюсь.

James_Holden ★★★★★
()
Ответ на: комментарий от DrRulez

Еще одна только увеличивает популяцию зоопаркуса.

Пожалуйся в Спортлото.

u-235
()
Ответ на: комментарий от yvv1

В vscode встроен из коробки.

Писать на Qt намного удобнее в QtCreator. Да и вообще QtCreator для меня, например, намного удобнее, чем vscode, я и просто плюсовый код в нём предпочитаю писать. И если можно будет слоты и сигналы «писать» автоматически по их connect, это уже будет очень годно.

Loki13 ★★★★★
()
Последнее исправление: Loki13 (всего исправлений: 2)
Ответ на: комментарий от Loki13

Писать на Qt, намного удобнее в QtCreator. Да и вообще QtCreator для меня, например, намного удобнее, чем vscode, я и просто плюсовый код в нём предпочитаю писать.

Я приплёл сюда vscode просто как пример для тех, кто не понимает, зачем нужны автодополнения на нейросетях, просто его легко установить и попробовать. А использовать его вместо QtCreator или чего-то ещё никто не заставляет.

yvv1
()
Ответ на: комментарий от yvv1

Мне показалось что вы сторонник того, что если есть в vscode, то зачем изобретать в других средах разработки. Если нет, значит попутал, звиняюсь.

Loki13 ★★★★★
()
Ответ на: комментарий от Loki13

Мне показалось что вы сторонник того, что если есть в vscode, то зачем изобретать в других средах разработки. Если нет, значит попутал, звиняюсь.

Нет, это утверждал другой пассажир, которому я отвечал, что copilot в vscode встроен из коробки.

yvv1
()

Оно только текст дополняет? А смысл в этом? Какая то llama для ламы получается.

Rodegast ★★★★★
()
Ответ на: комментарий от hobbit

Пока что никто внятно не объяснил, а мне интересно.

Например, написал функцию add с a+b, начал писать функцию s… и он тебе предложил тебе сразу код функций для a-b, a*b, a/b и т.п. Или видит какую-нибудь повторяющуюся обработку ошибок и предлогает сразу дописать.

altwazar ★★★★★
()
Ответ на: комментарий от altwazar

Или видит какую-нибудь повторяющуюся обработку ошибок и предлогает сразу дописать.

Ну вот это с одной стороны хорошо. С другой – большое количество повторяющегося кода это признак сами знаете чего, и его, возможно, надо не дописывать, а выносить. А ещё при копипастинге частая ошибка это оставить без изменения то, что как раз надо было поправить.

Попробовать стоит, я понял, спасибо.

hobbit ★★★★★
()
Ответ на: комментарий от DrRulez

Или просто в паровоз запрыгнуть решили в последний момент?

Нет, это просто некоторые со своим кругозором свой паровоз единственным считают. Среди тех, кто занимается кроссплатформенной десктопной разработкой, Qt Creator, пожалуй, куда более востребованная вещь, чем ваш vscode.

hobbit ★★★★★
()
Ответ на: комментарий от James_Holden

А люди, которые деляют ревью этого кода, не видят проблем?

А что с этим можно сделать? Ну оператор ИИ «перепишет» на другой такой же кривой. И так 10 раз подряд. Я так подозреваю, что люди скоро перестанут понимать, что оно там пишет. Если не уже.

bread
()
Последнее исправление: bread (всего исправлений: 1)
Ответ на: комментарий от bread

Есть программист, а не оператор ИИ. ИИ - это инструмент программиста. Если он не может его применить, есть другая работа - например, сортировать заказы на складе руками. Там не нужен ИИ пока. Тоже что-то платят.

ИИ, как ничто другое, прожектором подсвечивает тупость и дебильность человека, теперь ее уже не получится так прятать. Вот это настоящая революция, а то что там можно код какой-то генерировать - это побочка.

James_Holden ★★★★★
()
Ответ на: комментарий от hobbit

возможно, надо не дописывать, а выносить

Ну вот он и предложит вынести. Может, конкретно этот сабжевый и не очень умный, но через несколько лет все будет.

James_Holden ★★★★★
()
Ответ на: комментарий от James_Holden

Есть программист, а не оператор ИИ. ИИ - это инструмент программиста.

Это да, но подаётся-то везде как «программисты уже не нужны, ИИ заменит всех»! И многие верят.

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

Да блин, заменить то он заменит, то есть вместо пяти программистов, условно, работу смогут выполнять трое, за счёт увеличения производительности труда. Но эти трое должны будут иметь квалификацию еще большую. Это уже не будут джуны, например, потому что их работу как раз и автоматизируют.

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

James_Holden ★★★★★
()
Ответ на: комментарий от hobbit

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

Я серьёзно столкнулся тут с этим несколько лет назад, когда были срачи вокруг флатпака. Там каждый раз оказывалось, что никто вообще не знает, как устроен флатпак, придумывают всякую дичь о нем и верят в это, делают абсурдные выводы. Я начал разочаровываться в IT сообществе.

А сейчас с ИИ ещё хуже, это вообще дикое невежество. Вот если мы спросим - опишите как работает современный генеративный ИИ, как он генерирует текст, как картинки? Очень мало кто опишет (скажем политкорректно), а тот кто опишет - как раз и не будет ИИ хейтером!

То есть прослеживается корелляция - чем больше человек знает, чем больше он в теме - тем меньше он хейтер. А на другом полюсе - воинствующее невежество.

Это касается не только ИИ, а всех сфер, даже политоты и религии. Хейт порождается мракобесием.

James_Holden ★★★★★
()
Ответ на: комментарий от James_Holden

Это уже не будут джуны, например, потому что их работу как раз и автоматизируют.

А новые программисты откуда возьмутся? Старые то кончатся быстро.

надо понимать, что в конце цепочки, перед попаданием кода в прод, там должен сидеть максимально квалифицированный человек

Самое уязвимое место как раз. Там сидит выгоревший старпер, хорошо если без деменции.

bread
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.