Upgrade to Pro — share decks privately, control downloads, hide ads and more …

공공데이터를 활용한 RAG 기술 구현 및 프레임워크 소개

kakao
November 01, 2024

공공데이터를 활용한 RAG 기술 구현 및 프레임워크 소개

#RAG #청킹 #검색 #대화형 인터페이스

LLM 응답의 신뢰도를 높이기 위한 방법론인 RAG를 효과적으로 구현하기 위해 필요한 구조 및 데이터 가공방식을 소개하고, 이를 구현한 데모를 시연합니다.

발표자 : ian.doyoun
검색 모델을 고도화하기 위해 인공지능 기술을 접목한 랭킹 모델과 신규 Feature를 개발하고 있습니다.

kakao

November 01, 2024
Tweet

More Decks by kakao

Other Decks in Programming

Transcript

  1.  ޙױ 1BSBHSBQI  ҳઑоੜ٘۞դޙࢲܳ׮ܙٸਬਊ  ౠ੿ѐ֛੉ա઱ઁীҙೠࣗѐషۿਸ׸ӝীਬਊ  ੘ࢿ੗о੄بೠࢤп੄൒ܴ੹ജ߈৔ೞӝী੸೤ ->

    ੘ࢿ੗ࢤп੄ҳઑ  ױੌ઱ઁ৔৉੉ޙױࠁ׮௼ӝب੘ӝبೣ 
 -> ৈ۞઱ઁܳݽইҳࢿೞѢա ೠо૑઱ઁ੄ӟӖਸૣ਷ഐ൚ਵ۽ա־ӝبೣ 8IZ$IVOL
  2.  ӡ੉оӡݶ  ੄޷࢚੄/PJTFૐо -> ઱ઁо࠙࢑غযੌҙࢿ੷ೞ  Ѩ࢝੐߬٬ಿ૕੷ೞ -> ૕੄৬੿ഛ൤ੌ஖ೞחޙࢲܳ଺ӝয۰਑

     ׹߸ীࠛ೙ਃೠղਊ -> )BMMVDJOBUJPOૐо ӡ੉оૣਵݶ  ੹୓ݓۅਬप  ೧׼ఫझ౟੄੄޷৵ҋ־ۅ 8IZ$IVOL
  3.  8IBUJT$IVOLJOH .JMMFSsT-BX .JMMFSsT.BHJD/VNCFS  ಣӐ੸ੋࢎۈ੄ױӝӝর۱ೠ҅ח‚ѐ  .FNPSZTQBO ӝর੄ױਤ ™$IVOL

     $IVOLۆ  ઱য૓Ӗীࢲੋधೡࣻ੓ח୭؀੄޷ױਤ  ࢎۈ݃׮$IVOL੄ӡ੉о׮ܴ  ं੗ ױয ҳ੺ j  Ӓۢஹೊఠח   .JMMFS ("  5IFNBHJDBMOVNCFSTFWFO QMVTPSNJOVTUXP4PNFMJNJUTPOPVSDBQBDJUZGPSQSPDFTTJOHJOGPSNBUJPO1TZDIPMPHJDBM3FWJFX   m
  4.  $IVOL੄੿੄  ୭ࣗೠ੄ز૕੸ੋ੄޷۽ޘਸࣻ੓ח୭؀ױਤ  ੄޷ ز૕ࢿ ஏ੿ߑߨ਷ $IVOLJOH੉ۆ 

    ௾ޙࢲܳ੄޷࢚ਵ۽Ӑੌೠױਤ۽࠙ೡೞח੘স  ઱ઁ੄ੌҙࢿਸਬ૑ೞח୭؀ೠ੄ޙ੢૘೤  Ѩ࢝ޙࢲղ*OGPSNBUJPO/PJTFܳ୭ࣗച 8IBUJT$IVOLJOH (PUP"QQFOEJY
  5.   'JYFE - TJ[F$IVOLJOH  3FDVSTJWF$IVOLJOH ҳ࠙੗۽࠙ೡ)JFSBSDIJDBM*UFSBUJWF  %PDVNFOU4QFDJ

    fi D$IVOLJOH ҳઑх૑ -PHJDBM4FDUJPO .BSLEPXO )5.- j  4FNBOUJD$IVOLJOH Ѩ࢝ಿ૕ࠁ੢ ৮Ѿࢿ ੌҙࢿ וܿ ޙ੢ BODIPS  8JOEPX -> ੐߬٬  "HFOUJD$IVOLJOH)PXIVNBOTEP ୐ޙ੢੉୐ޙױ -> ׮਺ޙ੢ਸ੍Ҋখޙױী߽೤ৈࠗѾ੿ -> ՘ө૑ $IVOLJOH.FUIPET
  6. $IVOLJOH.FUIPET Ѩ࢝ߑध 4UBUJD %ZOBNJD അ੤ -FYJDBM 9 ޙࢲױਤ )JHIMJHIU৔৉઱߸5FYU 4FNBOUJD

    7FDUPS Ӑ١࠙ೡ 'JYFE-FOHUI 5FYU0WFSMBQ 9 4FNBOUJD$IVOL -FYJDBM ੄޷࠙ೡ ޙ੢ױਤ ߭ఠਬࢎب 9 4FNBOUJD 7FDUPS 9 ష௾ױਤ੐߬٬೙ਃ -> $PM#&35 
  7.  $IVOLJOH"1* 4FNBOUJD$IVOLJOH  &NCFEEJOH&-&$53"  0QFSBUJPO-FWFM4FOUFODF  -PHJDਬࢎب߂ਬࢎب߸ചਯх૑ 

    ੄޷߸ചਯীٮܲ0WFSMBQبੑ  ҕҕؘ੉ఠ߂য়೑ࣗझؘ੉ఠ೟ण ୹୊IUUQT XXXLBLBPDPSQDPNQBHFEFUBJM
  8.  $IVOL"1*ӝמౠ૚  ޙࢲղҳઑ߈৔  ੄޷ӝ߈  ޙ੢ױਤ0QFSBUJPO  $IVOLӡ੉ઁೠ

    ୹୊IUUQT XXXCCDDPNLPSFBOBSUJDMFTDXQYKQP $IVOLJOH"1* CBDL
  9.  $IVOL3FUSJFWBM ޙࢲױਤѨ࢝җח׮ܰ׮  ࢎۈٜ਷$IVOLܳ੘ࢿ9  ޙࢲઙࣘ੸ౠࢿ 
 -> ઁݾ

    ஠పҊܻ $MJDL - -PH١  ೠޙࢲղ$IVOLр੄ޙݓҙ҅ਬप 
 -> ৘दtߡۅয়߄݃޷؀ా۸਷jӒחোࢸীࢲ૑૑੗ٜীѱju
  10.  $IVOL3FUSJFWBM $IVOLױਤѨ࢝ীࢲ೙ਃೠѪٜ  ઁݾ $IVOL5JUMF  ҙ۲૕੄ $BOEJEBUF2VFTUJPOT 


    -> ੉$IVOLחযڃ૕ޙਸ೧Ѿ೧઴ࣻ੓ਸө  ਗېޙࢲ߂׮ܲ$IVOL৬੄ҙ҅ 1BSFOU - $IJME)JFSBSDIZ 
 -> ೠޙࢲղ$IVOLр੄ҙ҅ب  Ѩ࢝ਊ੐߬٬'JOF5VOF 
 -> $IVOLܻ࠙ਊ&NCFEEJOHীࢲ࠙ച
  11.  )ZCSJE3FUSJFWBM  $IVOL੄੢ױ੼ 
 -> 'PDVTFE5PQJD -PTU$POUFYU  ޙࢲ߹.FUB$IVOLبੑ

    
 -> ਃড$IVOL ૑धӒې೐ 1BSFOU - $IJME)JFSBSDIZ j  ׮ࣻ੄઺ࠂ$IVOL۽ੋೠѨ࢝ಿ૕੷ೞߑ૑ 
 -> ৘زੌೠղਊ੄׏झӝࢎ $IVOL3FUSJFWBM
  12.  $BOEJBUF2VFTUJPOT  )Z%& )ZQPUIFUJDBM%PDVNFOU&NCFEEJOH  ࢎਊ੗૕੄ -> --.੉о࢚੄׹߸੘ࢿ ->

    ਬࢎޙࢲѨ࢝ WFDUPS  -> --.׹߸ࣻ੿  --.੄׹߸җਬࢎೠղਊ੄Ӗ੉ইפݶ଺૑ޅೡࣻ੓਺  )Z2& )ZQPUIFUJDBM2VFTUJPO&NCFEEJOH  $IVOL੍ܳҊ׹߸ೡࣻ੓ח૕ޙറࠁܳೣԋ࢝ੋ  ૕ޙࢤࢿ -> 5ള۲ $IVOL'FBUVSFT
  13.  $IVOL'FBUVSFT৘द ই౵౟ ౠࣻѤޛ ੄ࣗਬ੗חӒѤޛ੄ച੤۽ੋೞৈఋੋ੉ࢎݎೞѢա࢚ࠗਸੑ঻ਸٸژח׮ܲࢎۈ੄੤ޛীࣚ೧оߊࢤೠٸীחҗप੉হח҃਋ীبࠁ೷Ә ঘ੄ߧਤীࢲӒࣚ೧ܳߓ࢚ೡ଼੐੉੓णפ׮੉҃਋|पച଼੐ীҙೠߨܫ}ীبࠛҳೞҊই౵౟੄ࣗਬ੗ীѱ҃җप੉੓ח҃਋ীبӒࣚ೧ܳߓ࢚ೡ଼੐੉ ੓णפ׮ |ച੤۽ੋೠ੤೧ࠁ࢚җࠁ೷оੑীҙೠߨܫ}ઁઑઁ೦ ই౵౟ ౠࣻѤޛ

    ࣗਬ੗੄ࣚ೧ߓ଼࢚੐ীҙೞৈח|ച੤۽ੋೠ੤೧ࠁ࢚җࠁ೷оੑী ҙೠߨܫ}ীࢲӏ੿ೞחѪ৻ীח|޹ߨ}ীٮܵפ׮ |ച੤۽ੋೠ੤೧ࠁ࢚җࠁ೷оੑীҙೠߨܫ}ઁઑઁ೦  œౠࣻѤޛҴਬѤޛ䡪ҕਬѤޛ䡪Үਭदࢸ䡪ߔച੼䡪द੢䡪੄ܐदࢸ䡪൜೯੢䡪ࣼ߅সࣗ䡪׮઺੉ਊসࣗ䡪਍ࣻदࢸ䡪ҕ੢䡪ҕز઱ఖӒ߆ীৈ۞ࢎۈ੉୹ੑژחӔޖೞѢաѢ઱ ೞחѤޛ۽ࢲച੤੄ਤ೷੉աѤޛ੄ݶ੸١ਸҊ۰ೞৈ|ച੤۽ੋೠ੤೧ࠁ࢚җࠁ೷оੑীҙೠߨܫद೯۸}ઁઑীࢲ੿ೞחѤޛਸ݈ೣ |ച੤۽ੋೠ੤೧ ࠁ࢚җࠁ೷оੑীҙೠߨܫ}ઁઑઁഐ $IVOL5JUMF $BOEJEBUF2VFTUJPOT 2VFSZ3FXSJUF ই౵౟ച੤द ࣚ೧ߓ଼࢚੐ rपച଼੐ীҙೠߨܫীبࠛҳೞҊই౵౟੄ࣗਬ੗оࠁ೷Әঘ੄ߧਤীࢲࣚ೧ܳߓ࢚೧ঠೞ ח੉ਬחޖ঺ੋоਃ ই౵౟ࣗਬ੗ࠁ೷Әঘ ࣚ೧ߓ࢚੉ਬ ച੤۽ੋೠ੤೧ࠁ࢚җࠁ೷оੑীҙೠߨܫ਷যڃ҃਋ী੸ਊغաਃ ച੤੤೧ࠁ࢚ࠁ೷оੑߨܫ ౠࣻѤޛীחযڃѪٜ੉੓աਃ ౠࣻѤޛ ୹୊ߨઁ୊<଺ӝए਍ࢤഝߨ۸੿ࠁ><IUUQT XXXFBTZMBXHPLS>
  14.  ࢎਊػࢤࢿݽ؛  5ӝ߈  ؘ੉ఠ.4 - ."3$0 "* -

    )VC ଺ӝए਍ࢤഝߨ۸੿ࠁ ߨઁ୊  .VMUJ - UBTLള۲  5JUMF  $BOEJEBUF2VFTUJPOT  2VFSZ3FXSJUF  ݽ؛ೞա۽ৈ۞ӝמઁҕ 
 -> (16੗ਗബਯ੸ഝਊ  0//9 - "DDFMFSBUFE୶ۿࢲߡ $IVOL'FBUVSFT
  15.  $IVOL3FUSJFWBM4VNNBSZ $IVOLJOH  $IVOLJOH.PEFM&-&$53"  %FEJDBUFE$IVOL&NCFEEJOH3P#&35B  $IVOL5JUMF5 

    $BOEJEBUF2VFTUJPO5 3FUSJFWBM  2VFSZ3FXSJUF5  )JFSBSDIJDBM3FUSJFWBM5SVF  --. - 3FSBOL5SVF --. - 3FSBOL'BMTF --. - 3FSBOL5SVF   ࠄߊ಴おؘݽदোীࢲחয়೑ࣗझ--.ࢎਊೣ
  16.  1SF1PTU3FUSJFWBM 2VFSZ3FXSJUF 23  Ѩ࢝ਊ૕੄WT؀ച୓૕ޙ ,FZXPSETWT4FOUFODF  5.VMUJ -

    UBTLള۲ ؀ചഋ૕ޙ Ѩ࢝ਊ૕੄ ࣗ੢ਸ੘ࢿೡٸ যڃ੿ࠁܳನೣ೧ঠೞաਃ ࣗ੢੘ࢿ੿ࠁ ੌਊӔ۽੗੄੿੄חޖ঺ੋоਃ ੌਊӔ۽੗੿੄ ੗׮оযӵޡ஘ѱৌൗ૩উಽܻ֎যڃ਍ز੉જਸө যӵޡ஘Ѫಽ਍ز
  17.  3F3BOL  --.੉ࠁӝী੸೤ೠࣽࢲ۽Ѩ࢝ޙࢲ੤ߓ஖ (FOFSBUF  )BMMVDJOBUJPO୭ࣗച 
 -> ੗ܐ݅ࠁҊ؀׹೧ۄ

     ӝࠄ࢚धҗ)BMMVDJOBUJPOр҃҅ݽഐ 
 -> ઁѢࠛо 1SF1PTU3FUSJFWBM .PEFM" .PEFM# \tDIVOL@DPOUFOUutࣗই݃࠺חj೐ۘ௿ܽ%ܖझ߰౟୊ۢࢿੋੌٸѦܻח҃਋بju^ ೐ۘ௿ܽ%ܖૉ߰౟ -> ؀ా۸
  18. 4FSWJOH4USVDUVSF"*4FBSDICFUB 2 ࢎਊ੗૕੄ 6* 23 2VFSZ3FXSJUF Ѩ࢝ ޙࢲࣻ૘ ؘؘ࢚੉ఠࣻ૘ ୶оਢޙࢲ௼܀

    --.੐੄੄য়೑ࣗझݽ؛ࢎਊоמ 1SPNQU --. "HFOU 4ZTUFN ݽ؛݂ ࢝ੋ $IVOLJOH 2s 3"($PSF PO,BLBP$MPVE Ѩ࢝Ѿҗ ୹୊ઁҕ 0O,BLBP$MPVE $IVOLӝ߈ 
 ࢝ੋݽ؛݂ݽٕ ୭ઙ׹߸ 0O,BLBP$MPVE $POUFYU߈৔ 8୹୊ ޙࢲѨ࢝Ѿҗ
  19.  $SFEJUT  Ѩ࢝$*$  Ѩ࢝ࢲ࠺झ౱  Ѩ࢝୶ୌݽ؛݂౱  Ѩ࢝೒ۖಬ౱

     "*਽ਊѨ࢝౱  Ѩ࢝ӝദ౱  Ѩ࢝दझమ౱ ୓೷ഋੋఢभ೐۽Ӓ۔ъইഅש  ޙࢲղҳઑх૑۽૒ѐߊ߂Ҋبച 
 -> Ҋಿ૕$IVOLࢤ࢑ 0QFO4PVSDF%BUB  ߨઁ୊t଺ӝए਍ࢤഝߨ۸੿ࠁu  धড୊tधಿউ੹աۄu t੄ডಿউ੹աۄu ,PXPSLFS୓೷ࠗझ 3"(POࢎղࠂ૑߂সޖXJLJޙࢲ 4FSWJOH4USVDUVSF"*4FBSDICFUB
  20.  4FNBOUJD$POTJTUFODZ  ࠺तೠ੄޷੄ޙ੢ٜ੉߭ఠҕр࢚ীࢲઑ޻ೞѱݽৈ੓যঠೣ    Loss1 = 𝔼

    [d(vtitle , vchunk sent. )] Loss2 = Var[vchunk sent. ] Loss3 = 𝔼 [d(vtitle1 , vchunk1 sent. )] + 𝔼 [d(vtitle2 , vchunk2 sent. )] d(vtitle1 , vtitle2 ) + ϵ ( ≪ 1) "QQFOEJY TMJEF