본문 바로가기

전체 글155

smart chunking 나이브청킹 vs 스마트청킹 https://ambikasukla.substack.com/p/efficient-rag-with-document-layout 스마트청킹은 23년 12월4일에 공유드렸던 내용입니다. 해당내용 기반으로 kbpro버전2가 진행되고 있습니다. 청킹될 원문의 결(=content type) content type에 따라 색인 전처리 과정 원문 요약시 프롬프트에 원문 특성을 살려서 요약으로 개선 가능 검색 전처리 과정 후보군을 넘길때 비즈니스 로직으로 개선 답변 전처리 과정 content type을 포함하여 답변프롬프트를 만들었을때 전후로 비교 layout오픈소스 특징 llama_index을 사용하여, 청킹된 데이터에 문서 구조,표등 마크다운 형태를 유지(논문이나 보고서형태의경우 유용하게 .. 2024. 3. 23.
Corrective RAG https://huggingface.co/google-t5/t5-large 검색 평가자를 활용하여 검색된 문서의 품질을 평가하는 방법론이다. CRAG는 검색 결과를 개선하기 위해, 핵심정보에 초점을 맞추기 위한 알고리즘을 사용한다. 방법론 입력쿼리와 검색된 문서가 주어지면, 검색된 문서의 관련성 점수를 추정한다. 척도 정확, 부정확, 애매 정확 더 정밀한 데이터로 정제한다.(long context reorder처럼 해도될듯) 부정확 검색된 문서는 버리고, 2차 검색을 한다. T5-large모델 https://huggingface.co/google-t5/t5-large 응용한다면 현재 후보군에서 답변을 할수 없다면 정보없음으로 응답하도록 되어있는데, 이런 경우 부정확/애매 라고 판단하고 2차 검색을 시도하.. 2024. 3. 23.
효과적으로 문장을 분리하는 방법론 Document Loader(pdf) 선택지 고려사항 텍스트를 원형 그대로 잘 가져오는가 한글 인코딩 특수문자 메타데이터의 종류를 잘 추출하는가 page_content 페이지번호 표, 차트, 문서의 좌표, 속성(타이틀, 테이블, 이미지, 텍스트) 표나 아미지의 캡션 마크다운형식 문서를 읽는 속도가 얼마나 빠른다 문서의 양이 크다면, 문서 업로드(색인시) 문서를 읽는 속도가 중요 pdfLoader fitz 모든 텍스트를 읽어서 하나의 문자열을 합칠때 유용 페이지 읽는 속도가 가장 빠름 실시간으로 요약본을 받아봐야 할때 = 예를 들면 kbpro웰컴메시지 작성시 유리할듯 페이지 번호 제공 그러나 번호 이외 메타데이터 미지원 이미지만 추출가능 커머스관련 자료에 상품 이미지 그래프나 차트를 이미지로 삽입된 경우 .. 2024. 3. 23.
문서요약 프롬프트 Chain of Density 요약에 포함할 정보의 적절한 양을 선택하는것은 어려운 작업이다. 좋은 요약은 정보의 밀도가 높아야 하고 자세하고 Entity중심이어야 한다. 이런 상충 관계를 잘 이해하기 위해 Chain of Density 프롬프트를 사용하여 점점 더 밀도가 높은 요약을 요청하는데 목적이 있다. 정보손실이 발생하는 단점이 있어 관련된 논문을 리뷰하는데 목적이 있다. 좋은 요약 : 정보 손실을 최대한으로 줄이고, 주요 엔티티티가 잘 압축되는것. 방법론은 아래와 같고, 논문에 있는 프롬프트를 참고하여 그대로 수행해보면 된다. 누락된 엔티티를 계속 추가하여 문장의 길이는 유지하되 손실되는데이터 없이 요약문을 뽑아내는걸 확인 할수있다. 방법론 초기 요약이 생성되고, 점점 엔티티 밀도를 높이는 과정을 반복하는것이다. 첫번째는 1.. 2024. 3. 23.