Structured Logprobs 소개
Structured Logprobs는 OpenAI의 구조화된 출력(Structured Outputs) 기능을 강화하여 토큰의 로그 확률에 대한 자세한 정보를 제공하는 오픈소스 Python 라이브러리입니다. 이 라이브러리는 언어 모델(LLM)의 구조화된 출력의 신뢰도를 분석하고, JSON 스키마를 사용해 모델이 일관된 형식의 응답을 생성하도록 보장합니다.
Structured Logprobs이 제공하는 핵심 기능은 다음과 같습니다:
-
토큰 로그 확률 분석: 각 응답의 신뢰도를 평가하기 위해 토큰 로그 확률 데이터를 제공합니다.
-
로그 확률 추가 방법:
add_logprobs
: 로그 확률 데이터를 응답 필드로 별도 추가add_logprobs_inline
: 메시지 내용 내부에 로그 확률 포함
-
문자-토큰 매핑 기능
map_characters_to_token_indices
: 응답 내 문자와 토큰 인덱스를 매핑
다음 예시 코드를 통해 Structured Logprobs의 사용법을 살펴볼 수 있습니다:
from structured_logprobs.main import add_logprobs
# OpenAI의 구조화된 출력 예제
completion = client.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "system", "content": "Provide structured output."}
],
logprobs=True,
response_format={
"type": "json_schema",
"json_schema": {
"type": "object",
"properties": {
"field1": {"type": "string"},
"field2": {"type": "number"},
},
},
},
)
# 로그 확률 추가
structured_response = add_logprobs(completion)
print(structured_response)
라이선스
Structured Logprobs는 Apache-2.0 라이선스로 공개 및 배포되고 있습니다.
Structured Logprobs 문서 사이트
Structured Logprobs GitHub 저장소
https://github.com/arena-ai/structured-logprobs
이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다.
파이토치 한국 사용자 모임이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)
아래쪽에 좋아요를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~