라이브러리 깃허브
https://github.com/microsoft/markitdown
GitHub - microsoft/markitdown: Python tool for converting files and office documents to Markdown.
Python tool for converting files and office documents to Markdown. - microsoft/markitdown
github.com
LLM에게 파일을 읽게 하고자 할때, 기존에는 파일 형식에 따른 제약 사항이 매우 많았다. pandas나 기타 많은 라이브러리를 사용하더라도, 이들은 지정된 파일 형식에만 대응이 가능해 개발자가 고민해야되는 부분이 많았다
이때 활용 가능한 라이브러리가 markitdown이다. 전처리 작업 수행 시 파일 형식에 구애받지 않고 모든 지원가능한 파일(PPT, XLSX, 음성 파일도 지원한다고 한다)을 mark down 형식으로 변환시켜 LLM이 해당 데이터에 대한 처리를 수월하게 할 수 있도록 만들어준다
기본적으로 사용하기 위해서는, 파이썬 3.10+ 이상 버전부터 가능하다
사용을 위해 pip install부터 수행한다
pip install markitdown
이 기본 형태로, 이렇게만 설치해도 xlsx를 지원한다
*PDF 등, 기본 지원이 아닌 파일의 경우
pip install markitdown[pdf]
등의 구체적인 지정을 통한 추가 설치가 필요하다
이를 해결하는 방법은
pip install markitdown[all]
로 설치하면 markitdown의 모든 지원 파일을 한번에 사용가능하다(라이브러리의 용량 차이는 발생하게 된다)
이렇게 설치하고 나면,
md_converter = MarkItDown()
def methodA(file: UploadFile) ->
file_content = await file.read()
file_stream = io.BytesIO(file_content)
respsonse = md_converter.convert_stream(file_stream, file_extension=file_extension)
markdown_text = conversion_res.text_content
이 코드를 통해 markdown으로 변환된 파일을 볼 수 있다.
이후 LLM 호출부터는 자유롭게 진행하면 된다.
꼭 LLM 호출목적이 아니더라도 다양한 전처리에 활용가능할 듯 하다
'개발공부 > 파이썬🍌' 카테고리의 다른 글
| 파이썬을 이용한 데이터 사이언스 구현 : Yahoo Finance를 활용한 주식정보, 주가 크롤링 (1) | 2024.11.08 |
|---|---|
| 깔끔한 파이썬 - 탄탄한 백엔드 (1) (0) | 2023.06.03 |
| 처음 겪은 기도메타 (0) | 2022.10.14 |
| 노마드 코더 파이썬 job scrapper: 언어를 react로 했더니 오류 (0) | 2022.10.13 |
| 노마드 코더 파이썬 기초강의: 파이썬으로 웹 스크래퍼 만들기 (0) | 2022.10.12 |