이 노트북은 대화형 노트북입니다. 로컬에서 실행하거나 아래 링크를 사용할 수 있습니다:
Chain of Density를 이용한 요약
중요한 세부 사항을 보존하면서 복잡한 기술 문서를 요약하는 것은 어려운 과제입니다. Chain of Density (CoD) 요약 기술은 요약문을 더 간결하고 정보 밀도가 높게 반복적으로 개선하여 이에 대한 해결책을 제공합니다. 이 가이드에서는 애플리케이션의 추적 및 평가를 위해 Weave 를 사용하여 CoD를 구현하는 방법을 보여줍니다.
Chain of Density 요약이란 무엇인가요?
- 초기 요약본으로 시작합니다.
- 요약본을 반복적으로 다듬어, 핵심 정보는 보존하면서 더 간결하게 만듭니다.
- 반복할 때마다 엔티티와 기술적 세부 사항의 밀도를 높입니다.
왜 Weave를 사용하나요?
이 튜토리얼에서는 ArXiv 논문을 위한 Chain of Density 요약 파이프라인을 구현하고 평가하기 위해 Weave 를 사용합니다. 다음 사항들을 배우게 됩니다:- LLM 파이프라인 추적: Weave 를 사용하여 요약 프로세스의 입력, 출력 및 중간 단계를 자동으로 로깅합니다.
- LLM 출력 평가: Weave 의 내장 도구를 사용하여 요약본에 대한 엄격하고 객관적인 평가를 생성합니다.
- 구성 가능한 작업(Operations) 구축: 요약 파이프라인의 여러 부분에서 Weave 작업을 결합하고 재사용합니다.
- 원활한 통합: 최소한의 오버헤드로 기존 Python 코드에 Weave 를 추가합니다.
환경 설정
먼저, 환경을 설정하고 필요한 라이브러리를 임포트하겠습니다:Anthropic API 키를 받는 방법:
- https://www.anthropic.com 에서 계정을 만듭니다.
- 계정 설정의 API 섹션으로 이동합니다.
- 새 API 키를 생성합니다.
- API 키를 .env 파일에 안전하게 저장합니다.
weave.init(<project name>) 호출은 요약 작업을 위한 새로운 Weave 프로젝트를 설정합니다.
ArxivPaper 모델 정의
데이터를 나타내기 위해 간단한ArxivPaper 클래스를 생성합니다:
PDF 콘텐츠 로드
전체 논문 내용을 작업하기 위해 PDF에서 텍스트를 로드하고 추출하는 함수를 추가합니다:Chain of Density 요약 구현
이제 Weave 작업을 사용하여 핵심 CoD 요약 로직을 구현해 보겠습니다:
summarize_current_summary: 현재 상태를 기반으로 단일 요약 반복을 수행합니다.iterative_density_summarization:summarize_current_summary를 여러 번 호출하여 CoD 기술을 적용합니다.chain_of_density_summarization: 전체 요약 프로세스를 오케스트레이션하고 결과를 반환합니다.
@weave.op() 데코레이터를 사용하여 Weave 가 이러한 함수의 입력, 출력 및 실행을 추적하도록 합니다.
Weave Model 생성
이제 요약 파이프라인을 Weave Model로 감싸보겠습니다:
ArxivChainOfDensityPipeline 클래스는 요약 로직을 Weave Model로 캡슐화하여 다음과 같은 주요 이점을 제공합니다:
- 자동 실험 추적: Weave 는 모델의 각 실행에 대한 입력, 출력 및 파라미터를 캡처합니다.
- 버전 관리: 모델의 속성이나 코드 변경 사항이 자동으로 버전 관리되어, 요약 파이프라인이 시간이 지남에 따라 어떻게 발전하는지 명확한 이력을 생성합니다.
- 재현성: 버전 관리 및 추적을 통해 요약 파이프라인의 이전 결과나 설정을 쉽게 재현할 수 있습니다.
- 하이퍼파라미터 관리: 모델 속성(
model및density_iterations등)이 명확하게 정의되고 여러 실행에 걸쳐 추적되어 실험을 용이하게 합니다. - Weave 에코시스템과의 통합:
weave.Model을 사용하면 평가 및 서빙 기능과 같은 다른 Weave 도구와 원활하게 통합할 수 있습니다.
평가 메트릭 구현
요약본의 품질을 평가하기 위해 간단한 평가 메트릭을 구현합니다:Weave Dataset 생성 및 평가 실행
파이프라인을 평가하기 위해 Weave Dataset 을 생성하고 평가를 실행합니다:

결론
이 예제에서는 Weave 를 사용하여 ArXiv 논문을 위한 Chain of Density 요약 파이프라인을 구현하는 방법을 시연했습니다. 다음을 수행하는 방법을 보여주었습니다:- 요약 프로세스의 각 단계에 대해 Weave 작업을 생성합니다.
- 쉬운 추적 및 평가를 위해 파이프라인을 Weave Model로 감쌉니다.
- Weave 작업을 사용하여 사용자 정의 평가 메트릭을 구현합니다.
- 데이터셋을 생성하고 파이프라인의 평가를 실행합니다.