schema2dwh
работает на базе искусственного интеллекта — Gemini от Google. Обязательно проверьте все выходные данные кода, прежде чем регистрировать его в рабочей среде. Также имейте в виду, что при обработке с помощью этого скрипта будет использоваться API Gemini, где данные обрабатываются Google. schema2dwh
— это платформа с открытым исходным кодом, предназначенная для упрощения и автоматического создания модели данных на основе вашей базы данных с использованием ее информационной схемы, использования искусственного интеллекта и нескольких вопросов о ваших входных данных. Она быстро создаст вам файл SQL DDL, готовый для создания скелет вашего недавно построенного хранилища данных.
Ниже приведен пример того, как это работает.
my_schema.csv
: output_schema.sql
: google-generativeai
)Клонируем репозиторий:
git clone https://github.com/cqllum/schema2dwh.git
cd schema2dwh
Установите необходимые пакеты:
pip install google-generativeai
Настройте ключ Google Generative AI API. Замените заполнитель your-api-key
в скрипте фактическим ключом Google Generative AI API. Сгенерируйте ключ здесь: https://aistudio.google.com/app/apikey.
Замените пример файла входной схемы (my_schema.csv). Обратите внимание: чтобы это было максимально точно, вам необходимо получить информационную схему из вашей базы данных. В большинстве случаев это так же просто, как SELECT * FROM information_schema.columns
. В противном случае обратитесь к документации по программному обеспечению базы данных.
Запустите скрипт:
python schema2dwh.py
Следуйте подсказкам: Скрипт запросит следующую информацию:
Вывод: сценарий сгенерирует операторы DDL SQL и сохранит их в output_schema.sql
. Если схема не может быть сгенерирована, вам будет предложено предоставить правильную информационную схему.
configure_genai(api_key)
: настраивает модель генеративного ИИ с помощью предоставленного ключа API.create_model()
: создает и настраивает генеративную модель ИИ с указанными настройками.start_chat_session(model)
: запускает сеанс чата с моделью, используя предопределенные инструкции.gather_user_input()
: собирает необходимые данные от пользователя в интерактивном режиме.format_response(db_software, db_name, industry, case_type, input_schema, additional_value)
: Форматирует вводимые пользователем данные в ответ для сеанса чата.save_schema_to_file(output_file, schema_output)
: сохраняет сгенерированные выходные данные схемы в указанный файл.main()
: основная функция, управляющая сценарием.