Проект аудита отелей: основные скрипты и документация

- Краулеры: smart_crawler.py, regional_crawler.py
- Аудит: audit_orel_to_excel.py, audit_chukotka_to_excel.py
- РКН проверка: check_rkn_registry.py, recheck_unclear_rkn.py
- Отчёты: create_orel_horizontal_report.py
- Обработка: process_all_hotels_embeddings.py
- Документация: README.md, DB_SCHEMA_REFERENCE.md
This commit is contained in:
Фёдор
2025-10-16 10:52:09 +03:00
parent 545e199389
commit 0cf3297290
105 changed files with 28743 additions and 0 deletions

View File

@@ -0,0 +1,68 @@
#!/usr/bin/env python3
"""
Создание таблиц для настроек пользователей и моделей LLM
"""
import psycopg2
from psycopg2.extras import RealDictCursor
# Конфигурация БД
DB_CONFIG = {
'host': '147.45.189.234',
'port': 5432,
'database': 'default_db',
'user': 'gen_user',
'password': '2~~9_^kVsU?2\\S'
}
def create_tables():
"""Создание таблиц для настроек пользователей"""
try:
conn = psycopg2.connect(**DB_CONFIG, cursor_factory=RealDictCursor)
cur = conn.cursor()
print("🔗 Подключение к БД установлено")
# Читаем SQL файл
with open('user_settings_schema.sql', 'r', encoding='utf-8') as f:
sql_content = f.read()
# Выполняем SQL
cur.execute(sql_content)
conn.commit()
print("✅ Таблицы созданы успешно!")
# Проверяем созданные таблицы
cur.execute("""
SELECT table_name
FROM information_schema.tables
WHERE table_schema = 'public'
AND table_name IN ('user_settings', 'llm_models')
ORDER BY table_name;
""")
tables = cur.fetchall()
print(f"📊 Созданы таблицы: {[t['table_name'] for t in tables]}")
# Проверяем количество моделей
cur.execute("SELECT provider, COUNT(*) as count FROM llm_models GROUP BY provider ORDER BY provider;")
models = cur.fetchall()
print("\n📋 Модели по провайдерам:")
for model in models:
print(f" {model['provider']}: {model['count']} моделей")
cur.close()
conn.close()
print("\n🎉 Готово! Теперь можно использовать БД для настроек пользователей.")
except Exception as e:
print(f"❌ Ошибка: {e}")
if __name__ == "__main__":
create_tables()