DocUA's picture
Єдиний коміт - очищення історії
4ad5efa
import os
import logging
from pathlib import Path
import sys
# Додаємо поточну директорію до PYTHONPATH для правильного імпорту модулів
current_dir = os.path.dirname(os.path.abspath(__file__))
if current_dir not in sys.path:
sys.path.append(current_dir)
# Налаштування логування
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
handlers=[
logging.FileHandler("huggingface_jira_assistant.log"),
logging.StreamHandler(sys.stdout)
]
)
logger = logging.getLogger("jira_assistant_hf")
# Створення необхідних директорій
for directory in ["data", "reports", "temp", "logs", "temp/indices", "current_data"]:
Path(directory).mkdir(exist_ok=True, parents=True)
logger.info(f"Робоча директорія: {os.getcwd()}")
logger.info(f"Вміст робочої директорії: {os.listdir('.')}")
logger.info(f"Python path: {sys.path}")
# Перевірка середовища Hugging Face
is_huggingface = os.environ.get("SPACE_ID") is not None
if is_huggingface:
logger.info("Виявлено середовище Hugging Face Spaces")
# Спроба імпорту основного додатку
try:
# Імпорт уніфікованого менеджера індексів
from modules.data_management.unified_index_manager import UnifiedIndexManager
# Створюємо глобальний екземпляр менеджера індексів
# Це дозволить використовувати один і той же менеджер в різних модулях
index_manager = UnifiedIndexManager()
# Додаємо менеджер індексів до глобальних змінних
import builtins
builtins.index_manager = index_manager
# Імпорт основного додатку з перейменованого файлу
from jira_assistant import JiraAssistantApp
from interface import launch_interface
# Створення екземпляру додатку
app = JiraAssistantApp()
# Передаємо менеджер індексів у додаток
app.index_manager = index_manager
# Отримання інтерфейсу Gradio
interface = launch_interface(app)
# Запуск інтерфейсу
if __name__ == "__main__":
interface.launch(
server_name="0.0.0.0",
server_port=7860,
share=False
)
except Exception as e:
import traceback
logger.error(f"Помилка при ініціалізації програми: {e}")
logger.error(traceback.format_exc())
# Створення спрощеного інтерфейсу при помилці
import gradio as gr
def simplified_interface():
with gr.Blocks(title="Jira AI Assistant") as interface:
gr.Markdown("# 🔍 Jira AI Assistant")
gr.Markdown(f"""
## ⚠️ Помилка запуску
Виникла помилка при запуску програми. Перевірте логи для детальної інформації.
Помилка: {str(e)}
Вміст директорії: {os.listdir('.')}
Python path: {sys.path}
""")
return interface
interface = simplified_interface()
if __name__ == "__main__":
interface.launch(
server_name="0.0.0.0",
server_port=7860,
share=False
)