Автоматическая система обработки и загрузки фотографий в SharePoint с использованием искусственного интеллекта для анализа и обогащения метаданных.
- Загрузка схемы метаданных из целевой библиотеки SharePoint
- Скачивание фотографий из исходной библиотеки SharePoint
- Анализ фотографий с помощью OpenAI для определения содержимого
- Генерация метаданных на основе анализа AI и схемы библиотеки
- Загрузка фотографий с метаданными в целевую библиотеку SharePoint
- Проверка результатов и формирование отчета
- Веб-интерфейс для управления всеми процессами и настройками системы
.
├── config/ # Конфигурационные файлы
│ ├── config.env # Переменные окружения
│ ├── default_prompt.env # Промпт по умолчанию для OpenAI
│ ├── optimized_prompt.env # Оптимизированный промпт для OpenAI
│ ├── step_by_step_prompt.env # Пошаговый промпт для OpenAI
│ ├── structured_simple_prompt.env # Структурированный простой промпт для OpenAI
│ └── sharepoint_choices.json # Схема метаданных SharePoint
├── data/ # Данные
│ ├── analysis/ # Результаты анализа OpenAI
│ ├── downloads/ # Скачанные фотографии
│ ├── metadata/ # Извлеченные метаданные
│ ├── processed/ # Обработанные фотографии
│ ├── registry/ # Реестр обработанных файлов
│ ├── reports/ # Отчеты о результатах
│ ├── upload/ # Файлы для загрузки
│ │ └── metadata/ # Метаданные для загрузки
│ └── uploaded/ # Загруженные файлы
├── docs/ # Документация
├── logs/ # Журналы
├── src/ # Исходный код
│ ├── utils/ # Утилиты
│ │ ├── config.py # Управление конфигурацией
│ │ ├── logging.py # Настройка логирования
│ │ ├── paths.py # Управление путями
│ │ └── registry.py # Реестр обработанных файлов
│ ├── web/ # Веб-интерфейс
│ │ ├── static/ # Статические файлы
│ │ ├── templates/ # Шаблоны
│ │ └── views/ # Обработчики запросов
│ ├── auto_process.py # Основной скрипт
│ ├── metadata_schema.py # Получение схемы метаданных
│ ├── photo_metadata.py # Обработка метаданных фото
│ ├── openai_analyzer.py # Анализ с OpenAI
│ ├── metadata_generator.py # Генерация метаданных
│ ├── sharepoint_auth.py # Аутентификация SharePoint
│ ├── sharepoint_uploader.py # Загрузка в SharePoint
│ ├── transfer_verification.py # Проверка результатов
│ └── web_server.py # Веб-сервер
├── Dockerfile # Dockerfile для сборки образа
├── docker-compose.yml # Docker Compose конфигурация
├── requirements.txt # Зависимости Python
└── README.md # Документация
- Docker и Docker Compose
- Учетные данные SharePoint
- API-ключ OpenAI
- Создайте или отредактируйте файл
config/config.envс вашими параметрами:# SharePoint connection settings SHAREPOINT_SITE_URL=https://your-sharepoint.com/sites/your-site SHAREPOINT_USERNAME=your.username@example.com SHAREPOINT_PASSWORD=your-password # Library settings SOURCE_LIBRARY_TITLE=SourceLibrary SHAREPOINT_LIBRARY=TargetLibrary # OpenAI settings OPENAI_API_KEY=your-openai-api-key OPENAI_PROMPT_TYPE=structured_simple MODEL_NAME=gpt-4o TEMPERATURE=0.1 IMAGE_DETAIL=high MAX_TOKENS=300 OPENAI_REQUESTS_PER_MINUTE=60 OPENAI_MAX_TOKENS_PER_MINUTE=90000
-
Запустите приложение с помощью Docker Compose:
docker-compose up -d -
Откройте веб-интерфейс по адресу:
http://localhost:8080 -
Проверьте логи:
docker-compose logs -f -
Для запуска отдельного модуля используйте:
docker-compose exec agent python -m src.metadata_schema
Веб-интерфейс предоставляет удобный способ управления системой:
- Дашборд - общая статистика и быстрый доступ к основным функциям
- Фотографии - управление фотографиями в системе
- Вкладка "Загрузки" - фотографии, загруженные из SharePoint
- Вкладка "Анализ" - результаты анализа фотографий с помощью OpenAI
- Вкладка "Загрузка" - фотографии, подготовленные для загрузки в SharePoint
- Вкладка "Загружено" - фотографии, успешно загруженные в SharePoint
- Логи - просмотр и управление логами системы
- Процессы - запуск и мониторинг процессов обработки
- Настройки - настройка системы
- Настройки SharePoint
- Настройки OpenAI API
- Настройки промптов для OpenAI
- Настройки параметров модели OpenAI
- Очистка директорий с данными
- Логи сохраняются в каталоге
logs/ - Отчеты о результатах загрузки сохраняются в
data/reports/ - Для проверки состояния системы используйте веб-интерфейс или запустите:
docker-compose exec agent python -m src.transfer_verification
Для очистки временных данных используйте веб-интерфейс (раздел "Настройки" -> "Очистка данных") или выполните:
docker-compose exec agent rm -rf /app/data/downloads/* /app/data/metadata/* /app/data/analysis/* /app/data/upload/*
-
Остановите контейнер:
docker-compose down -
Пересоберите образ:
docker-compose build --no-cache -
Запустите обновленный контейнер:
docker-compose up -d
Более подробная документация доступна в директории docs/:
README.md- общая документацияweb_interface.md- документация по веб-интерфейсуERNI_Photo_Processing_Workflow.md- описание рабочего процессаopenai_prompts.md- документация по промптам OpenAI