1
0

Актуализация README

This commit is contained in:
2025-09-05 14:18:10 +08:00
parent defc30cad0
commit 77ba817f14
3 changed files with 138 additions and 131 deletions

View File

@@ -2,6 +2,7 @@
"recommendations": [ "recommendations": [
"saoudrizwan.claude-dev", "saoudrizwan.claude-dev",
"nr-codetools.localaipilot", "nr-codetools.localaipilot",
"continue.continue" "continue.continue",
"rooveterinaryinc.roo-cline"
] ]
} }

141
README.md
View File

@@ -1,15 +1,14 @@
# Local ollama # Local ollama + RAG
Набор скриптов для быстрого запуска локальных LLM. Набор скриптов для быстрого запуска локальных LLM и RAG-системы.
Модели примерно до 40 млрд параметров (обычно 32b) наиболее реально запускать на домашних ПК разных мощностей. Модели примерно до 40 млрд параметров (обычно 32b) наиболее реально запускать на домашних ПК разных мощностей.
Меньше параметров → меньше памяти на диске и в ОЗУ → выше скорость (tps) → ниже качество. > Меньше параметров → меньше памяти на диске и в ОЗУ → выше скорость (tps) → ниже качество.
> Больше параметров → больше памяти на диске и в ОЗУ → ниже скорость (tps) → выше качество.
Больше параметров → больше памяти на диске и в ОЗУ → ниже скорость (tps) → выше качество.
Модели до 7 млрд достаточно хорошо отвечают (до 5-10 tps) на i5-9400 CPU 2.90GHz + 32 Гб ОЗУ без видеокарты, при условии, что в один момент времени одна модель обрабатывает один запрос. Модели до 7 млрд достаточно хорошо отвечают (до 5-10 tps) на i5-9400 CPU 2.90GHz + 32 Гб ОЗУ без видеокарты, при условии, что в один момент времени одна модель обрабатывает один запрос.
Например, [phi4-mini:3.8b](phi4-mini/3.8b), [qwen2.5:7b](qwen2.5/7b) или небольшая llama. Например, [phi4-mini:3.8b](phi4-mini/3.8b), [qwen2.5:7b](qwen2.5/7b) или небольшая `llama`.
## Структура проекта ## Структура проекта
@@ -35,17 +34,133 @@
## Как использовать ## Как использовать
1. Запустить `./up` 1. Запустить `./up`
2. Запустить скрипт из любой и поддиректорий для скачивания и запуска модели в терминале 2. Запустить `./ollama run <название модели>` для диалога в терминале
3. Открыть веб-морду по адресу [localhost:9999](http://localhost:9999) 3. Открыть веб-морду по адресу [localhost:9999](http://localhost:9999) для более богатого функционала
<details>
<summary>Полный список лёгких и средних моделей, которые можно попробовать для разных целей</summary>
```
codegemma:2b
codegemma:7b
codellama:7b
codellama:13b
codellama:34b
codeqwen:1.5b
codeqwen:7b
codestral:22b
deepcoder:1.5b
deepcoder:14b
deepseek-coder:1.3b
deepseek-coder:6.7b
deepseek-coder:33b
deepseek-coder-v2:16b
deepseek-r1:1.5b
deepseek-r1:7b
deepseek-r1:8b
deepseek-r1:14b
deepseek-r1:32b
devstral:24b
dolphin3:8b
gemma:2b
gemma:7b
gemma3:1b
gemma3:4b
gemma3:12b
gemma3:27b
gemma3:270m
gemma3n:e2b
gemma3n:e4b
gpt-oss:20b
granite-code:3b
granite-code:8b
granite-code:20b
granite-code:34b
llama2:7b
llama2:13b
llama3:8b
llama3.1:8b
llama3.2:1b
llama3.2:3b
llava-llama3:8b
magistral:24b
mistral:7b
mistral-nemo:12b
mistral-small:22b
mistral-small:24b
mixtral:8x7b
mxbai-embed-large:latest
nomic-embed-text:latest
openthinker:7b
openthinker:32b
phi:2.7b
phi3:3.8b
phi3:14b
phi3:instruct
phi3:medium
phi3:mini
phi3.5:3.8b
phi4:14b
phi4-mini-reasoning:3.8b
phi4-mini:3.8b
phi4-reasoning:14b
qwen:0.5b
qwen:1.8b
qwen:4b
qwen:7b
qwen:14b
qwen:32b
qwen2:0.5b
qwen2:1.5b
qwen2:7b
qwen2.5:0.5b
qwen2.5:1.5b
qwen2.5:3b
qwen2.5:7b
qwen2.5:14b
qwen2.5:32b
qwen2.5-coder:0.5b
qwen2.5-coder:1.5b
qwen2.5-coder:3b
qwen2.5-coder:7b
qwen2.5-coder:14b
qwen2.5-coder:32b
qwen3:0.6b
qwen3:1.7b
qwen3:4b
qwen3:8b
qwen3:14b
qwen3:30b
qwen3:32b
qwen3-coder:30b
qwq:32b
smollm2:1.7m
smollm2:135m
smollm2:360m
stable-code:3b
stable-code:instruct
starcoder2:3b
starcoder2:7b
starcoder2:15b
```
</details>
Для настройки vscode поставить один из плагинов: Для настройки vscode поставить один из плагинов:
* [Cline](https://marketplace.visualstudio.com/items?itemName=saoudrizwan.claude-dev) * [Cline](https://marketplace.visualstudio.com/items?itemName=saoudrizwan.claude-dev) (полноценный агент/болталка)
* [Continue](https://marketplace.visualstudio.com/items?itemName=Continue.continue) * [Roo Code](https://marketplace.visualstudio.com/items?itemName=RooVeterinaryInc.roo-cline) (более удобный форк cline)
* [Local AI Pilot](https://marketplace.visualstudio.com/items?itemName=nr-codetools.localaipilot) * [Continue](https://marketplace.visualstudio.com/items?itemName=Continue.continue) (замкнут на своей экосистеме, но позволяет работать с ollama)
* [Local AI Pilot](https://marketplace.visualstudio.com/items?itemName=nr-codetools.localaipilot) (примитивная болталка)
Для настройки idea поставить плагин: Для настройки idea поставить плагины:
* [AI Coding](https://plugins.jetbrains.com/plugin/21263-ai-coding)
* [MCP Server](https://plugins.jetbrains.com/plugin/26071-mcp-server) * [MCP Server](https://plugins.jetbrains.com/plugin/26071-mcp-server)
* File | Settings | Tools | MCP Server:
* Enable MCP Server
* Copy SSE Config
* [AI Coding](https://plugins.jetbrains.com/plugin/21263-ai-coding)
* File | Settings | Other Settings | AI Coding — настроить API
* в панели AI Coding зайти в MCP и добавить новый, вставив JSON-конфиг SSE, скопированный выше
* в панели AI Coding зайти в Agents, создать нового и дать ему этот MCP-сервер
Плагины должны соединиться с `localhost:11434` и подгрузить доступные модели из контейнера. Плагины должны соединиться с `localhost:11434` и подгрузить доступные модели из контейнера.

View File

@@ -159,7 +159,7 @@ python3 vectorize.py
python3 vectorize.py --help python3 vectorize.py --help
``` ```
## 4. Запуск ### 4. Запуск
Для работы с RAG в интерактивном режиме (симуляция диалога) следует выполнить команду: Для работы с RAG в интерактивном режиме (симуляция диалога) следует выполнить команду:
@@ -186,7 +186,7 @@ python3 rag.py --help
> [!NOTE] > [!NOTE]
> У скрипта очень довольно аргументов для гибкой настройки. > У скрипта очень довольно аргументов для гибкой настройки.
### Кастомный системный промпт #### Кастомный системный промпт
Если хочется уточнить роль генеративной модели, можно создать текстовый файл и прописать туда всё необходимое, учитывая следующие правила: Если хочется уточнить роль генеративной модели, можно создать текстовый файл и прописать туда всё необходимое, учитывая следующие правила:
@@ -204,30 +204,30 @@ python3 rag.py --help
Посмотреть полный промпт можно указав аргумент `--show_prompt` при вызове `rag.py`. Посмотреть полный промпт можно указав аргумент `--show_prompt` при вызове `rag.py`.
### Неплохие модели для экспериментов ## Неплохие модели для экспериментов
Обозначения: Обозначения:
* ☑️ — по умолчанию * ☑️ — по умолчанию
* 🧠 — размышляющая * 🧠 — размышляющая
* 🏋️ — требуются ресурсы * 🏋️ — требуются ресурсы
#### Эмбеддинг ### Эмбеддинг
- [`sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2`](https://hf.co/sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2) ☑️ - [`sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2`](https://hf.co/sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2) ☑️
- [`nomad-embed-text`](https://ollama.com/library/nomad-embed-text) - [`nomad-embed-text`](https://ollama.com/library/nomad-embed-text)
- ... - ...
#### Ранжирование ### Ранжирование
- [`cross-encoder/ms-marco-MMarco-mMiniLMv2-L12-V1`](https://hf.co/cross-encoder/ms-marco-MMarco-mMiniLMv2-L12-V1) ☑️ - [`cross-encoder/ms-marco-MMarco-mMiniLMv2-L12-V1`](https://hf.co/cross-encoder/ms-marco-MMarco-mMiniLMv2-L12-V1) ☑️
- `cross-encoder/ms-marco-MiniLM-L-6-v2` - [`cross-encoder/ms-marco-MiniLM-L-6-v2`](https://hf.co/cross-encoder/ms-marco-MiniLM-L-6-v2)
- `cross-encoder/ms-marco-TinyBERT-L-2-v2` - [`cross-encoder/ms-marco-TinyBERT-L-2-v2`](https://hf.co/cross-encoder/ms-marco-TinyBERT-L-2-v2)
- ... - ...
> [!NOTE] > [!NOTE]
> Другие можно найти здесь: https://github.com/AlexeyMalafeev/ruformers > Другие можно найти здесь: https://github.com/AlexeyMalafeev/ruformers
#### Генеративные ### Генеративные
Перечислен список: по убыванию качества ответов и размера модели, по возрастанию скорости ответов на обычном домашнем ПК. Перечислен список: по убыванию качества ответов и размера модели, по возрастанию скорости ответов на обычном домашнем ПК.
@@ -241,115 +241,6 @@ python3 rag.py --help
- [`gemma3n:e4b`](https://ollama.com/library/gemma3n) - [`gemma3n:e4b`](https://ollama.com/library/gemma3n)
- [`gemma3n:e2b`](https://ollama.com/library/gemma3n) - [`gemma3n:e2b`](https://ollama.com/library/gemma3n)
<details>
<summary>Полный список лёгких и средних моделей, которые можно использовать не только в RAG</summary>
```
codegemma:2b
codegemma:7b
codellama:7b
codellama:13b
codellama:34b
codeqwen:1.5b
codeqwen:7b
codestral:22b
deepcoder:1.5b
deepcoder:14b
deepseek-coder:1.3b
deepseek-coder:6.7b
deepseek-coder:33b
deepseek-coder-v2:16b
deepseek-r1:1.5b
deepseek-r1:7b
deepseek-r1:8b
deepseek-r1:14b
deepseek-r1:32b
devstral:24b
dolphin3:8b
gemma:2b
gemma:7b
gemma3:1b
gemma3:4b
gemma3:12b
gemma3:27b
gemma3:270m
gemma3n:e2b
gemma3n:e4b
gpt-oss:20b
granite-code:3b
granite-code:8b
granite-code:20b
granite-code:34b
llama2:7b
llama2:13b
llama3:8b
llama3.1:8b
llama3.2:1b
llama3.2:3b
llava-llama3:8b
magistral:24b
mistral:7b
mistral-nemo:12b
mistral-small:22b
mistral-small:24b
mixtral:8x7b
mxbai-embed-large:latest
nomic-embed-text:latest
openthinker:7b
openthinker:32b
phi:2.7b
phi3:3.8b
phi3:14b
phi3:instruct
phi3:medium
phi3:mini
phi3.5:3.8b
phi4:14b
phi4-mini-reasoning:3.8b
phi4-mini:3.8b
phi4-reasoning:14b
qwen:0.5b
qwen:1.8b
qwen:4b
qwen:7b
qwen:14b
qwen:32b
qwen2:0.5b
qwen2:1.5b
qwen2:7b
qwen2.5:0.5b
qwen2.5:1.5b
qwen2.5:3b
qwen2.5:7b
qwen2.5:14b
qwen2.5:32b
qwen2.5-coder:0.5b
qwen2.5-coder:1.5b
qwen2.5-coder:3b
qwen2.5-coder:7b
qwen2.5-coder:14b
qwen2.5-coder:32b
qwen3:0.6b
qwen3:1.7b
qwen3:4b
qwen3:8b
qwen3:14b
qwen3:30b
qwen3:32b
qwen3-coder:30b
qwq:32b
smollm2:1.7m
smollm2:135m
smollm2:360m
stable-code:3b
stable-code:instruct
starcoder2:3b
starcoder2:7b
starcoder2:15b
```
</details>
## Дисклеймер ## Дисклеймер
Проект родился на энтузиазме из личного любопытства. Проект родился на энтузиазме из личного любопытства.