Inflearn brand logo image

인프런 커뮤니티 질문&답변

SEO님의 프로필 이미지
SEO

작성한 질문수

LangGraph를 활용한 AI Agent 개발 (feat. MCP)

pdf 를 md를 바꾸는 과정 질문있습니다.

해결된 질문

작성

·

141

·

수정됨

0

안녕하세요~ 2.2강 초반부 전처리 관련해서 질문이 있습니다. 제가 window os라 그런가 어디서 잘못했는지는 모르겠지만.. 주피터에서 nest_asyncio.apply()를 해도 안되더라구요. 그래서 하루종일 쳇지피티 지지고 볶으면서 그냥 주피터 포기하고 .py로 돌리자 했는데 계속 poppler path가 없다는 에러가 뜨더니 실행이 안됐어요. 그래서 poppler 깔고, 해당 파일이 있는 주소를 아래와 같이 위치지정 해주니까 작동은 되더군요. 제가 했던 코드는 아래와 같습니다.

poppler_bin_path = r"C:\Users\Desktop\langgraph-agent\poppler-24.08.0\Library\bin"
os.environ["PATH"] += os.pathsep + poppler_bin_path

load_dotenv()
kwargs = {}
model = "gpt-4o-mini"
custom_system_prompt = None


async def main():
    file_path = "./documents/income_tax.pdf"
    select_pages = 53 
    output_dir = "./documents"
    result = await zerox(file_path=file_path, model=model, output_dir=output_dir,
                        custom_system_prompt=custom_system_prompt, select_pages=select_pages, **kwargs)
    return result

result = asyncio.run(main())

print(result)

젤 위에 두 줄 말곤 똑같이 했고 .md 파일 생기는것도 확인했어요. select_pages는 표가 있는 하나만 골라서 했습니다. 서론이 길었지만 여기까지가 제 상황이구요! 아래가 찐질문입니다 ㅎ..

.md 파일을 열어보니 문제가 세가지 정도 보였는데

  1. 첫번째는 인코딩 문제입니다. 저만 그런건지 utf-8로하면 깨져서 나오고 euc-kr로하면 원하는 한국어 파일이 나오더라구요. 저만 이런건가요 강사님도 변환 과정을 거치신 건가요?

  2. 두번째는 오타입니다. 님시제< 라는 단어가 반복되길래 뭐지 했는데 나중에 3번 오류를 찾아보면서 같이 찾아보니까 납세지 더라구요. '면세사업등 수입금액)보다 미달하게'를 '면세사업동안이지 더욱 미달하여'라고 표현한것도 보이고요.. 저 위에 있는 코드가 문제인가요 아님 이런 자잘한 오타들은 pdf를 변환하는 과정에서 어쩔 수 없는 것인가요? 강사님이 올려주신 md파일이랑도 번갈아가며 보는데 저기도 짜잘하게 보이긴 하거든요.. 이정도 오타는 넘어가도 괜찮은 건가요??

  3. 마지막으로 제 마크다운 파일에는 표가 보이지 않습니다. 강의 내용 중에도 zerox로 만들어진 .md 파일을 훑어보는데 거기도 표가 나오고, 애초에 zerox를 사용하는 이유가 표를 꺼내기 위해선데 표가 보이지 않아요. 강의 자료 .md를 보면 수식으로 나와있는데(표는 아니더라도) 저는 수식이 있어야 될 곳은 공란으로 나오고 바로 다음 내용으로 넘어갑니다. 아래와 같이요. 복붙하면서 보니까 여기에도 어색한 표현이 있네요ㄷㄷ.. 특히 아래껀 1만분의 2를 곱한 금액인데.. 1만분의 1금이면 타격이 좀 있지 않나요??

    <제가 변환한 거 -  틀린 부분이 1 이하 <-> 1보다 큰 경우라서 아예 반대로.. 서술하고 있네요 ㄷㄷ>
    1. 다음 계산세에 따라 계산한 약수(사업소득금액)의 종합소득금액에 차치하는 비율 1분 이하인 경우에는 1로, 0보다 큰 경우에는 0으로 한다.
    
    ② 해당 과세기간의 사업소득의 총수입금액에 1만분의 1금을 곱한 금액
    
    <강사님의 강의자료>
    1. 다음 계산식에 따라 계산한 금액(사업소득금액이 종합소득금액에서 차지하는 비율이 1보다 큰 경우에는 1, 0보다 작은 경우에는 0으로 한다)
    
       가산세 = A × (B/C) × 100 - C × 5
    
       A: 종합소득분이출세액  
       B: 사업소득금액  
       C: 종합소득금액
    2. 해당 과세기간 사업소득의 총수입금액에 1만분의 2를 곱한 금액  
    

적다보니 글이 길어졌네요 볼드체로 칠한게 글의 요지랍니다. 긴 글 읽어주셔서 감사합니다!

답변 2

1

강병진님의 프로필 이미지
강병진
지식공유자

안녕하세요! 오늘 링크드인에서 본 자료인데요, 구글의 DevRel을 담당하는 엔지니어가 Gemini의 성과를 자랑하는 글이라 신빙성이 100%는 아니지만, Gemini 2.0 Flash가 OCR을 대체하는 멀티모달 LLM중 가장 가성비가 좋다는 글입니다. GPT로 잘 되지 않는다면 Gemini를 활용해보시는 것도 방법일 것 같습니다

 

https://www.linkedin.com/posts/philipp-schmid-a6a2bb196_are-llms-ready-to-replace-ocr-solutions-activity-7299692516008775680-V6XQ

SEO님의 프로필 이미지
SEO
질문자

잊지 않고 댓글 달아주셔서 감사합니다!! 벤치마크를 보니까 확실히 경제적이긴한데 댓글에도 편향적일거라는 얘기가 있네요ㅋㅋ.. 하지만 시도해볼 가치는 있어보여서 강의 다 돌리고 재도전할떄는 Gemini 2.0 Flash 시도도 고려하겠습니다.

1

강병진님의 프로필 이미지
강병진
지식공유자

안녕하세요! 좋은 질문 감사합니다.

우선 poppler 관련 에러는 윈도우에서만 발생하는 에러로 추측되는데, 먼저 강의를 들으신 분이 공유해주신 내용을 제가 "자주 묻는 질문"에다만 넣어놨네요. 질문을 올려주신 덕분에 강의자료에도 추가했습니다 감사합니다. 답변을 드려보자면

 

  1. 강의에서 보신것처럼 저는 별도의 인코딩 과정을 거치지는 않았습니다. 그냥 원본파일 다운받아서 바로 zerox로 돌렸어요. 하지만 말씀해주신 것처럼 인코딩 이슈로 에러를 겪으셨다면 왠지 다른 분들도 에러를 겪으셨을 것 같다는 생각이 듭니다.

  2. 오타는 모델이 텍스트 자체를 인식하는게 아니라 이미지로 변환한다음에 텍스트를 인식하기 때문에 발생하는 에러인 것 같습니다. "님시제" 라는 단어가 찾아주신 출처와 아예 관계가 없어서 만약 오타의 이슈가 있다고 하면 zerox를 활용하는 것 보다 업스테이지에서 제공하는 Document Parser 활용을 추천합니다. 광고 절대 아니고, 저도 회사에서 쓰고있는데 우리말 인식 성능은 글로벌 탑클래스입니다

  3. 혹시 모델을 어떤걸 사용하셨나요? 말씀하신 것처럼 수식같은 경우에는 확실히 잘못인식된경우 문제가 있어서 검수하시고 인식이 수월하게 되는 모델을 사용하시는 편이 좋을 것 같습니다

추가로 댓글 달아주시면 답변 드리겠습니다!

SEO님의 프로필 이미지
SEO
질문자

아 자주묻는 질문에 있었군요. 한번 보러 가도록 하겠습니다. 모델은 위에 코드에 있는대로 gpt-4o-mini를 사용했어요. 근데 강의에서도 gpt-4o-mini를 사용하지 않았던가요? (앞에 poppler path 지정을 제외하면) 같은 모델에 같은 코드에 같은 input을 넣었는데 결과가 이렇게 달라질 수가 있나요?!!

+나중에 재도전할때는 말씀해주신 글로발 탑클라스 upstage로 한번 도전해보도록 하겠습니다. 늦은 시간인데 답변 감사합니다!!

강병진님의 프로필 이미지
강병진
지식공유자

이건 뇌피셜이라 공식적(?)으로 말씀드릴 수는 없지만, 저는 OpenAI에서 뭔가 A/B테스트를 하는게 아닌가 의심하고 있습니다ㅎㅎ. temperature를 0으로 두고 프롬프트를 바꿔도 답변이 한번씩 다르게 나오는 경우가 있어서요. 뇌피셜 + 추측이지만 제가 강의를 촬영할 때와 SEO님께서 zerox를 돌리셨을 때 모델이 살짝 다르게 반응한게 아닌가 생각합니다.

좋은 질문 감사합니다! 남은 강의도 들으시다가 설명이 부족한 부분이 있으시면 질문으로 올려주세요!

SEO님의 프로필 이미지
SEO

작성한 질문수

질문하기