Rag 6

[AI] 문서 변환, 구조화에 유용한 Docling 살펴보기

RAG 시스템을 구축하는 경우에 전체 문서를 LLM에 넣을 수는 없으니 일반적으로 원문을 전처리하여 chunking 하여 관련 문서(조각)를 검색해오게 된다. 하지만 많은 경우에 원문이 PDF 문서나 구조화 된 형태(이미지, 테이블 등)이고, 이를 단순 텍스트 추출하여 처리하거나 구조를 무시하게 된다면 답변 시 잘못된 정보를 제공하는 경우가 빈번하게 발생한다. 예를 들어, 테이블을 텍스트 그대로 추출하였을 때 헤더와 값들이 제대로 매핑되지 못하고 밀리게 된다면 관련 문서를 잘 가져왔다 하더라도 잘못된 답변을 제공하게 된다.PDF 파서나 OCR 같은 유용한 도구들을 활용하여 이를 보완할 수 있지만, PDF는 우리가 생각하는 것 보다 훨씬 복잡한 형태가 많고 이를 완벽하게 추출해내는 것은 아직도 매우 어렵다..

AI 2024.12.10

[AI] RAGAS 공식 문서(docs) 파악하기

이전 포스트에서 RAGAS 논문에 대해 분석하였는데, 논문 이후에 수정된 내용은 주로 공식 문서에서 확인할 수 있기 때문에 추가적으로 어떤 것이 변경되었나 확인해보려고 한다. 문서에는 Evaluation, Metrics 이외에도 Test Data Generation, Knowledge Graph Building, Scenario Generation 등의 과정이 자세히 설명되어 있었으나, 주로 Metrics 부분에 대해 파악해보고 논문과 어떻게 달라졌는지 비교할 예정이다.공식 문서(docs): https://docs.ragas.io/en/stable/github: https://github.com/explodinggradients/ragasPaper-Review: RAGAS: Automated Evalua..

AI 2024.11.10

[Paper Review] RAGAS: Automated Evaluation of Retrieval Augmented Generation

RAG 자동 평가 중 잘 알려진 RAGAS 에 대하여 논문과 공식문서를 읽고 정리한 바를 기록해두려고 한다. 우선 첫 번째로 23년 9월에 아카이브에 올라온 RAGAS 논문에 대해 파악한 후, 최근까지 업데이트 되고 있는 공식문서 및 코드 기반으로 한번 더 파악해 볼 예정이다. 이 포스팅은 23년 논문에 대한 내용을 정리하는 것을 목적으로 하며, 이후 업데이트 된 최근 공식문서에서의 내용과 일부 다를 수 있다.논문 링크: https://arxiv.org/abs/2309.15217공식 문서(docs) 정리: RAGAS 공식 문서(docs) 파악하기 [AI] RAGAS 공식 문서(docs) 파악하기이전 포스트에서 RAGAS 논문에 대해 분석하였는데, 논문 이후에 수정된 내용은 주로 공식 문서에서 확인할 수 ..

Paper Review 2024.11.02

[Paper Review] StructRAG: Boosting Knowledge Intensive Reasoning of LLMs via Inference-time Hybrid Information Structurization

정보의 최신성을 반영하기 어려운 LLM 의 문제점을 해결하기 위한 방안으로 RAG 시스템이 많은 주목을 받고 있다. 그러나 기본적인 형태의 RAG 시스템은 Knowledge Intensive Reasoning Tasks 에서 한계를 보이는데, 필요한 정보가 분산되어 있거나 chunk 로 나누는 과정에서 생기는 문제(노이즈) 등의 이유로 복잡한 추론 작업에서는 성능이 떨어진다. 그래서 현재는 Naive RAG 형태에서 Advanced RAG, Modular RAG 를 거쳐 최근에는 Graph 기반의 RAG 까지 다양한 방법론이 등장하고 있다. 얼마 전에 공개된 이 논문에서 제안하는 StructRAG 방식은 이전 RAG 시스템과 다르게 추론 과정에서 추가적인 Hybrid Structure Router 를 두..

Paper Review 2024.10.31

[AI] Anthropic의 Contextual Retrieval

Langchain, LlamaIndex 와 같이 잘 만들어진 LLM applications 프레임워크 덕분에 주어진 데이터에 대하여 RAG(Retrieval Augmented Generation) 시스템을 구축하는 것은 굉장히 쉬워졌다. 그러나 쉬워진 구축 난이도에 비해 RAG 성능을 상용화 가능한 수준까지 끌어올리는 것은 아직도 갈 길이 멀다. 가지고 있는 데이터의 특성에 따라 적합한 RAG 기법 및 파라미터도 달라지고, 도메인의 특성에 따라 쿼리로부터 SQL을 얼마나 잘 다루는지, 테이블로 주로 구성된 데이터를 어떻게 전처리 할 것인지 등 고려해야 할 요소가 많다. 케이스별로 달라지는 경우가 많고, 여러 시행착오가 필요한 기술이기 때문에 다른 기업들의 시행착오 및 실험 시 유용했던 방법론들을 참고하는..

AI 2024.10.05

[AI] BM25 분석하기

본 글에서는 LLM 등장 이후 RAG 시스템에서의 BM25 관점에서 기술하였습니다.1. Search의 종류1.1. BM25 란 무엇인가?BM25는 NLP 분야 중 정보 검색(IR, Information Retrieval) 분야에서 문서와 쿼리 간 관련성을 계산하는 랭킹 알고리즘이다. 검색 엔진에서 자주 사용되며, 유명한 TF-IDF(Term Frequency-Inverse Document Frequency)를 확장한 형태이다. TF-IDF와 마찬가지로 BM25 또한 term 기반의 검색 방식이라고 볼 수 있고, 단어의 빈도와 중요도를 고려하여 문서와 쿼리의 유사도를 계산하는 방식이다.1.2. Vector SearchVector Search(Dense Retrieval, Semantic Search) 는 ..

AI 2024.10.02