실무 LLM/RAG(검색증강생성)에 파워포인트, PDF를 이해시키는 방법

최근 모기업에서 요청이 들어와 진행중인 프로젝트를 통해 나온 이슈를 정리해 본다.

    [jd
  • [jd

    생성형 AI에 의한 회의록 요약 기능을 내장한 AI 의사록 도구 개발

  • [jd

    생성형 AI에 의한 회의록 요약 기능을 내장한 AI 의사록 도구 개발

    생성형 AI에 의한 회의록 요약 기능을 내장한 AI 의사록 도구 개발

    생성형 AI를 활용하는 유즈케이스로서 생성형 AI에 사내문서를 검색하고 응답하는 LLM(대규모언어모델), RAG(검색증강생성)를 활용한 엔터프라이즈 검색 시스템 개발 프로젝트를 참여하고 있다. 또한 이 분야가 최근 인기가 있어 많은 기업들이 개발에 힘쓰고 있기도 한 것으로 생각된다.

    [참고]

      [jd
    • [jd

      LLM = Large Language Model, 대규모언어모델

    • [jd

      LLM = Large Language Model, 대규모언어모델

      LLM = Large Language Model, 대규모언어모델

    • [jd

      RAG = Retrieval Augmented Generation, 검색증강생성

      RAG = Retrieval Augmented Generation, 검색증강생성

      GPT를 비롯한 생성형 AI의 LLM은 자신들이 학습한 시점까지의 정보(지식 컷오프)에 근거해서 응답할 수밖에 없지만, 기업에서 LLM을 활용하다보면, 사내 정보도 학습해 응답하고 싶다는 생각을 하게 되는 것은 당연하다. 사내 문서를 "검색"하고 자신의 지식을 기업내 정보까지 "확장"하고 응답을 "생성"하고 싶은 것을 실현하는 구조가 RAG(검색증강생성)라고 보면 된다.

        [jd
      • [jd

        참고 URL:

      • [jd

        참고 URL:

        참고 URL:

        Overview Are you curious about how AI chatbots work? First of all, generative AI starts with foundational models trained on vast quantities of unlabeled data. These Large language models (LLMs) are trained on an extensive range of textual data online, and in some cases are trained with a specific in...

        docs.nvidia.com

        그러나, 발주사 내부 개발팀은 RAG관련하여 아래와 같은 사유로 LLM/RAG를 사용한 시스템 구축시 아래와 같은 이슈를 제기하였다.

          [jd
        • [jd

          알맞은 문서를 긁어오지 않는다.

        • [jd

          알맞은 문서를 긁어오지 않는다.

          알맞은 문서를 긁어오지 않는다.

        • [jd

          파워포인트(PowerPoint), 엑셀(Excel), PDF등의 구조를 가진 문서가 있으면 제대로 의미를 이해하지 못한다.

          파워포인트(PowerPoint), 엑셀(Excel), PDF등의 구조를 가진 문서가 있으면 제대로 의미를 이해하지 못한다.

        • [jd

          이미지가 있는 문서도 같이 보고 싶다.

          이미지가 있는 문서도 같이 보고 싶다.

          라는 고객사의 이슈가 다른 회사에서도 동일한 지적사항 및 이를 해결하기 위한 방법을 요구하기도 하였다.

          LLM/RAG를 사용한 시스템은 생각했듯이 실무로서의 이용에 연결되어 있지 않고, "실무 후보로서 사용할 수 없다"라는 엄격한 평가를 받는 경우도 적지 않게 있는 것 같다.

          논문에 제시된 벤치마크 점수에서도 생성형 AI간의 경쟁이 치열해 지고, 베스트 스코어는 계속 업데이트되고 생성형 AI의 발전이 보이는 시점이지만, 실무에서의 유즈케이스에서 도움이 되는가라는 기준에서는 진행이 느린 편이다.

          이 글은 필자가 거래처들의 요구사항을 받아 약 한달간 과제 및 이를 어떻게 해결했는지를 소개한다. 기술적으로 발전된 것보다는 정밀도 및 속도, 비용, 보안 등 실무에서 요구되는 벽들을 어떻게 제거하며 넘어섰는지를 소개한다.

          생성형 Ai나 OpenAI Embeddings를 사용한 문서의 벡터검색에 한하지 않고, 그것을 해결해서 고객사의 목표를 달성해 나가는 것을 소개한다.

          [실무환경의 고민] PowePoint나 PDF, Excel 표를 무시하고 읽어버린다!

          예를 들어, 파워포인트 슬라이드에 표가 포함된 경우, 생성형 AI에 응답을 받고 싶은 경우가 자주 있다고 생각된다. (계약상 파워포인트 자료는 공개할 수 없다.)

          RAG(검색증강생성) 구축에 자주 사용되는 라이브러리인 LangChain을 활용하여 표가 들어간 PowerPoint파일을 읽어 들이면 읽은 텍스트가 아래와 같다.

          따라서 원래 표의 구조가 무너지고 읽어진다.

          이 문서의 경우,

          라고 물어보면,

          라고 응답되어 평가방법에 해당하지 않는 내용도 포함된다는 것이다.

          원래 표의 구조가 무너져 버렸기 때문에 평가방법에 해당되는 내용이 어디에서 어디까지인지 생성형AI는 판단이 되지 않게 되어 버린다.

          [해결방법] AzureAI 문서 인텔리전스 사용하기

          이런 문제는 매우 흔한 경우라고 하지만, 해결책 중 하나는 OCR을 포함한 문서 분석 기술을 활용하는 것이다. 그런 대책 중 하나인 Azure AI 문서 인텔리전스(Azure Document Intelligence)를 활용하는 것을 소개한다.

          관련 URL:

          Microsoft Azure AI 문서 인텔리전스는 AI 및 OCR을 사용하여 문서에서 텍스트와 구조를 빠르게 추출하는 자동화된 데이터 처리 시스템입니다.

          azure.microsoft.com

          OCR로 텍스트처리 관련 테스트한 글을 올린 적이 있는데 아래 링크를 참고하길 바란다.

          관련 URL:

          이 글은 필자가 외주의뢰를 받아 문제집을 스캔해서 OCR 및 LLM을 사용하여 텍스트화하는 방법을 연...

          blog.korea-iphone.com

          Azure AI 문서 인텔리전스를 이용하여 PDF를 문서화한다. 문서 해석을 통해 표를 텍스트 배열이 아닌 표로 인식할 수 있는 부분이 가장 큰 발전이다. 각 텍스트가 어느 행명인지 열명인지를 대응하고 보관유지할 수 있다.

          이와 같이 인식한 결과를 생성형 AI가 이해할 수 있도록 markdown형식으로 출력시킨다.

          앞에서 테스트한 결과 다르게 올바르게 평가하는 방법에 해당하는 내용만 픽업하고 있다. 참고로 Azure AI 문서 인텔리전스가 대상인 표 구조 해삭 작업은 옛날부터 있었던 기술이지만 지금도 이슈는 그대로이다. 예를 들면 테두리가 그려져 있지 않은 표 구조 인식은 셀의 경계에 대해 정확한 식별이 의외로 어렵다.

          물론 유용한 기술이지만 실무 도입시 비용 대비 효과도 생각해야 한다. Azure AI 문서 인텔리전스 비용은 1000페이지당 $10(약 13,754원)이 발생한다. 무료는 500페이지까지 가능하다.

            [jd
          • [jd

            관련 URL:

          • [jd

            관련 URL:

            관련 URL:

            Azure AI 서비스의 텍스트 및 데이터 추출 API인 문서 인텔리전스의 가격 세부 정보입니다. 요구 사항에 가장 적합한 플랜을 결제하세요.

            azure.microsoft.com

            물론 문서에 대해 한번 해석을 걸면 충분하기 때문에 많은 경우 충분히 ROI를 취할 수 있는 기술이라고 본다.

            | 정리

            Azure Ai 문서 인텔리전스를 활용하여 텍스트를 읽어 들일 때 표등의 구조정보를 유지한 상태로 생성형 AI로 읽을 수 있게 되어 결과 응답 성능을 향상시킬 수 있다. 어떻게 보면 단순한 해결방법이지만 엔터프라이즈 검색으로 읽고 싶은 문서의 대부분을 일반 텍스트와 표로 이루어져 실무에서 사용할 수 있다는 의미에서 큰 과제를 해결한 것이다.

            한편, 파워포인트등은 레이아웃의 제한이 없기 때문에 표에 한정하지 않은 자유로운 형식으로 문서가 작성된다. 이런 경우, OCR만으로 대처할 수 없는 케이스도 존재한다. (이 부분에 대해서는 나중에 기회가 되면 해결방안 글을 올려보겠다.)