Актуализация README
This commit is contained in:
3
.vscode/extensions.json
vendored
3
.vscode/extensions.json
vendored
@@ -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
141
README.md
@@ -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` и подгрузить доступные модели из контейнера.
|
||||||
|
|
||||||
|
|||||||
125
rag/README.md
125
rag/README.md
@@ -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>
|
|
||||||
|
|
||||||
## Дисклеймер
|
## Дисклеймер
|
||||||
|
|
||||||
Проект родился на энтузиазме из личного любопытства.
|
Проект родился на энтузиазме из личного любопытства.
|
||||||
|
|||||||
Reference in New Issue
Block a user