Structured Logprobs, LLM 토큰의 로그 확률에 대한 정보를 제공하는 오픈소스 라이브러리

Structured Logprobs 소개

Structured Logprobs는 OpenAI의 구조화된 출력(Structured Outputs) 기능을 강화하여 토큰의 로그 확률에 대한 자세한 정보를 제공하는 오픈소스 Python 라이브러리입니다. 이 라이브러리는 언어 모델(LLM)의 구조화된 출력의 신뢰도를 분석하고, JSON 스키마를 사용해 모델이 일관된 형식의 응답을 생성하도록 보장합니다.

Structured Logprobs이 제공하는 핵심 기능은 다음과 같습니다:

  1. 토큰 로그 확률 분석: 각 응답의 신뢰도를 평가하기 위해 토큰 로그 확률 데이터를 제공합니다.

  2. 로그 확률 추가 방법:

    • add_logprobs: 로그 확률 데이터를 응답 필드로 별도 추가
    • add_logprobs_inline: 메시지 내용 내부에 로그 확률 포함
  3. 문자-토큰 매핑 기능

    • 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 라이선스로 공개 및 배포되고 있습니다.

:scroll: Structured Logprobs 문서 사이트

:github: Structured Logprobs GitHub 저장소

https://github.com/arena-ai/structured-logprobs




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:kr:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:gift: 아래:arrow_lower_right:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck: