Автор | Сообщение |
|
| 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.
|
|
|
Ответов - 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, кстати, понимает русский язык.
|
|
|
|
| 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 с путями к моделям. При запуске этого плагина открывается отдельное окно и предлагается открыть модель - после успешного открытия можно начать диалог.
|
|
|
|
| moderator
|
Пост N: 1594
Зарегистрирован: 06.07.06
|
|
Отправлено: 25.03.24 20:30. Заголовок: Выложил на http://ww..
|
|
|
|
| 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 ОЗУ - и работает не быстро, пару минут надо ждать.
|
|
|
|
| постоянный участник
|
Пост N: 1724
Зарегистрирован: 27.01.07
|
|
Отправлено: 11.04.24 20:39. Заголовок: А можно спросить, чт..
А можно спросить, что с этим делать?
|
|
|
|
| moderator
|
Пост N: 1597
Зарегистрирован: 06.07.06
|
|
Отправлено: 12.04.24 09:01. Заголовок: PSP пишет: А можно ..
PSP пишет: цитата: | А можно спросить, что с этим делать? |
| Хороший вопрос). Если говорить о llama.prg/llama.cpp в целом, то можно использовать это в качестве переводчика, для исправления текстов, для помощи в создании текстов/документации. При выборе соответствующей модели ( codellama, deepseek-coder, ... ) - как помощника в программироании. Это первое, что приходит в голову. Учитывая, что растет число специализированных моделей и их качество и то, что совершенствуется технология создания своих моделей, натренированных под свои конкретные нужды, то перспективы использования довольно широкие. Если говорить об анализе изображений, то, наверное. это можно использовать для автоматизированной обработки группы файлов, задавая для каждого вопрос - ну, например, сколько там мужчин и сколько женщин).
|
|
|
|
| moderator
|
Пост N: 1598
Зарегистрирован: 06.07.06
|
|
Отправлено: 12.04.24 09:13. Заголовок: Ну и, самое главное,..
Ну и, самое главное, это просто интересно. А я предпочитаю заниматься тем, что мне интересно, а не учетом тапочек, дебетом/кредитом и пр. (хотя и этим, увы, приходится заниматься).
|
|
|
|
| постоянный участник
|
Пост N: 1725
Зарегистрирован: 27.01.07
|
|
Отправлено: 12.04.24 09:42. Заголовок: alkresin пишет: Ну ..
alkresin пишет: цитата: | Ну и, самое главное, это просто интересно. |
| Вот это понятно)) Спасибо!)
|
|
|
|
| moderator
|
Пост N: 1599
Зарегистрирован: 06.07.06
|
|
Отправлено: 12.04.24 14:08. Заголовок: И для делопроизводст..
И для делопроизводства можно использовать. Вот, например, запустил его через плагин к hbedit и попросил написать деловое письмо насчет задержки поставки огурцов) Скрытый текст
|
|
|
|
| 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
|
|
|
|
| moderator
|
Пост N: 1605
Зарегистрирован: 06.07.06
|
|
Отправлено: 23.04.24 14:33. Заголовок: Добавил поддержку ге..
|
|
|
|
|
| moderator
|
Пост N: 1609
Зарегистрирован: 06.07.06
|
|
Отправлено: Сегодня 15:19. Заголовок: В llama.prg добавил ..
В llama.prg добавил небольшой кроссплатформенный модуль для записи с микрофона и новый пример - test5.prg, который демонстрирует, как можно диктовать текст с последующим его распознаванием. Если ресурсы компьютера позволяют, получается сравнительно быстро. Можно это дело прикрутить к редактору, или применить для распознавания голосовых команд.
|
|
|
|