Files

74 lines
2.5 KiB
Bash
Executable File

#!/bin/bash
# Скрипт для запуска API сервера поиска
echo "=================================================="
echo "Запуск API сервера справочника подшипников"
echo "=================================================="
echo ""
# Проверка Python
if ! command -v python3 &> /dev/null; then
echo "❌ Python 3 не найден. Установите Python 3.8 или выше."
exit 1
fi
echo "✓ Python найден: $(python3 --version)"
# Проверка виртуального окружения
if [ ! -d "venv" ]; then
echo ""
echo "Создание виртуального окружения..."
python3 -m venv venv
echo "✓ Виртуальное окружение создано"
fi
# Активация виртуального окружения
echo ""
echo "Активация виртуального окружения..."
source venv/bin/activate || . venv/Scripts/activate
# Установка зависимостей
echo ""
echo "Установка зависимостей..."
pip install -q --upgrade pip
pip install -q -r requirements.txt
echo "✓ Зависимости установлены"
# Проверка наличия данных
if [ ! -f "data/autocomplete_dict.json" ] || [ ! -f "data/document_index.json" ]; then
echo ""
echo "=================================================="
echo "Построение индексов (это может занять несколько минут)..."
echo "=================================================="
if [ ! -f "data/autocomplete_dict.json" ]; then
echo ""
echo "Построение словаря автодополнения..."
python scripts/build_autocomplete_dict.py
fi
if [ ! -f "data/document_index.json" ]; then
echo ""
echo "Построение индекса документов..."
python scripts/build_search_index.py
fi
echo ""
echo "✓ Индексы построены"
fi
# Запуск сервера
echo ""
echo "=================================================="
echo "Запуск сервера..."
echo "=================================================="
echo ""
echo "API доступно по адресу: http://localhost:8000"
echo "Документация Swagger: http://localhost:8000/docs"
echo ""
echo "Для остановки нажмите Ctrl+C"
echo ""
uvicorn api.app.api:app --reload --host 0.0.0.0 --port 8000