Files
smart-home-tablet/agent/Dockerfile
d.klimov e6dab09c38
All checks were successful
Deploy / deploy (push) Successful in 3m43s
voice: локальный агент (fast-path), tool control_light, смелая тема, RUNBOOK
- lib/agent-local.ts + route.ts: команды-действия исполняет локальная intent-служба
  (под AGENT_URL, с fallback на LLM); инфо-запросы остаются у LLM
- lib/tools/lights.ts: голосовое управление светом через HA (control_light)
- app/globals.css + page.tsx: космическая indigo/aurora тема (токены, kiosk-safe)
- agent/: sidecar-служба (Dockerfile, predict.py), веса монтируются томом
- RUNBOOK.md: вывод в продакшен на мини-ПК
2026-07-22 21:48:24 +03:00

30 lines
1.5 KiB
Docker
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Sidecar-служба локального агента (intent+slots) для планшета.
# route.ts зовёт её по HTTP (AGENT_URL) и исполняет команды-действия офлайн.
#
# Веса дообученной модели (joint_model/, ~115 МБ) в git НЕ идут и в образ НЕ
# пекутся — они МОНТИРУЮТСЯ томом в /app/joint_model при запуске (см. RUNBOOK).
# Базовая ruBERT-tiny2 запекается в образ при сборке, чтобы на старте не ходить
# в интернет.
FROM python:3.12-slim
WORKDIR /app
ENV HF_HUB_DISABLE_XET=1
# CPU-torch из cpu-индекса (без CUDA — образ легче).
RUN pip install --no-cache-dir --index-url https://download.pytorch.org/whl/cpu torch \
&& pip install --no-cache-dir transformers sentencepiece
# Запекаем базовую модель в кэш образа (runtime без сети).
RUN python -c "from transformers import AutoModel, AutoTokenizer; \
AutoModel.from_pretrained('cointegrated/rubert-tiny2'); \
AutoTokenizer.from_pretrained('cointegrated/rubert-tiny2')"
COPY joint_model_def.py tablet_map.py predict.py ./
ENV THRESHOLD=0.7
EXPOSE 8091
# Модель ждём в /app/joint_model (том). predict.py --serve поднимает HTTP:
# POST /predict {"text": "..."} -> {intent, slots, score, tool}
CMD ["python", "predict.py", "--serve", "--port", "8091"]