Актуализация README
This commit is contained in:
3
.vscode/extensions.json
vendored
3
.vscode/extensions.json
vendored
@@ -2,6 +2,7 @@
|
||||
"recommendations": [
|
||||
"saoudrizwan.claude-dev",
|
||||
"nr-codetools.localaipilot",
|
||||
"continue.continue"
|
||||
"continue.continue",
|
||||
"rooveterinaryinc.roo-cline"
|
||||
]
|
||||
}
|
||||
|
||||
141
README.md
141
README.md
@@ -1,15 +1,14 @@
|
||||
# Local ollama
|
||||
# Local ollama + RAG
|
||||
|
||||
Набор скриптов для быстрого запуска локальных LLM.
|
||||
Набор скриптов для быстрого запуска локальных LLM и RAG-системы.
|
||||
|
||||
Модели примерно до 40 млрд параметров (обычно 32b) наиболее реально запускать на домашних ПК разных мощностей.
|
||||
|
||||
Меньше параметров → меньше памяти на диске и в ОЗУ → выше скорость (tps) → ниже качество.
|
||||
|
||||
Больше параметров → больше памяти на диске и в ОЗУ → ниже скорость (tps) → выше качество.
|
||||
> Меньше параметров → меньше памяти на диске и в ОЗУ → выше скорость (tps) → ниже качество.
|
||||
> Больше параметров → больше памяти на диске и в ОЗУ → ниже скорость (tps) → выше качество.
|
||||
|
||||
Модели до 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`
|
||||
2. Запустить скрипт из любой и поддиректорий для скачивания и запуска модели в терминале
|
||||
3. Открыть веб-морду по адресу [localhost:9999](http://localhost:9999)
|
||||
2. Запустить `./ollama run <название модели>` для диалога в терминале
|
||||
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 поставить один из плагинов:
|
||||
* [Cline](https://marketplace.visualstudio.com/items?itemName=saoudrizwan.claude-dev)
|
||||
* [Continue](https://marketplace.visualstudio.com/items?itemName=Continue.continue)
|
||||
* [Local AI Pilot](https://marketplace.visualstudio.com/items?itemName=nr-codetools.localaipilot)
|
||||
* [Cline](https://marketplace.visualstudio.com/items?itemName=saoudrizwan.claude-dev) (полноценный агент/болталка)
|
||||
* [Roo Code](https://marketplace.visualstudio.com/items?itemName=RooVeterinaryInc.roo-cline) (более удобный форк cline)
|
||||
* [Continue](https://marketplace.visualstudio.com/items?itemName=Continue.continue) (замкнут на своей экосистеме, но позволяет работать с ollama)
|
||||
* [Local AI Pilot](https://marketplace.visualstudio.com/items?itemName=nr-codetools.localaipilot) (примитивная болталка)
|
||||
|
||||
Для настройки idea поставить плагин:
|
||||
* [AI Coding](https://plugins.jetbrains.com/plugin/21263-ai-coding)
|
||||
Для настройки idea поставить плагины:
|
||||
* [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` и подгрузить доступные модели из контейнера.
|
||||
|
||||
|
||||
125
rag/README.md
125
rag/README.md
@@ -159,7 +159,7 @@ python3 vectorize.py
|
||||
python3 vectorize.py --help
|
||||
```
|
||||
|
||||
## 4. Запуск
|
||||
### 4. Запуск
|
||||
|
||||
Для работы с RAG в интерактивном режиме (симуляция диалога) следует выполнить команду:
|
||||
|
||||
@@ -186,7 +186,7 @@ python3 rag.py --help
|
||||
> [!NOTE]
|
||||
> У скрипта очень довольно аргументов для гибкой настройки.
|
||||
|
||||
### Кастомный системный промпт
|
||||
#### Кастомный системный промпт
|
||||
|
||||
Если хочется уточнить роль генеративной модели, можно создать текстовый файл и прописать туда всё необходимое, учитывая следующие правила:
|
||||
|
||||
@@ -204,30 +204,30 @@ python3 rag.py --help
|
||||
|
||||
Посмотреть полный промпт можно указав аргумент `--show_prompt` при вызове `rag.py`.
|
||||
|
||||
### Неплохие модели для экспериментов
|
||||
## Неплохие модели для экспериментов
|
||||
|
||||
Обозначения:
|
||||
* ☑️ — по умолчанию
|
||||
* 🧠 — размышляющая
|
||||
* 🏋️ — требуются ресурсы
|
||||
|
||||
#### Эмбеддинг
|
||||
### Эмбеддинг
|
||||
|
||||
- [`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)
|
||||
- ...
|
||||
|
||||
#### Ранжирование
|
||||
### Ранжирование
|
||||
|
||||
- [`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-TinyBERT-L-2-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`](https://hf.co/cross-encoder/ms-marco-TinyBERT-L-2-v2)
|
||||
- ...
|
||||
|
||||
> [!NOTE]
|
||||
> Другие можно найти здесь: https://github.com/AlexeyMalafeev/ruformers
|
||||
|
||||
#### Генеративные
|
||||
### Генеративные
|
||||
|
||||
Перечислен список: по убыванию качества ответов и размера модели, по возрастанию скорости ответов на обычном домашнем ПК.
|
||||
|
||||
@@ -241,115 +241,6 @@ python3 rag.py --help
|
||||
- [`gemma3n:e4b`](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>
|
||||
|
||||
## Дисклеймер
|
||||
|
||||
Проект родился на энтузиазме из личного любопытства.
|
||||
|
||||
Reference in New Issue
Block a user