fastino-ai/GLiNER2

Unified Schema-Based Information Extraction

GLiNER2 – 통합된 스키마 기반 정보 추출

개요 – GLiNER2는 개체명 인식, 다중 레이블 분류, 구조화된 레코드 추출, 관계 추출, 심지어 스팬 수준의 속성(예: 감지된 엔티티에 대한 감정)과 같은 많은 텍스트 이해 작업을 단일 로컬 모델로 실행할 수 있게 해주는 Python 라이브러리입니다. 이 모델은 스키마 조건부입니다. 원하는 필드("스키마")를 설명하면 동일한 순방향 패스가 요청된 모든 출력을 반환합니다.

중요성 – 대부분의 툴킷은 NER, 분류 또는 JSON 스타일 추출을 위해 별도의 모델이 필요합니다. GLiNER2는 이를 번들로 제공하고, 두 가지 아키텍처(고전적인 고정 그리드 span 모델과 임의의 긴 스팬을 처리할 수 있는 최신 boundary 모델)를 지원하며, CPU 전용 하드웨어에서 효율적으로 실행되어 개인 정보에 민감하거나 엣지 배포에 적합합니다.


핵심 기능

기능 호출 방법 특징
엔티티 추출 model.extract_entities(text, labels, …) 레이블당 엔티티를 반환하며, 선택적 신뢰도 점수와 문자 오프셋을 제공합니다.
텍스트 분류 model.classify_text(text, schema, …) 단일 또는 다중 레이블, 임계값 및 신뢰도 지원.
구조화된 JSON 추출 model.extract_json(text, schema, …) 중첩된 레코드(예: 제품 사양)를 dict/list 구조로 가져옵니다.
관계 추출 model.extract_relations(...) (스키마를 통해) 타입화된 엔티티-관계 트리플을 생성합니다.
스팬 속성 model.extract_entities(..., include_attributes=True) 감정과 같은 추가 태그를 각 스팬에 추가합니다.
긴 문서 처리 extract_entities_long / batch_extract_entities_long 모델의 컨텍스트 창을 초과할 때 자동으로 청크, 오버랩 및 결과를 병합합니다.

두 가지 모델 패밀리

아키텍처 체크포인트 예시 크기 일반적인 용도
Span (GLiNER2) – 고정 폭 그리드 fastino/gliner2-base-v1 205 M (DeBERTa-v3-base) 레거시 모델, 소규모~중간 규모 작업.
Boundary (GLiNER2.5) – 희소 시작/끝 페어링, 임의 스팬 길이 fastino/gliner2.5-base-v1 194 M (DeBERTa-v3-base) 기본 영어 다중 작업, 최고의 CPU/엣지 성능.
다국어 fastino/gliner2-multi-v1 / gliner2.5-multi-v1 205-287 M (mDeBERTa-v3) 비영어 텍스트에서 작동합니다.
안전 / PII fastino/gliguard-LLMGuardrails-300M, gliner2-privacy-filter-PII-multi ~300 M 유해한 콘텐츠 또는 개인 데이터 감지; 동일한 AutoExtractor를 통해 로드할 수 있습니다.

빠른 시작(CPU 전용)

# Core library – no torch needed (schema validation, API client)
pip install gliner2

# Add local inference (torch & model weights)
pip install "gliner2[local]"
from gliner2 import AutoExtractor
model = AutoExtractor.from_pretrained("fastino/gliner2.5-base-v1")

text = "Apple CEO Tim Cook announced iPhone 15 in Cupertino yesterday."
result = model.extract_entities(
    text,
    ["company", "person", "product", "location"],
    include_confidence=True,
    include_spans=True,
)
print(result)
# → {'entities': {'company':[{'text':'Apple','confidence':0.95,'start':0,'end':5}], ...}}

동일한 model 객체는 classify_text, extract_json 및 README에 표시된 긴 문서 API도 지원합니다.


설치 추가 기능

추가 기능 추가되는 사항
gliner2[local] PyTorch, 모델 가중치, 온디바이스 추론용 AutoExtractor
gliner2[train] 훈련 유틸리티, LoRA 어댑터, 레시피 구성
gliner2[test] / gliner2[dev] 테스트 스위트, 린팅, 벤치마킹 도구

커뮤니티 및 리소스

  • Discordhttps://discord.gg/fastino (실시간 도움말)
  • Reddit – r/GLiNER (토론, 사용 사례)
  • 문서 – 분류, NER, JSON 추출, 관계 추출, 긴 컨텍스트 처리, 안전/PII 모델 및 LoRA 파인튜닝을 다루는 튜토리얼.
  • 모델 허브 – 모든 체크포인트는 Hugging Face의 fastino/gliner2-family 컬렉션에서 호스팅됩니다.

GLiNER2를 사용해야 할 때

  • 여러 모델을 로드하지 않고 동일한 텍스트에서 여러 IE 작업이 필요한 경우.
  • 개인 정보 보호 또는 엣지 기기를 위해 로컬, CPU 친화적인 추론을 선호하는 경우.
  • 데이터가 잘 정의된 스키마를 따르는 경우(예: "제품 이름, 가격 및 색상 추출").
  • 제공된 LoRA 어댑터를 통해 자신의 데이터로 모델을 확장하거나 파인튜닝하려는 경우.

TL;DR

GLiNER2는 엔티티, 분류, 구조화된 레코드, 관계 및 스팬 속성을 추출하기 위한 스키마 기반의 단일 모델 라이브러리입니다. span-grid 및 boundary 아키텍처를 모두 제공하며, CPU에서 효율적으로 실행되고, 개인 정보 보호 우선 로컬 추론 경로를 제공하며, 즉시 사용 가능한 다국어 체크포인트와 안전/PII 모델을 제공합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트