ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Retrieval Augement Generation(RAG)๋ž€?
    ๐Ÿ‘ฉ๐Ÿป‍๐Ÿซ๊ฐ•์˜&์›Œํฌ์ƒต/RAG๋ฅผ ํ™œ์šฉํ•œ AI LLM APP๊ฐœ๋ฐœ 2025. 5. 31. 20:18

    ๊ฐ•์˜ ์ถœ์ฒ˜ : Inflearn-RAG๋ฅผ ํ™œ์šฉํ•œ LLM Application๊ฐœ๋ฐœ (feat. LangChain)


    Retrieval Augement Generation(RAG)

    LLM์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์—์„œ ์ค‘์š”ํ•œ ๊ฐœ๋…

    • LLM(Large Language Model)๋“ฑ์žฅ ์ „ NLP์—์„œ๋ถ€ํ„ฐ ์‚ฌ์šฉ๋จ
    • Retrieval : ๊ฒ€์ƒ‰
    • Augument : ์ฆ๊ฐ•
    • Generation : ์ƒ์„ฑ

     

    Retrieval

    • ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ
    • ๊ตฌ์ฒด์ ์œผ๋กœ๋Š” "์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์— ์ €์žฅ๋œ ์ž๋ฃŒ๋ฅผ ์ทจ๋“ํ•˜๋Š” ๊ฒƒ"
    • ๋ฐฑํ„ฐ์Šคํ† ์–ด์—์„œ ํ•„์š”๋กœ ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ž˜ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ
    • ์–ธ์–ด๋ชจ๋ธ์ด ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š์€ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ
      • why? : ์–ธ์–ด๋ชจ๋ธ์ด ์•„์›ƒํ”—์„ ๋งŒ๋“œ๋Š”๋ฐ ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด
      • ์–ธ์–ด๋ชจ๋ธ์ด ๋‹ต๋ณ€ ์ƒ์„ฑ์„ ์œ„ํ•œ ๋ชจ๋“  ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š์Œ
        • ์˜ˆ๋ฅผ๋“ค์–ด, ๋ณด์•ˆ์ด ๊ฑธ๋ ค์žˆ๋Š” ์‚ฌ๋‚ด ์ž๋ฃŒ๋Š” ์˜คํ”ˆ๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋‹ˆ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ด์ฃผ๋Š” ๊ฒƒ

    Augemented

    • AR/VR์— ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ๋‹จ์–ด
    • ๋งˆ์น˜ ์‚ฌ์‹ค์ธ ๊ฒƒ ์ฒ˜๋Ÿผ ๋ณด์ด๊ฒŒ ํ•จ
    • Retrieval๋œ ๋ฐ์ดํ„ฐ๋ฅผ LLM์—๊ฒŒ ์ฃผ๋ฉฐ, '๋งˆ์น˜ ์ด ์ •๋ณด๋ฅผ ์•„๋Š” ๊ฒƒ ์ฒ˜๋Ÿผ'

    Generation

    - RAG๋Š” ์ด๋ฏธ ์•Œ๊ณ  ์žˆ๋Š” ๊ฒƒ ์ฒ˜๋Ÿผ '๋‹ต๋ณ€์„ ์ƒ์„ฑํ•ด์คŒ'

     

     

    RAG

    • ๋‹ต๋ณ€ ์ƒ์„ฑ : LLM์˜ ์—ญํ• 
    • ๊ฐœ๋ฐœ์ž : ๋ฐ์ดํ„ฐ๋ฅผ ์ž˜ ๊ฐ€์ ธ์™€์•ผํ•จ
      • ์ž˜ ๊ฐ€์ ธ์˜ค๋Š” ๋ฒ• : ์ž˜ ์ €์žฅํ•˜ํ•˜๊ธฐ
      • ํ”„๋กฌํ”„ํŠธ ์ž˜ ํ™œ์šฉํ•ด์•ผํ•จ
        • ๋ฐ์ดํ„ฐ๋ฅผ ์ž˜ ๊ฐ€์ ธ์˜ค๋”๋ผ๋„ 
        • ๋ฌธ๋งฅ์„ ์–ด๋–ป๊ฒŒ ์ œ๊ณตํ•  ๊ฒƒ์ธ์ง€๊ฐ€ ์ค‘์š”
        • ๋ฐฉ๋Œ€ํ•œ ์–‘์„ ์–ด๋””์— ๋„ฃ์„ ๊ฒƒ์ธ์ง€ ์ค‘์š” → ์ž˜ ๊ฐ€์ ธ์˜ค๋”๋ผ๋„ ์ œ๋Œ€๋กœ ์ „๋‹ฌํ•˜์ง€ ๋ชปํ•˜๋ฉด LLM์ด ์˜ฌ๋ฐ”๋ฅธ ๋‹ต๋ณ€์„ ์ค’ ๋ชปํ•จ
          • ๋žญ์ฒด์ธ์ด ์ด๋Ÿฐ ๊ฒƒ์„ ์ž˜ ํ•ด๊ฒฐํ•ด์ฃผ์–ด ํ›จ์”ฌ ํšจ์œจ์ ์œผ๋กœ ๊ฐœ๋ฐœ ๊ฐ€๋Šฅ๐Ÿ‘‡๐Ÿป
         

    ๋žญ์ฒด์ธ์ด ragํ•  ๋• ์ด ํ”„๋กฌํฌํŠธ๊ฐ€ ์ œ์ผ ๊ดœ์ฐฎ๋‹ค๋Š” ์ œ์•ˆ์„ ํ•ด์คŒ

     

     

     

     


     

     

     

    Vector Database์™€ Embedding Model ์„ฑ๋Šฅ ๋น„๊ต

    Vector Database

    • ์‚ฌ์šฉ์ž๊ฐ€ ์›ํ•˜๋Š” ์ •๋ณด๋ฅผ ํ† ๋Œ€๋กœ ๋‹ต๋ณ€์„ ์ƒ์„ฑํ•ด์•ผํ•จ
      • ์‚ฌ์šฉ์ž์˜ ์งˆ๋ฌธ๊ณผ ๊ด€๋ จ์žˆ๋Š” ๋ฐ์ดํ„ฐ ํ•„์š”(์ฑ—๋ด‡ case)
        • ์—ฐ๊ด€์„ฑ์„ ํŒ๋‹จํ•˜๋Š” ๊ธฐ์ค€ : vector๋ฅผ ํ™œ์šฉ
          • ๋‹จ์–ด ๋˜๋Š” ๋ฌธ์žฅ์˜ ์œ ์‚ฌ๋„๋ฅผ ํŒŒ์•…ํ•ด์„œ ๊ด€๋ จ์„ฑ ์ธก์ •
    • Vector์ƒ์„ฑ ๋ฐฉ๋ฒ•
      • Open AI์˜ Embedding๋ชจ๋ธ์„ ํ™œ์šฉํ•˜์—ฌ ์ƒ์„ฑ
      • HOW to make Embedding model? → ๋ฌธ์žฅ์—์„œ ๋น„์Šทํ•œ ๋‹จ์–ด๊ฐ€ ์ž์ฃผ ๋ถ™์–ด์žˆ๋Š” ๊ฒƒ์„ ํ•™์Šต

    Embedding Projector ์ž„๋ฒ ๋”ฉ ๋ชจ๋ธ์„ ํ™œ์šฉํ•ด ๋‹จ์–ด๋“ค์ด Vecorํ™”๋œ ๋ชจ์Šต

    • Embedding๋ชจ๋ธ์„ ํ™œ์šฉํ•ด ์ƒ์„ฑ๋œ Vecor๋ฅผ ์ €์žฅ
      • ๋‹จ์ˆœํžˆ Vector๋งŒ ์ €์žฅํ•˜๋ฉด ์•ˆ๋˜๊ณ  metadata๋„ ๊ฐ™์ด ์ €์žฅ
      • ๋ฌธ์„œ์˜ ์ด๋ฆ„, ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ ๋“ฑ๋“ฑ์„ ๊ฐ™์ด ์ €์žฅํ•˜์—ฌ ํ• ๋ฃจ์”จ๋„ค์ด์…˜(ํ™˜๊ฐ)์„ ๋Œ€๋น„ํ•˜์—ฌ ์ถœ์ฒ˜๋ฅผ ๊ฐ™์ด ๋‹ต๋ณ€ํ•ด์คŒ์œผ๋กœ ์†”๋ฃจ์…˜ ๋‹ต๋ณ€์˜ ํ€„๋ฆฌํ‹ฐ๋ฅผ ์ƒ์Šน์‹œํ‚ด
    • Vector๋ฅผ ๋Œ€์ƒ์œผ๋กœ ์œ ์‚ฌ๋„ ๊ฒ€์ƒ‰ ์‹ค์‹œ
      • ์‚ฌ์šฉ์ž์˜ ์งˆ๋ฌธ๊ณผ ๊ฐ€์žฅ ๋น„์Šทํ•œ ๋ฌธ์„œ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ : Retrieval
        • ์ด๋ฒˆ ์ˆ˜์—…์—์„  ์†Œ๋“์„ธ๋ฒ• RAG์˜ knowledge base๋กœ ํ™œ์šฉ ์˜ˆ์ •
        • ๋ฌธ์„œ ์ „์ฒด๋ฅผ ํ™œ์šฉํ•˜๋ฉด ์†๋„ ์ €ํ•˜ ๋ฐ ํ† ํฐ ์ˆ˜ ์ถ”๊ณผ๋กœ ๋‹ต๋ณ€ ์ƒ์„ฑ ์•ˆ๋  ์ˆ˜ ์žˆ์Œ → ์ฒญํ‚น์ด ์ค‘์š”!
          • ๊ณต์‹ ๋ฌธ์„œ์—์„  42k ํ† ํฐ์—์„œ Splitํ•ด์„œ ์ €์žฅ(์ฒญํ‚น)
      • ๊ฐ€์ ธ์˜จ ๋ฌธ์„œ๋ฅผ prompt๋ฅผ ํ†ตํ•ด LLM์ œ๊ณต : Augumented
      • LLM์€ prompt๋ฅผ ํ™œ์šฉํ•ด์„œ ๋‹ต๋ณ€ ์ƒ์„ฑ : Generation
      • upstage ai : ๋ฌด๋ฃŒ๋กœ 30๋ถˆ ํฌ๋ž˜๋”ง ์ค˜์„œ ์ž„๋ฒ ๋”ฉ ํ…Œ์ŠคํŠธํ•ด๋ณด๊ธฐ ์ข‹์Œ

    1.APIํ‚ค๋ฅผ ๋ณต์‚ฌ

     

    2. ์ฝ”๋“œ์— api key api ์‚ฝ์ž…

     

    3. ์ž„๋ฒ ๋”ฉ ํƒญ → ํŒŒ์ด์ฌ ์ฝ”๋“œ ๊ทธ๋Œ€๋กœ ๋ณต์‚ฌ

     

     

    4. ๋ถ™์—ฌ๋„ฃ๊ธฐ

     

    5. APIํ‚ค๋ฅผ ๋„ฃ๊ณ , ๋ฐ‘์— ๋ถ€๋ถ„ ์‚ญ์ œ

    6. ํ™•์ธํ•˜๊ณ  ์‹ถ์€ ๋‹จ์–ด๋ฅผ input์— ์ž…๋ ฅํ•˜๊ณ  ์œ ์‚ฌ๋„ ๋น„๊ตํ•ด๋ณด๋ฉด ๋จ

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

Designed by Tistory.