From fab4cdf835731f2c42650dfa5b6bf476e513d849 Mon Sep 17 00:00:00 2001 From: He4eT Date: Sun, 29 Mar 2026 21:37:13 +0200 Subject: [PATCH] posts: selfhosted_llm: update anchors --- src/pages/posts/2024/selfhosted_llm.md | 60 +++++++++++++------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/src/pages/posts/2024/selfhosted_llm.md b/src/pages/posts/2024/selfhosted_llm.md index 38014d1..1b6cdb1 100644 --- a/src/pages/posts/2024/selfhosted_llm.md +++ b/src/pages/posts/2024/selfhosted_llm.md @@ -43,9 +43,9 @@ description: 'Персональные LLM в docker-контейнере на --- -
- -## Установка и настройка +

+ Установка и настройка +

Существует несколько продуктов, которые стараются избавить пользователя от головной боли и возни с инфраструктурой. Мне понятнее всего оказался проект [Ollama](https://ollama.ai/), с ним мы и будем экспериментировать. @@ -53,9 +53,9 @@ description: 'Персональные LLM в docker-контейнере на Использование docker-контейнеров, к сожалению, слегка усложняет взаимодействие с Ollama, так что большая часть текста и кода в этом посте посвящены решению проблем, которые, по сути, я придумал себе сам. -
- -### Установка Ollama +

+ Установка Ollama +

Для создания и первого запуска контейнера нужно выполнить команду: ``` @@ -72,9 +72,9 @@ docker stop ollama Контейнер предоставляет доступ к [Ollama API](https://github.com/jmorganca/ollama/blob/main/docs/api.md) на 11434 порту, а также позволяет устанавливать и общаться с установленными LLM через терминал. -
- -### Загрузка модели и диалог с ней +

+ Загрузка модели и диалог с ней +

Ollama позволяет запускать любые GGUF, PyTorch или Safetensors модели (что бы это ни значило), но самый простой путь — загрузка моделей из специальной [библиотеки](https://ollama.ai/library). @@ -98,9 +98,9 @@ alias summon='clear && docker exec -it ollama ollama run' summonable summon phi ``` -
- -### Кастомные модели и их тонкая настройка +

+ Кастомные модели и их тонкая настройка +

Ollama позволяет на основе существующих создавать производные модели с заранее определёнными инструкциями или параметрами. Для этого нужно создать специальный файл, в котором указана родительская модель и определены желаемые значения параметров. Подробнее о формате этих файлов можно прочесть в документации: [Modelfile](https://github.com/jmorganca/ollama/blob/main/docs/modelfile.md). @@ -170,9 +170,9 @@ docker exec -it ollama ollama create $modelName -f $targetPath summon EnglishTeacher ``` -
- -## Использование +

+ Использование +

Разговоры с галлюцинирующим искусственным интеллектом в терминале — это, конечно, волшебно, но потенциал больших языковых моделeй по-настоящему раскрывается, когда они начинают портить данные в соседних приложениях! @@ -180,9 +180,9 @@ summon EnglishTeacher Не ручаюсь за весь список, но расскажу про то, с чем экспериментировал сам. -
- -### Мимикрия под API от OpenAI +

+ Мимикрия под API от OpenAI +

> В какой-то момент [в Ollama появилась поддержка совместимости с форматом API от OpenAI](https://ollama.com/blog/openai-compatibility) и этот раздел потерял актуальность. @@ -224,9 +224,9 @@ docker run --net=host diy-ollama-proxy ``` После запуска вы получите API, который совместим с API от OpenAI и доступен по адресу `http://localhost:8000/`. -
- -### Интеграция с NeoVim +

+ Интеграция с NeoVim +

Языковые модели отлично умеют взаимодействовать с текстом, так что использование их в текстовом редакторе кажется разумной идеей. @@ -295,9 +295,9 @@ docker run --net=host diy-ollama-proxy Возможность добавления кастомных промптов позволяет в будущем реализовать новые сценарии или вынести повторяющиеся действия в отдельный пункт меню или даже на отдельный шорткат. -
- -## Обновление и удаление +

+ Обновление и удаление +

Для обновления и удаления моделей можно использовать команды `pull` и `rm`: ``` @@ -307,9 +307,9 @@ docker exec -it ollama ollama rm mistral Я знаю, что для обновления и удаления docker-образов и docker-контейнеров тоже есть специальные команды (это тоже `pull` и `rm`), но каждый раз ленюсь в этом разобраться, просто сношу всё с помощью утилиты [sen](https://github.com/TomasTomecek/sen) и разворачиваю нужное заново. -
- -## Производительность +

+ Производительность +

Для эксплуатации LLM требуется гораздо меньше ресурсов, чем для её обучения. Запустить 7b-модель средней тупости можно практически на любом CPU и 8 GB RAM, но нагрузка на систему и скорость генерации ответов часто будут далеки от комфортных значений. @@ -319,9 +319,9 @@ docker exec -it ollama ollama rm mistral Неприятным открытием стало то, что docker-версия Ollama на MacOS выполняется заметно медленнее (от 3 до 5 раз, если верить ощущениям), чем нативная. Возможно, всё дело в том, что я как-то неправильно настроил docker или приложение в контейнере нужно запускать с какими-нибудь специальными флагами для максимальной утилизации ресурсов. В любом случае, к порядку на этом ноутбуке я отношусь гораздо менее трепетно, поэтому просто установил и использую приложение с сайта Ollama. -
- -## Зачем всё это нужно? +

+ Зачем всё это нужно? +

Конечно, ChatGPT умнее и умеет из коробки гораздо больше.
Конечно, ChatGPT требует меньше телодвижений для использования.