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 ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.