44
homelab/paperless-ollama-README.md
Normal file
44
homelab/paperless-ollama-README.md
Normal file
@@ -0,0 +1,44 @@
|
||||
# Paperless + Ollama: вопросы по документам
|
||||
|
||||
Скрипт ищет по документам в Paperless-ngx (full-text по OCR) и отвечает на вопрос, подставляя найденный текст в модель Ollama (Saiga).
|
||||
|
||||
## Требования
|
||||
|
||||
- Python 3.9+
|
||||
- Доступ к API Paperless-ngx (контейнер 104 → укажи его URL)
|
||||
- Доступ к Ollama (например на VM 192.168.1.200:11434)
|
||||
|
||||
## Переменные окружения
|
||||
|
||||
| Переменная | Обязательная | По умолчанию | Пример |
|
||||
|------------|--------------|--------------|--------|
|
||||
| `PAPERLESS_URL` | да | — | `http://192.168.1.104:8000` |
|
||||
| `PAPERLESS_TOKEN` | да | — | токен из Paperless (см. ниже) |
|
||||
| `OLLAMA_URL` | нет | `http://localhost:11434` | `http://192.168.1.200:11434` если скрипт на другой машине |
|
||||
| `OLLAMA_MODEL` | нет | `saiga` | имя модели в Ollama |
|
||||
| `PAPERLESS_MAX_DOCS` | нет | `5` | сколько документов подставлять в промпт |
|
||||
|
||||
## Токен Paperless
|
||||
|
||||
В веб-интерфейсе Paperless: **My Profile** (меню пользователя) → кнопка обновления токена (circular arrow) → скопировать токен. Либо создать токен в Django admin.
|
||||
|
||||
## Запуск
|
||||
|
||||
```bash
|
||||
cd homelab
|
||||
export PAPERLESS_URL="http://192.168.1.104:8000" # или IP/порт где крутится контейнер 104
|
||||
export PAPERLESS_TOKEN="твой_токен"
|
||||
|
||||
# Если Ollama на другой машине:
|
||||
export OLLAMA_URL="http://192.168.1.200:11434"
|
||||
|
||||
python3 paperless-ollama-ask.py "номер паспорта?"
|
||||
python3 paperless-ollama-ask.py "когда истекает договор?"
|
||||
```
|
||||
|
||||
Скрипт: ищет в Paperless по фразе (по OCR), берёт до 5 документов, подставляет их текст в промпт и отправляет в Ollama. Ответ выводится в stdout.
|
||||
|
||||
## Где запускать
|
||||
|
||||
- **На VM с Ollama (192.168.1.200):** `OLLAMA_URL=http://localhost:11434`, `PAPERLESS_URL` — адрес контейнера 104 (например `http://192.168.1.104:8000` или `http://host-104:8000` если есть DNS).
|
||||
- **С своей машины:** оба URL с IP (Ollama и Paperless), порт 11434 и 8000 соответственно.
|
||||
Reference in New Issue
Block a user