567-labs/instructor

structured outputs for llms

해결하는 문제

Instructor는 대규모 언어 모델(LLM)로부터 신뢰할 수 있는 구조화된 데이터(예: JSON)를 얻는 과정을 단순화합니다. 복잡한 JSON 스키마를 수동으로 작성하거나, 검증 오류를 처리하거나, 비구조화된 응답을 파싱하거나, LLM이 스키마를 따르지 않을 경우 사용자 정의 재시도 로직을 구현할 필요가 없습니다.

작동 방식

출력 구조를 정의하기 위해 Pydantic 모델을 사용합니다. LLM에 요청이 들어오면 Instructor는 스키마 생성과 검증을 처리합니다. LLM의 응답이 검증에 실패하면 Instructor는 자동으로 요청을 재시도하고, 오류 메시지를 모델에 다시 전달하여 출력을 수정하도록 합니다. OpenAI, Anthropic, Google, Groq, Ollama를 포함한 여러 제공자에서 일관된 API로 작동하는 통합 인터페이스를 제공합니다.

대상 사용자

자연어에서 특정 데이터를 추출하거나, 생산 환경 애플리케이션에서 사용하기 위해 LLM 출력이 사전 정의된 타입 안전한 스키마에 엄격히 부합하도록 보장해야 하는 개발자.

주요 기능

  • Pydantic 통합: 타입 안전성, 검증, IDE 지원을 위해 Pydantic을 활용.
  • 다중 제공자 지원: OpenAI, Anthropic, Google, Groq, Ollama를 일관된 API로 지원.
  • 자동 재시도: 검증 오류 메시지를 사용하여 실패한 추출을 자동으로 재시도.
  • 스트리밍: 생성 중 부분 객체를 스트리밍으로 지원.
  • 중첩 구조 처리: 복잡한 중첩된 데이터 객체를 자동으로 처리.

관련

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