model: команда memo model и автоскачивание модели (докачка, сверка размера, отключатель); manual: раздел про модель
This commit is contained in:
@@ -68,21 +68,54 @@
|
||||
|
||||
```bash
|
||||
cd /root/WORK/memo
|
||||
|
||||
# 1. Собрать всё
|
||||
./gradlew installDist
|
||||
|
||||
# 2. Скачать модель (в артефакты не входит, 287 МБ, один раз)
|
||||
mkdir -p models/siglip2
|
||||
curl -fSL -o models/siglip2/text_model_int8.onnx http://static.binom.pw/models/siglip2/text_model_int8.onnx
|
||||
curl -fSL -o models/siglip2/tokenizer.model http://static.binom.pw/models/siglip2/tokenizer.model
|
||||
|
||||
# 3. Сказать, где модель (добавьте в ~/.bashrc, чтобы не повторять)
|
||||
export MEMO_MODEL_DIR=/root/WORK/memo/models/siglip2
|
||||
```
|
||||
|
||||
Без переменной `MEMO_MODEL_DIR` программы ищут модель в `/root/WORK/memo/models/siglip2` —
|
||||
если у вас этот путь, шаг 3 можно пропустить.
|
||||
**Больше ничего делать не надо.** Модель (287 МБ) скачается сама при первом использовании —
|
||||
при первом `index`, `search` или `status`. Выглядит это так:
|
||||
|
||||
```
|
||||
модель не найдена в /root/WORK/memo/models/siglip2, скачиваю с http://static.binom.pw/models/siglip2 (≈287 МБ, один раз)
|
||||
скачиваю text_model_int8.onnx: 45% (128 МБ / 283 МБ)
|
||||
скачано text_model_int8.onnx: 283 МБ
|
||||
скачано tokenizer.model: 4 МБ
|
||||
```
|
||||
|
||||
Качается один раз: если файлы на месте, в сеть никто не ходит — поиск и индексация работают офлайн.
|
||||
|
||||
### Скачать заранее (необязательно)
|
||||
|
||||
Если хотите подготовить модель до первого запуска:
|
||||
|
||||
```bash
|
||||
CLI=/root/WORK/memo/memo-cli/build/install/memo/bin/memo
|
||||
$CLI model
|
||||
#> скачано: text_model_int8.onnx, tokenizer.model (287679278 байт)
|
||||
|
||||
$CLI model # повторный запуск: ничего не качает
|
||||
#> модель уже на месте в /root/WORK/memo/models/siglip2: text_model_int8.onnx, tokenizer.model
|
||||
|
||||
$CLI model --force # перекачать принудительно
|
||||
$CLI model --dir /другой/путь
|
||||
```
|
||||
|
||||
Скачивание можно прервать и продолжить: файл пишется как `<имя>.part`, а при следующем запуске
|
||||
закачка **дописывается с места обрыва** (сервер поддерживает докачку). Целевой файл появляется
|
||||
только после того, как размер сошёлся, — «битого, но выглядящего рабочим» файла не будет.
|
||||
|
||||
### Где живёт модель и как это менять
|
||||
|
||||
По умолчанию — `/root/WORK/memo/models/siglip2`. Одна копия на все три программы, поэтому
|
||||
в дистрибутивы она не кладётся (иначе было бы 287 МБ × 3).
|
||||
|
||||
| Переменная | Смысл |
|
||||
|---|---|
|
||||
| `MEMO_MODEL_DIR` | где лежит модель (иначе `/root/WORK/memo/models/siglip2`) |
|
||||
| `MEMO_MODEL_AUTO_DOWNLOAD=0` | запретить автоматическое скачивание. Тогда при отсутствии модели будет ошибка `модель не найдена в <путь>; запустите: memo model` |
|
||||
|
||||
```bash
|
||||
export MEMO_MODEL_DIR=/root/WORK/memo/models/siglip2 # добавьте в ~/.bashrc, чтобы не повторять
|
||||
```
|
||||
|
||||
После сборки появятся три программы:
|
||||
|
||||
@@ -124,6 +157,7 @@ $CLI search ~/notes/infra "где публикуются релизы"
|
||||
|
||||
```bash
|
||||
$CLI index <путь> # проиндексировать (повторный прогон — быстрый)
|
||||
$CLI model # скачать модель (обычно не нужно — сама скачается)
|
||||
$CLI search <путь> "<вопрос>" # искать: и смысл, и точные слова
|
||||
$CLI search <путь> "<вопрос>" --k 5 # вернуть 5 результатов (по умолчанию 8)
|
||||
$CLI search <путь> "<вопрос>" --json # машинный вывод (для скриптов и агента)
|
||||
@@ -307,6 +341,11 @@ $CLI index ~/notes
|
||||
MCP-серверы читаются при старте Hermes: начните новую сессию. Проверьте, что путь к `memo-mcp`
|
||||
в конфиге верный и файл исполняемый.
|
||||
|
||||
**Агент долго не отвечает на первый запрос.**
|
||||
Скорее всего, скачивается модель (287 МБ) — в stderr `memo-mcp` идёт строка
|
||||
`модель не найдена ..., скачиваю ...`. Это разовое: скачайте заранее командой `$CLI model`
|
||||
или подложите файлы в `MEMO_MODEL_DIR`.
|
||||
|
||||
**Где посмотреть, что вообще происходит.**
|
||||
```bash
|
||||
$CLI status ~/notes # по каждой коллекции: файлов, чанков, когда индексировали
|
||||
|
||||
Reference in New Issue
Block a user