On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение
moderator


Пост N: 1590
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 12.03.24 14:25. Заголовок: Llama.prg - библиотека для локальных языковых моделей


Начал новый проект - llama.prg, название взято по аналогии с llama.cpp, на основе которого он делается. Собственно, llama.prg - это bindings к llama.cpp.
На сегодняшний момент он позволяет (см. test1.prg) загрузить выбранную локальную модель и вести с ней диалог. Параметры запуска модели могут быть заданы в models.ini.
Контекст диалога пока не запоминается - я разбираюсь, как это можно сделать.
Работает это дело только с 64-битными компиляторами, под Windows - msvc, под Linux - стандартный gcc. Чтобы можно было использовать и с другими компиляторами, в т.ч., 32-битными, продумываю систему на основе guiserver - чтобы вызывать процесс, собранный с llama.lib, из других программ.
Проект поместил на gitflic.ru: https://gitflic.ru/project/alkresin/llama_prg. Я не могу открывать новые проекты на github из-за отказа от двухфакторной идентификации, теперь буду создавать их на gitflic.ru и, возможно, попробую на gitverse.ru.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 12 [только новые]


moderator


Пост N: 1591
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 13.03.24 09:55. Заголовок: Сами локальные модел..


Сами локальные модели можно загрузить, например, отсюда:
https://gpt4all.io/index.html
https://huggingface.co/models

Нужны модели с расширением gguf.
Надо, конечно, ориентироваться на их размер, требования к памяти. Модели от 7b и выше требуют наличие более 8Гб ОЗУ
Модели 1.1b. 1.3b грузятся и на 4Гб ОЗУ, но они, конечно, совсем слабенькие, только чтоб пощупать, что это такое. Есть уже много специализированных моделей - для разных областей знаний, для разного применения, в том числе и наших. Mistral-7b, кстати, понимает русский язык.

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1593
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 21.03.24 10:53. Заголовок: Создал очень лаконич..


Создал очень лаконичную страничку у себя на сайте http://www.kresin.ru/llama_prg.html - пока для того, чтобы разместить постоянную ссылку на демо-пример, который я туда загрузил.
Там в readme все написано. Добавлю только, что llama_exsrv.exe из примера можно использовать и с hbedit. В последней версии hbedit Добавлен плагин plug_extllm.hrb, его можно активировать в hbedit.ini. Надо переписать llama_exsrv.exe в hbedit/plugins и там же создать models.ini с путями к моделям. При запуске этого плагина открывается отдельное окно и предлагается открыть модель - после успешного открытия можно начать диалог.

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1594
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 25.03.24 20:30. Заголовок: Выложил на http://ww..


Выложил на http://www.kresin.ru/llama_prg.html обновленное демо - контекст диалога теперь сохраняется, т.е. можно вести нормальный диалог, если модель позволяет. Обновленный плагин к Hbedit - на github'е.

И еще полезная ссылка для поиска подходящих моделей: https://habr.com/ru/companies/tablum/articles/779084/

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1596
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 11.04.24 16:22. Заголовок: Теперь llama.prg мож..


Теперь llama.prg может анализировать изображения: если скормить ему файл изображения, он выдает краткое описание того, что там изображено - см. test3.prg.
Для этого надо скачать две модели ggml-model-q5_k.gguf, mmproj-model-f16.gguf с https://huggingface.co/mys/ggml_llava-v1.5-7b
Требования к ресурсам немаленькие, конечно. У меня на рабочем компе 12Gb ОЗУ - и работает не быстро, пару минут надо ждать.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1724
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 11.04.24 20:39. Заголовок: А можно спросить, чт..


А можно спросить, что с этим делать?

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1597
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 12.04.24 09:01. Заголовок: PSP пишет: А можно ..


PSP пишет:

 цитата:
А можно спросить, что с этим делать?


Хороший вопрос).
Если говорить о llama.prg/llama.cpp в целом, то можно использовать это в качестве переводчика, для исправления текстов, для помощи в создании текстов/документации. При выборе соответствующей модели ( codellama, deepseek-coder, ... ) - как помощника в программироании. Это первое, что приходит в голову. Учитывая, что растет число специализированных моделей и их качество и то, что совершенствуется технология создания своих моделей, натренированных под свои конкретные нужды, то перспективы использования довольно широкие.

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

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1598
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 12.04.24 09:13. Заголовок: Ну и, самое главное,..


Ну и, самое главное, это просто интересно.
А я предпочитаю заниматься тем, что мне интересно, а не учетом тапочек, дебетом/кредитом и пр. (хотя и этим, увы, приходится заниматься).

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1725
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 12.04.24 09:42. Заголовок: alkresin пишет: Ну ..


alkresin пишет:

 цитата:
Ну и, самое главное, это просто интересно.


Вот это понятно)) Спасибо!)

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1599
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 12.04.24 14:08. Заголовок: И для делопроизводст..


И для делопроизводства можно использовать.
Вот, например, запустил его через плагин к hbedit и попросил написать деловое письмо насчет задержки поставки огурцов)

Скрытый текст


Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1600
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 18.04.24 16:27. Заголовок: Добавил в llama.prg ..


Добавил в llama.prg поддержку whisper. Это проект, который использует ИИ модели для распознавания аудио.
Я пробовал распознать файлы с речью на русском, где говорят совсем не поставленнным дикторским голосом - и, к моему удивлению, распозналось нормально.
Поддерживаются только wav файлы 16kHz - сконвертировать в этот формат можно, например, с помощью ffmpeg:

ffmpeg -i my.mp3 -acodec pcm_s16le -ar 16000 my.wav

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1605
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 23.04.24 14:33. Заголовок: Добавил поддержку ге..


Добавил поддержку генерации изображений по текстовому описанию - отдельный проект https://gitflic.ru/project/alkresin/stable_diffusion_prg - Harbour привязка к stable-diffusion.cpp.

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1609
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: Сегодня 15:19. Заголовок: В llama.prg добавил ..


В llama.prg добавил небольшой кроссплатформенный модуль для записи с микрофона и новый пример - test5.prg, который демонстрирует, как можно диктовать текст с последующим его распознаванием. Если ресурсы компьютера позволяют, получается сравнительно быстро. Можно это дело прикрутить к редактору, или применить для распознавания голосовых команд.

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 300
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет