schema2dwh
ขับเคลื่อนโดย AI - Gemini ของ Google - โปรดตรวจสอบให้แน่ใจว่าได้ตรวจสอบเอาต์พุตโค้ดทั้งหมดก่อนที่จะลงทะเบียนสิ่งนี้กับการใช้งานจริง โปรดทราบว่าการประมวลผลผ่านสคริปต์นี้จะใช้ Gemini API ซึ่งข้อมูลจะถูกประมวลผลโดย Google schema2dwh
เป็นเฟรมเวิร์กโอเพ่นซอร์สที่ออกแบบมาเพื่อลดความซับซ้อนและสร้างโมเดลข้อมูลโดยอัตโนมัติตามฐานข้อมูลของคุณโดยใช้สคีมาข้อมูล การใช้ประโยชน์จาก AI และคำถามสองสามข้อเกี่ยวกับอินพุตของคุณ มันจะสร้างไฟล์ 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)
: กำหนดค่าโมเดล Generative AI ด้วยคีย์ API ที่ให้มาcreate_model()
: สร้างและกำหนดค่าโมเดล Generative AI ด้วยการตั้งค่าที่ระบุ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()
: ฟังก์ชั่นหลักที่ขับเคลื่อนสคริปต์