Slide 1

Slide 1 text

1 1೔50ສ݅ஷ·ΔΫΤϦͷϩάΛ׆͔ͯ͠ɺ SQLͷੜ੒ʹ௅ઓ͍ͯ͠Δ࿩ 2023/12/14 Nagai Shinya (@_ _hiza_ _)

Slide 2

Slide 2 text

2 ● എܠ ○ ͦ΋ͦ΋ͳͥSQLΛੜ੒ͤ͞Α͏ͱࢥͬͨͷ͔?
 ● ԿΛͨ͠ͷ͔? ○ ݴ༿Ͱࢦࣔͨ͠಺༰ͷSQLΛੜ੒͢ΔγεςϜΛ࡞ͬͯΈͨ ○ ͦͷγεςϜʹඞཁͳϝλσʔλ΋LLMʹੜ੒ͤͯ͞Έͨ
 ● ݁ՌͲ͏ͩͬͨͷ͔? ○ ޮ཰Խʹߩݙ͢Δπʔϧ͕࡞Εͦ͏ ○ ͨͩ͠ԿͰ΋LLMͰ΍Ε͹͍͍Θ͚Ͱ͸ͳ͍ ͓࿩͢Δ͜ͱ ࣾ಺ͷσʔλ෼ੳʹ࢖͏SQLΛLLMʹੜ੒ͤͯ͞ΈͨऔΓ૊Έ

Slide 3

Slide 3 text

3 ● ໾ׂ ○ ࣾ಺ͷσʔλͷར༻ऀͷੜ࢈ੑΛߴΊΔɻσʔλͷར༻Λ޿ΊΔ
 ● ओཁͳϓϩδΣΫτ ○ ABςετͷࣗಈԽ ○ BIπʔϧ(Looker)ͷ։ൃͱల։ ○ ෼ੳ༻தؒςʔϒϧͷ։ൃ ○ LLMͷ׆༻ ϝϧΧϦ BI productνʔϜ ͍ΘΏΔAnalytics Engineeringʹ͍ۙ໾ׂΛ΋ͬͨνʔϜ

Slide 4

Slide 4 text

4 ● ࣾ಺΁ͷώΞϦϯά ○ 30ऑͷνʔϜ͔Βσʔλ׆༻ͷ՝୊ΛώΞϦϯά ○ ňSQLΛॻ͘ͷ͕େมʼn
 ● σʔλ ○ BigQueryͷར༻ऀ਺ 1000ਓ (1݄͋ͨΓ) ○ 1೔͋ͨΓͷΫΤϦ਺20ʙ40 (1ਓ͋ͨΓ) ۃ࿦ͱͯ͋͠ΒΏΔूܭॲཧ͕ॠ࣌ʹߦ͑ͨΒܶతͳۀ຿վળ͕ݟࠐΊΔ σʔλ׆༻ͷ՝୊ ňSQLΛॻ͘ͷ͕େมʼn

Slide 5

Slide 5 text

5 ● ňSQLΛॻ͘ͷ͕େมʼnͳཧ༝͸? 
 ͜Ε·Ͱ΋ɺSQLΛॻ͘࡞ۀͷෛՙܰݮʹऔΓ૊ΜͰ͖ͨ ͜Ε·ͰͷΞϓϩʔν தؒςʔϒϧͷ੔උɾBIπʔϧɾγεςϜԽ ϝλσʔλͷෆ଍ → ϝλσʔλ੔උ ෳࡶͳςʔϒϧߏ੒ தؒςʔϒϧͷ੔උ SQLࣗମ͕෼͔Βͳ͍ BIπʔϧͷ੔උ ಉ͡Α͏ͳΫΤϦΛ܁Γฦ͠ॻ ͍͍ͯΔ ఆܕతͳॲཧͷࣗಈԽ

Slide 6

Slide 6 text

6 ৽ͨͳΞϓϩʔν ● γϯϓϧͳΞΠσΟΞ a. Ϣʔβʔ(ΞφϦετͳͲ)͕ɺ࣮ߦ͍ͨ͠ॲཧΛγεςϜʹ༩͑Δ b. LLM͕SQLΛੜ੒͢Δ → SQLΛॻ͍ͯΔ࣌ؒΛ୹ॖ LLM΋࢖͑ΔͷͰ͸ͳ͍͔? SQLੜ੒ γεςϜ SQL ΍Γ͍ͨ ूܭ (ࣗવݴޠ)

Slide 7

Slide 7 text

7 ● ୯ʹૉͷLLM(ྫ: ૉͷChatGPT)ʹࢦࣔΛ༩͑ΔͱͲ͏ͳΔ͔ ○ ୯ʹLLMʹࢦࣔΛ༩͑ͯ΋࢖͑ΔSQL͸ੜ੒Ͱ͖ͳ͍ ○ LLM͸ɺࣾ಺DBͷߏ଄(ϝλσʔλ)Λ஌Βͳ͍ͨΊ
 LLMʹΑΔSQLੜ੒ͷ՝୊ᶃ - ࣾ಺஌ࣝΛͲ͏͋ͨ͑Δ͔ ՝୊: LLM͸ࣾ಺஌ࣝΛ࣋ͨͳ͍

Slide 8

Slide 8 text

8 LLMʹΑΔSQLੜ੒ͷ՝୊ᶃ - ࣾ಺஌ࣝΛͲ͏͋ͨ͑Δ͔ LLM SQL ΍Γ͍ͨूܭ (ࣗવݴޠ) ςʔϒϧAͷઆ໌ ςʔϒϧBͷઆ໌ …. ➕ Ϣʔβʔ͕ ೖྗͨ͠ࢦࣔ ࣾ಺஌ࣝ Ϣʔβʔ͕ೖྗͨ͠ࢦࣔʹࣾ಺஌ࣝΛ෇͚Ճ͑ͯLLMʹ༩͑ΔγεςϜʹ͢Δ
 ղܾࡦ: ϝλσʔλΛϓϩϯϓτͰ༩͑Δ ৄࡉ͸͸Ϳ͖·͕͢Retrieval-Augmented Generation(RAG)ͱ͍͏ςΫχοΫͰϓϩϯϓτʹ͍ΕΔ΂͖ϝλσʔλΛϝ λσʔλͷDB͔Βநग़ͯ͠ಈతʹ௥Ճͯ͠·͢ɻ

Slide 9

Slide 9 text

9 ● 50ʙ300ςʔϒϧ͘Β͍ͷϝλσʔλΛ४උ͍ͨ͠ ○ BigQueryͷaudit logΛ෼ੳ ■ Ͳͷςʔϒϧ͕ଟ͘ࢀর͞Ε͍ͯΔ͔෼͔Δ ■ ༻్Λߜͬͯ΋50ςʔϒϧ͸ςʔϒϧͱΧϥϜͷઆ໌͕ཉ͍͠ ○ ͦ΋ͦ΋ਓ͕ΫΤϦΛॻ͘ࡍʹ΋ඞཁͳ΋ͷ͕ͩ੔උ͖͠Ε͍ͯͳ͍
 LLMʹΑΔSQLੜ੒ͷ՝୊ᶄ - ࣾ಺஌ࣝΛͲ͏༻ҙ͢Δ͔ ՝୊: ϝλσʔλͷ४උ͸େม

Slide 10

Slide 10 text

10 ● BigQuery audit logʹࣾ಺Ͱ࣮ߦ͞ΕͨSQLͷϩά͕શͯ͋Δ ○ 1೔͋ͨΓ50ສ݅ͷSQL࣮ߦϩά͕ཷ·͍ͬͯΔ ○ ಛఆͷςʔϒϧΛࢀরͨ͠ΫΤϦͷྫΛLLMʹ͋ͨ͑ͯɺϝλσʔλ Λਪఆͤ͞Δɻ LLMʹΑΔSQLੜ੒ͷ՝୊ᶄ - ࣾ಺஌ࣝΛͲ͏༻ҙ͢Δ͔ ղܾࡦ: LLMͰϝλσʔλ΋ਪఆͤ͞Δ

Slide 11

Slide 11 text

11 LLMʹΑΔSQLੜ੒ͷ՝୊ᶄ - ࣾ಺஌ࣝΛͲ͏༻ҙ͢Δ͔ ੜ੒ͨ͠ϝλσʔλͷྫɻগ͠खΛՃ͑Ε͹े෼ʹ࢖͑Δ಺༰ͩͬͨ ಺༰ͷޡΓͷଞʹɺ༻ޠͷෆ౷ҰͳͲදݱํ๏ͷ໰୊΋ଟগى͖Δɻ

Slide 12

Slide 12 text

12 γεςϜͷશମ૾ Audit Log͔Βͷϝλσʔλ৘ใ + ूܭ಺༰ͷࢦࣔ → SQL LLM SQL ΍Γ͍ͨूܭ (ࣗવݴޠ) ςʔϒϧAͷઆ໌ ςʔϒϧBͷઆ໌ ➕ Step2. SQLͷੜ੒ Step1. ϝλσʔλͷਪఆ SQLͷྫ1 SQLͷྫ2 ϝλσʔλΛ ਪఆ͍ͯͩ͘͠͞ ➕ LLM ςʔϒϧAͷઆ໌ ςʔϒϧBͷઆ໌

Slide 13

Slide 13 text

13 ● ෼ੳͰ࢖͑ͦ͏ͳΫΤϦΛूܭͤͯ͞Έͨ ○ ͋Δ݄ʹొ࿥ͨ͠Ϣʔβʔʹ͍ͭͯɺొ࿥݄͔Βͷܦա݄਺͝ͱʹߪ ೖ཰Λܭࢉ͍ͯͩ͘͠͞ɻ(͍ΘΏΔొ࿥͔Βͷίϗʔτ෼ੳ)
 ● ݁Ռ ○ 1ʙ2Օॴमਖ਼͢Ε͹ಈ͘ΫΤϦ͕ੜ੒Ͱ͖ͨɻ ○ ͜ͷྫΑΓ΋͏গ͠೉͍͓͠୊Ͱ΋ಉ͘͡Β͍ͷ඼࣭ɻ ■ ňγϯϓϧͳwindows͕۟ඞཁʼn͘Β͍ͷ೉қ౓ͳΒग़དྷͨ ੑೳͷݕূ ݁Ռ: ΞφϦετ͕গ͠खΛՃ͑Ε͹े෼࢖͑ΔSQL͕ੜ੒Ͱ͖ͨ

Slide 14

Slide 14 text

14 ग़ྗͷྫ ← SQL ← ूܭͷ಺༰ɺલఏ

Slide 15

Slide 15 text

15 ● SQLΛॻ͘ੜ࢈ੑΛ͔ͳΓ্͛ΒΕͦ͏ ○ ΞφϦετ͸աڈʹॻ͍ͨSQLΛॻ͖׵͑࢖͏έʔε͕ଟ͍ ○ ͦͷňԼॻ͖ʼnͱͯ͠ͳΒLLM͸े෼ʹ࢖͑Δ
 ● ՝୊ ○ θϩ͔ΒSQLΛॻ͚ΔਓͰͳ͍ͱਖ਼֬ੑΛ୲อͰ͖ͳ͍ ○ QAग़དྷͳ͍ ○ LLMͰղܾ͢΂͖՝୊ͳͷ͔? ■ Ͳͷςʔϒϧಉ࢜Λjoinͨ͠Βཉ͍͠σʔλ͕ಘΒΕΔ?
 → ྑ͘join͢Δ૊Έ߹ΘͤͳΒதؒςʔϒϧΛ࡞͓ͬͯ͘΂͖ ΍ͬͯΈͯ෼͔ͬͨLLMʹΑΔSQLͷੜ੒ ᶃ࢖͑ͦ͏ɻᶄͳΜͰ΋LLMͰ΍Ε͹ྑ͍Θ͚Ͱ͸ͳ͍ɻ

Slide 16

Slide 16 text

16 ● ఆܗੑͷߴ͍χʔζ ○ ྫ: ABςετͷޮՌݕূͰຖճಉ͡SQLॻ͍ͯΔ ■ ABςετΛࣗಈԽ͢ΔπʔϧΛ࡞Δ ■ ͔ͬ͠ΓQA͠ɺߴ଎Խ͠ɺࣗಈԽ͢Δ ○ ྫ: ͲͷςʔϒϧΛjoin͢Ε͹ཉ͍͠σʔλ͕ಘΒΕΔ? ■ ύλʔϯԽͯ͠ΔͳΒதؒςʔϒϧԽ
 ● ඇఆܕͷχʔζ ○ ্ه͔Β࿙Εͨχʔζશൠʹର͢Δੜ࢈ੑΞοϓʹLLM͕޲͖ͦ͏ ࢖͍෼͚ͷඞཁੑ ňඇఆܕͷࡉ͔͍ूܭͷޮ཰Λఈ্͛͢Δʼnͱ͍ͬͨ༻్ʹ޲͖ͦ͏

Slide 17

Slide 17 text

17 ň΍ͬͯΈͨʼnͷઌʹ͋Δͷ΋ ձࣾͷ՝୊ʹର͢Δཧղͬͯॏཁ ● ࠓճͷҐஔ͚ͮ ň΍ͬͯΈͨʼn ○ ·ͩۀ຿ʹ໾ཱ͍ͬͯΔΘ͚Ͱ͸ͳ͍ɻٕज़తʹݫີͳ༁Ͱ΋ͳ͍ ○ Ͱ΋΍ͬͯΈΔ͜ͱͰಘΒΕΔ৘ใ͸େ͖͍ ○ LLMͰ”Կ͕ग़དྷͦ͏”ͳͷ͔?
 ● Կ͔͕ग़དྷͦ͏ͳ࣌ɺԿΛ͢΂͖? ○ ͲΜͳ՝୊Λղܾ͢Ε͹ɺձࣾͷ੒௕ʹͭͳ͕Δͷ͔? ○ ͦΕΛ஌ͬͯΔ͔Βٕज़͕࢖͍෼͚ΒΕΔ ○ ͦΕΛ஌Βͳ͍ͱň΍ͬͯΈͨʼnͷઌ͕ͳ͍ ■ ώΞϦϯάɺσʔλ෼ੳʹΑΔձࣾ՝୊ͷཧղͬͯେࣄ

Slide 18

Slide 18 text

18 @_ _hiza_ _ https://twitter.com/__hiza__ ͜ͷςʔϚʹ͍ͭͯΧδϡΞϧʹ࿩͍ͨ͠ํ͕ډͨΒ ͓ؾܰʹDM͍ͩ͘͞ɻ