이 가이드에서는 Gemini Flash 또는 GPT-4o와 같은 VLM(비전 언어 모델)을 사용하여 PDF에서 구조화된 데이터를 추출하는 방법을 보여 드리겠습니다.
Google의 최신 비전 언어 모델 시리즈인 Gemini는 텍스트 및 이미지 이해 분야에서 최고의 성능을 보여주었습니다. 이렇게 향상된 다중 모드 기능과 긴 컨텍스트 창을 사용하면 그림, 차트, 표, 다이어그램 등 기존 추출 모델에서 어려움을 겪는 시각적으로 복잡한 PDF 데이터를 처리하는 데 특히 유용합니다.
이렇게 하면 시각적 파일 및 웹 추출을 위한 나만의 데이터 추출 도구를 쉽게 구축할 수 있습니다. 방법은 다음과 같습니다.
Gemini의 긴 컨텍스트 창과 다중 모드 기능은 기존 추출 모델이 어려움을 겪는 시각적으로 복잡한 PDF 데이터를 처리하는 데 특히 유용합니다.
추출에 앞서 개발 환경을 설정해 보겠습니다. 이 가이드에서는 시스템에 Python이 설치되어 있다고 가정합니다. 그렇지 않은 경우 https://www.python.org/downloads/
에서 다운로드하여 설치하세요.⚠️ Python을 사용하지 않으려면 thepi.pe의 클라우드 플랫폼을 사용하여 코드를 작성하지 않고도 파일을 업로드하고 결과를 CSV로 다운로드할 수 있습니다.
터미널이나 명령 프롬프트를 열고 다음 명령을 실행하세요.
pip install git+https://github.com/emcf/thepipe pip install pandas
Python을 처음 사용하는 경우 pip는 Python용 패키지 설치 프로그램이며, 이 명령은 필요한 라이브러리를 다운로드하고 설치합니다.
파이프를 사용하려면 API키가 필요합니다.
면책 조항: thepi.pe는 무료 오픈 소스 도구이지만 API에는 토큰당 약 $0.00002의 비용이 듭니다. 이러한 비용을 피하려면 GitHub의 로컬 설정 지침을 확인하세요. 선택한 LLM 제공업체에 여전히 비용을 지불해야 한다는 점에 유의하세요.
얻고 설정하는 방법은 다음과 같습니다.
이제 이것을 환경 변수로 설정해야 합니다. 프로세스는 운영 체제에 따라 다릅니다.
Windows의 경우:
macOS 및 Linux의 경우:
터미널을 열고 다음 줄을 셸 구성 파일(예: ~/.bashrc 또는 ~/.zshrc)에 추가합니다.
export THEPIPE_API_KEY=your_api_key_here
그런 다음 구성을 다시 로드하세요.
source ~/.bashrc # or ~/.zshrc
성공적인 추출의 핵심은 가져오려는 데이터에 대한 명확한 스키마를 정의하는 것입니다. 수량 명세서 문서에서 데이터를 추출한다고 가정해 보겠습니다.
Bill of Quantity 문서의 페이지 예입니다. 각 페이지의 데이터는 다른 페이지와 독립적이므로 "페이지별로" 추출을 수행합니다. 페이지당 추출할 데이터가 여러 개 있으므로 다중 추출을 True로 설정했습니다
열 이름을 살펴보면 다음과 같은 스키마를 추출할 수 있습니다.
schema = { "item": "string", "unit": "string", "quantity": "int", }
pi.pe 플랫폼에서 원하는 대로 스키마를 수정할 수 있습니다. "스키마 보기"를 클릭하면 Python API와 함께 사용하기 위해 복사하여 붙여넣을 수 있는 스키마가 제공됩니다
이제 extract_from_file을 사용하여 PDF에서 데이터를 가져와 보겠습니다.
from thepipe.extract import extract_from_file results = extract_from_file( file_path = "bill_of_quantity.pdf", schema = schema, ai_model = "google/gemini-flash-1.5b", chunking_method = "chunk_by_page" )
여기에서는 각 페이지를 AI 모델에 개별적으로 전송하려고 하기 때문에 Chunking_method="chunk_by_page"를 사용했습니다(PDF는 한 번에 모두 제공하기에는 너무 큽니다). 또한 PDF 페이지에는 각각 여러 행의 데이터가 포함되어 있으므로 multiple_extractions=True를 설정했습니다. PDF의 페이지는 다음과 같습니다.
thepi.pe 플랫폼에서 본 수량 PDF 추출 결과
The extraction results are returned as a list of dictionaries. We can process these results to create a pandas DataFrame:
import pandas as pd df = pd.DataFrame(results) # Display the first few rows of the DataFrame print(df.head())
This creates a DataFrame with all the extracted information, including textual content and descriptions of visual elements like figures and tables.
Now that we have our data in a DataFrame, we can easily export it to various formats. Here are some options:
df.to_excel("extracted_research_data.xlsx", index=False, sheet_name="Research Data")
This creates an Excel file named "extracted_research_data.xlsx" with a sheet named "Research Data". The index=False parameter prevents the DataFrame index from being included as a separate column.
If you prefer a simpler format, you can export to CSV:
df.to_csv("extracted_research_data.csv", index=False)
This creates a CSV file that can be opened in Excel or any text editor.
The key to successful extraction lies in defining a clear schema and utilizing the AI model's multimodal capabilities. As you become more comfortable with these techniques, you can explore more advanced features like custom chunking methods, custom extraction prompts, and integrating the extraction process into larger data pipelines.
위 내용은 Python 라인에서 Google Gemini를 사용하여 까다로운 PDF에서 데이터 추출의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!