joheechan / skAIfocus

Team Code Clear
0 stars 0 forks source link

RAG에 대한 이해 #1

Open joheechan opened 5 months ago

joheechan commented 5 months ago

LangChain 은 텍스트 기반 데이터를 분류하는 인터페이스 RAG는 LangChain으로 만든 데이터 분석 시스템? RAG는 사용자의 qurey를 분석해서 관련 데이터를 추출하는 기술 RAG로 추출한 데이터를 LLM에 보내서 챗봇처럼 답변을 생성할 수도 있고, 머신러닝을 해서 경향성분석이나, 데이터를 시각화하여 의사결정에 도움을 줄 수도?

nineheart6 commented 5 months ago

용어

AI에서 환각 현상: AI 모델에서 사실인 것처럼 보이지만 부정확하거나 입력과 관련이 없는 정보를 생성하는 경우 (정보를 임의로 생성, 최신화되지 않은 정보 답변, 출처 확인이 불가능한 정보 답변, 사용 용어의 일관성 부족)

외부 데이터: LLM의 원래 학습 데이터 세트 외부에 있는 데이터

임베딩 모델: ppt 임베딩 벡터 의미 검색 문자 데이터를 단어 사이의 관계에 따라 벡터 공간에 임베딩 사람이 글을 이해하는 것과 유사하게 의미 검색 관련성은 코사인 유사도 활용

코사인 유사도: 벡터 사이의 거리가 아닌 각도로 유사도를 파악하는 것?

임베딩: 실제 객체를 수치로 표현한 것 고차원 데이터를 저차원 공간에 표현하기 위해서 사용

프롬프트: 사람들이 LLM에서 대답을 찾는 데 사용하는 쿼리

프롬프트 엔지니어링: 적절한 지시어와 사전정보를 제공하는 작업을 통해, 인공지능이 최대치의 성능을 발휘하도록 유도하여 원하는 결과물을 얻어내는 기법

nineheart6 commented 5 months ago

RAG: AI의 환각 현상을 해결하기 위해서,투입 정보를 최신화하기 위해서 AI모델을 재교육하거나 업데이트시 비용이 크게 발생한다. 해결을 위해서 RAG를 사용

RAG는 시멘틱 검색을 활용한다.

RAG는 외부 데이터를 생성해 필요한 지식 정보를 따로 저장한다. 답변 생성 전에 외부 데이터에서 검색한 후 생성한다.

이 때 외부 데이터는

  1. 여러 데이터 형식으로 존재할 수 있다.
  2. 임베딩 모델이라고 하는 AI 기법을 통해서 AI에 적합한 형태의 벡터 데이터베이스로 생성할 수 있다.

외부 데이터에서 검색을 하면

  1. 질문의 사용자 쿼리를 벡터로 표현
  2. 외부 데이터 베이스의 벡터 데이터 베이스와 매칭되어 관련성을 계산한다.
  3. 관련된 데이터를 컨텍스트에 추가하여 사용자 입력이나 프롬프트를 보강

1

nineheart6 commented 5 months ago

검색한 url https://aws.amazon.com/ko/what-is/retrieval-augmented-generation/ https://aws.amazon.com/ko/what-is/langchain/ https://aws.amazon.com/ko/what-is/embeddings-in-machine-learning/ https://www.elastic.co/kr/what-is/retrieval-augmented-generation https://blog-ko.superb-ai.com/what-is-prompt-engineering/ https://ko.shaip.com/blog/ai-hallucinations/

nineheart6 commented 5 months ago

이해한 내용: 'a가 뭐야?' 라고 질문하면 외부 데이터 베이스에서 a와 관련성이 높은 데이터를 가져와서 ai에게 질문할 때 'a는 -입니다, a-1은 -입니다. a가 뭐야?' 라는 질문을 보내게 되는 느낌?

joheechan commented 5 months ago

https://puliseul.tistory.com/133?category=1113225

병원 챗봇 구현 예제인데 상세히 나와있네요 어렵긴 하지만..