모델별 실행 레시피
최종 업데이트
GLiNER2.5로 영어 문장에서 필드를 JSON으로 추출하기
영어 문의에서 정해 둔 필드를 추출해 원문과 함께 저장해요.
GLiNER2.5는 문장과 찾을 항목의 이름을 입력받아 해당 항목과 원문 일부를 돌려줘요. 이 예제는 영어 고객지원 문장에서 제품명·오류 코드·문제 내용을 찾아 JSON 레코드로 저장해요.
생성 대신 구조화 추출을 해요
GLiNER2.5는 문장과 찾을 항목의 이름을 입력받아, 해당 항목과 원문에서의 위치를 돌려주는 정보 추출 모델이에요. 이 예제는 영어 고객지원 문장에서 제품명·오류 코드·문제 내용을 찾아 JSON 레코드로 저장해요.
공식 저장소는 fastino/gliner2.5-base-v1를 권장 영어 체크포인트1로 안내하고, 설치는 pip install "gliner2[local]" 예제를 제공합니다. 이 체크포인트를 한국어 문장에 적용해도 같은 품질이 나온다고 추정하지 말고 영어 표본으로 먼저 검증하세요.

스키마를 작게 시작해요
문서 한 종류를 고르고 추출할 엔티티 이름과 관계 방향을 정합니다. 실행 예시는 AutoExtractor.from_pretrained("fastino/gliner2.5-base-v1")로 모델을 불러온 뒤, field·relation·attribute 정의를 넣어 구조를 지정해요.
아래 Python 코드를 extract.py로 저장하세요. source_id, 원문, 모델 반환값을 한 객체에 담아 파일로 저장하므로, 결과를 원문과 함께 검수할 수 있어요.
import json
from gliner2 import AutoExtractor
model = AutoExtractor.from_pretrained("fastino/gliner2.5-base-v1")
source_id = "ticket-001"
text = "The Atlas 14 laptop stopped charging with error E-204 after the March update."
schema = {"product": [
"name::str::Product name and model",
"error_code::str::Error code mentioned in the report",
"issue::str::What went wrong",
]}
result = model.extract_json(text, schema)
record = {"source_id": source_id, "text": text, "extraction": result}
with open("extraction.json", "w", encoding="utf-8") as f:
json.dump(record, f, ensure_ascii=False, indent=2)
print(json.dumps(record, ensure_ascii=False, indent=2))python -m venv .venv
source .venv/bin/activate
python -m pip install -U "gliner2[local]"python extract.py
속성별로 추출 결과를 점검해요
사람이 라벨한 문장 100개를 준비해 entity span의 precision·recall, 관계의 precision·recall, JSON 파싱 성공률을 각각 계산하세요. 전체 점수 하나로 합치면 어떤 필드가 자주 빠지거나 잘못 연결되는지 숨겨질 수 있습니다.
오탐 수정 시간과 잘못된 관계가 후속 검색·업무 처리에 미치는 비용도 기록합니다. 문서가 영어가 아니거나 표·레이아웃이 복잡하면, 먼저 OCR2로 추출한 텍스트가 모델의 입력 가정에 맞는지 따로 확인하세요.
표 구조를 그대로 살려야 하거나 문서 전체를 한 번에 옮겨야 한다면, 항목 추출 모델보다 문서 파서를 먼저 비교하세요. 여기서는 정해 둔 항목만 찾으므로 표의 칸과 읽는 순서는 별도로 확인해야 해요.

용어 각주
자주 묻는 질문
- 이 글에서 가장 먼저 확인할 것은 무엇인가요?
- GLiNER2.5는 문장과 찾을 항목의 이름을 입력받아 해당 항목과 원문 일부를 돌려줘요. 이 예제는 영어 고객지원 문장에서 제품명·오류 코드·문제 내용을 찾아 JSON 레코드로 저장해요.
