1 of 62

RAG로 더 똑똑한 Gemini 사용해보기

Songdo

2 of 62

박광석

모두의연구소

AI | EDU

Interest : GenAI

3 of 62

Index

  1. INTRO
  2. RAG
  3. LangChain
  4. GEMINI
  5. Hand-on Practice

4 of 62

INTRO

Songdo

5 of 62

커져가는 모델 사이즈

LLM 시장

https://www.grandviewresearch.com/industry-analysis/chatbot-market

6 of 62

시장의 요구�On-Device / 기업 챗봇

LLM 시장

https://www.grandviewresearch.com/industry-analysis/chatbot-market

RabbitV1 , LG Ai agent @ CES2024

7 of 62

시장의 요구�질좋고 빠른 응답 / 경제성 / 보안

LLM 시장

https://towardsdatascience.com/4-crucial-factors-for-evaluating-large-language-models-in-industry-applications-f0ec8f6d4e9e

8 of 62

시장의 요구�질좋고 빠른 응답 / 경제성 / 보안

LLM 시장

https://towardsdatascience.com/4-crucial-factors-for-evaluating-large-language-models-in-industry-applications-f0ec8f6d4e9e

-> 맞춤형

9 of 62

맞춤형 LLM 만들기

�Fine tuning

https://magazine.sebastianraschka.com/p/finetuning-llms-with-adapters

10 of 62

Fine tuning의 어려움

DeeplearningAi : GenAI with LLMs

  • 많은 훈련 비용이 소요
  • 데이터 업데이트가 자주 필요할 때 비효율적
  • 정보의 출처를 알 수 없음
  • 사용자에게 개인화된 응답을 제공할 수 없음
  • 할루시네이션 발생

11 of 62

Retrieval-�Augmented�Generation

Songdo

12 of 62

검색 증강 생성

내가 제공하는 범위 안에서 답변 만들어줘!

13 of 62

Retrieval Augmented Generation

https://neo4j.com/blog/what-is-rag/

LLM이 사용자의 응답을 생성하기 전, 학습 데이터 소스

'외부'의 신뢰할 수 있는 데이터베이스를 참조하도록 하는 기법

14 of 62

Retrieval Augmented Generation

CHATPDF

문서를 입력하고

15 of 62

Retrieval Augmented Generation

질의를 했을 때, 답변 생성 + 출처 표시

CHATPDF

16 of 62

Retrieval Augmented Generation

https://gradientflow.com/techniques-challenges-and-future-of-augmented-language-models/

17 of 62

RAG의 장점

  • 별도의 훈련 비용 필요하지 않음
  • 필요시 참고 데이터 교체 용이
  • 정보의 출처를 정확히 알 수 있음
  • 사용자에게 개인화된 응답을 제공할 수 있음

18 of 62

RAG의 장점

  • 별도의 훈련 비용 필요하지 않음
  • 필요시 참고 데이터 교체 용이
  • 정보의 출처를 정확히 알 수 있음
  • 사용자에게 개인화된 응답을 제공할 수 있음
  • 구현이 쉬움

19 of 62

RAG 활용분야

  • Open domain QA
    • 문장으로 이루어진 질의
    • 1~5개 단어로 이루어진 답안
  • Fact verification
    • Language claim이 합당한지, 정보 ???? 판단
    • Claim과 evidence가 주어지고, Evidence가 support하는지 판단
  • Abstractive Opendomain QA
    • 문장으로 이루진 질의
    • 하나의 완전한 문장으로 이루어진 답변
  • Question Generation
    • Answer가 주어지고 그에 해당하는 질문을 생성
    • ex ) A: the world cup Q : 1986년 멕시코에서 처음 시작

20 of 62

RAG 활용분야

  • 기업 챗봇
  • 연구 개발
  • 컨텐츠 제작
  • 인터렉티브 스토리텔링 및 게이밍
  • XAI

21 of 62

Langchain

Songdo

22 of 62

LangChain

  • LLM 활용 어플리케이션 간소화 프레임워크
  • Python ,JavaScript 지원

23 of 62

LangChain

  • 다양한 NLP 연구 기능을 API로 제공
  • 플러그 앤 플레이 아키텍쳐
  • 확장성과 커스터마이징 용이
  • 대화형 AI 개발에 용이

24 of 62

LangChain

  • 다양한 NLP 연구 기능을 API로 제공
  • 플러그 앤 플레이 아키텍쳐
  • 확장성과 커스터마이징 용이
  • 대화형 AI 개발에 용이
  • 비용 절감 / 개발시간 단축
  • 성능 향상

25 of 62

Langchain 구성요소

  • LLMs (Models)
    • 쿼리를 파악한 후, 에이전트에게 응답 및 지시하는 ‘두뇌’
  • Memory
    • 채팅 이력을 기억하도록 하며, 이를 기반으로 대화가 가능하도록 하는 모듈
  • Indexes
    • LLM이 문서를 쉽게 탐색할 수 있도록 구조화하는 모듈

26 of 62

Langchain 구성요소

  • Prompts
    • 초거대 언어모델에게 지시하는 명령문. 출력 형식을 예시로 제공
  • Chains
    • 연속적인 LLM 호출이 가능하도록 하는 핵심 구성요소
  • Agent
    • LLM이 기존 Prompt Tempete 로 수행할 수 없는 작업을 가능하게 하는 모듈 (웹 검색 수행, SQL DB 쿼리 작성후 정보 검색 등)

27 of 62

LangChain

  • LLMs (Models)�쿼리를 파악한 후, 에이전트에게 응답 및 지시하는 ‘두뇌’
  • Memory�채팅 이력을 기억하도록 하며, 이를 기반으로 대화가 가능하도록 하는 모듈
  • Indexes�LLM이 문서를 쉽게 탐색할 수 있도록 구조화하는 모듈

28 of 62

LangChain 구성요소

  • Prompts�초거대 언어모델에게 지시하는 명령문. 출력 형식을 예시로 제공
  • Chains�연속적인 LLM 호출이 가능하도록 하는 핵심 구성요소
  • Agent�LLM이 기존 Prompt Tempete 로 수행할 수 없는 작업을 가능하게 하는 모듈 (웹 검색 수행, SQL DB 쿼리 작성후 정보 검색 등)
  • Schema�입출력형태(텍스트)

29 of 62

LangChain 구성요소

  • Prompts�초거대 언어모델에게 지시하는 명령문. 출력 형식을 예시로 제공
  • Chains�연속적인 LLM 호출이 가능하도록 하는 핵심 구성요소
  • Agent�LLM이 기존 Prompt Tempete 로 수행할 수 없는 작업을 가능하게 하는 모듈 (웹 검색 수행, SQL DB 쿼리 작성후 정보 검색 등)
  • Tools�에이전트가 활용할 수 있는 기능적 컴포넌트, 웹 검색, DB 조회, 계산 등의 기능 수행

30 of 62

LangChain + RAG

YouTube <모두의AI>

31 of 62

Songdo

32 of 62

왜 Gemini인가

구글 API와 연동, 다양한 형태의 답변 제공

33 of 62

왜 Gemini인가

Gemini Ultra > GPT-4 | Gemini Pro > GPT-3.5

https://nerdynav.com/google-gemini/

34 of 62

왜 Gemini인가

  • Multi Modality!
  • 빠른 생성속도!
  • 우수한 정확도!
  • 훌륭한 개발 생태계!

35 of 62

Hands-on�Practice

Editable Location

36 of 62

Hands-on 세션

랭체인 컴포넌트 확인하기

  1. LLM
  2. SCHEMA
  3. PROMPT TEMPLATE
  4. PARSER
  5. CHAIN

37 of 62

Hands-on 세션

https://pub.aimind.so/interrogate-your-technical-documentation-using-free-and-paid-llms-f2a7664ff2bd

LangChain + Gemini 로 RAG 실습하기

38 of 62

Hands-on 세션

LangChain + Gemini 로 RAG 실습하기

> LangChain tutorial

> PDF, CSV, txt 등 다양한 파일로 RAG component 구성 배우기

> RAG 구축하기

39 of 62

Hands-on 세션

세션 준비

> API KEY 발급 받기

> 코드 확인 ��https://github.com/andkspark�/buildwithAI2024

40 of 62

Hands-on 세션

API KEY 발급 받기

  1. https://ai.google.dev/ 접속 후 왼쪽 파란 버튼
  2. 좌측 최상단 �Get API key
  3. 팝업 확인

41 of 62

Hands-on 세션

랭체인 컴포넌트 확인하기

  • LLM
  • SCHEMA
  • PROMPT TEMPLATE
  • PARSER
  • CHAIN

42 of 62

Hands-on 세션

https://j3ffyang.medium.com/document-summarization-with-retriever-in-langchain-e016d3ffe108

RAG 컴포넌트 살펴보기

  1. Document Loader
  2. Text splitter
  3. Text embedding
  4. VectorStore
  5. Retriever

43 of 62

Langchain Tutorial : 랭체인 써보기

44 of 62

Langchain Tutorial : 랭체인 써보기

45 of 62

Langchain Tutorial : 랭체인 써보기

46 of 62

Langchain Tutorial : 랭체인 써보기

47 of 62

Langchain Tutorial : 랭체인 써보기

48 of 62

Retrieval Augmented Generation (RAG) 구현 예제

RAG 구조! 잠깐 떠올려봅시다

49 of 62

Retrieval Augmented Generation (RAG) 구현 예제

50 of 62

Hands-on 세션

https://j3ffyang.medium.com/document-summarization-with-retriever-in-langchain-e016d3ffe108

RAG 컴포넌트 살펴보기

  • Document Loader
  • Text splitter
  • Text embedding
  • VectorStore
  • Retriever

51 of 62

Retrieval Augmented Generation (RAG) 구현 예제

다시 한번,

코드는 편하게 1~2줄의 함수 호출로

시스템을 구성할 수 있게 구성됨을 기억해주세요!

52 of 62

Retrieval Augmented Generation (RAG) 구현 예제

53 of 62

Retrieval Augmented Generation (RAG) 구현 예제

54 of 62

Retrieval Augmented Generation (RAG) 구현 예제

55 of 62

Retrieval Augmented Generation (RAG) 구현 예제

56 of 62

Retrieval Augmented Generation (RAG) 구현 예제

57 of 62

STUFF

REFINE

MAP-REDUCE

MAP-RERANK

58 of 62

Retrieval Augmented Generation (RAG)

문서 구축 시

A > B > C > D

검색 시

1 > 2 > 3 > 4 > 5

모든 부분에서 문제점 발생 / 개선 가능

59 of 62

Retrieval Augmented Generation (RAG)

문서 구축 시

A > B > C > D

검색 시

1 > 2 > 3 > 4 > 5

모든 부분에서 문제점 발생 / 개선 가능

60 of 62

61 of 62

사합니다

62 of 62

Hands-on 세션

RAG 구축하기 !

정답코드는 세션 이후에 공개됩니다 :D