이 문서는 대화형 노트북입니다. 로컬에서 실행하거나 아래 링크를 사용하세요.

Chain of Density 요약이란
- 초기 요약을 작성합니다.
- 핵심 정보는 유지하면서 요약을 반복적으로 다듬어 더 간결하게 만듭니다.
- 반복할 때마다 엔티티와 기술적 세부 정보의 밀도를 높입니다.
Weave를 사용하는 이유
이 튜토리얼에서는 Weave를 사용하여 ArXiv 논문용 Chain of Density 요약 파이프라인을 구현하고 평가합니다. 이 튜토리얼에서 배우는 내용은 다음과 같습니다.- LLM 파이프라인 추적: Weave를 사용하여 요약 프로세스의 입력, 출력, 중간 단계를 자동으로 로깅합니다.
- LLM 출력 평가: Weave의 기본 제공 도구로 요약을 일관되게 평가합니다.
- 조합 가능한 오퍼레이션 구축: Weave 오퍼레이션을 조합하여 요약 파이프라인의 여러 부분에서 재사용합니다.
- 기존 코드와 통합: 최소한의 오버헤드로 기존 Python 코드에 Weave를 추가합니다.
환경 설정
먼저 환경을 설정하고 필요한 라이브러리를 임포트하세요. 이 단계에서는 파이프라인에 필요한 의존성을 설치합니다. 추적용 Weave, LLM용 Anthropic, ArXiv PDF 읽기용 PyPDF2가 여기에 포함됩니다.Anthropic API 키를 발급받으려면 다음 단계를 따르세요.
- https://www.anthropic.com 에서 계정을 만드세요.
- 계정 설정에서 API 섹션으로 이동하세요.
- 새 API 키를 생성하세요.
- API 키를
.env파일에 안전하게 저장하세요.
weave.init([PROJECT_NAME]) 호출은 요약 작업에 사용할 새 Weave 프로젝트를 설정합니다.
ArxivPaper 모델 정의하기
환경이 준비되었으면 이제 파이프라인에서 다룰 데이터 구조를 정의합니다. 데이터를 표현할ArxivPaper 클래스를 만드세요.
PDF 콘텐츠 로드
ArxivPaper 모델에는 메타데이터와 PDF URL이 담겨 있지만, 요약 파이프라인에는 논문의 전체 텍스트가 필요합니다. 논문 전체 내용을 활용하려면 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로 패키징하여 run, 매개변수, 버전을 함께 추적합니다. 이제 요약 파이프라인을 Weave Model로 래핑하세요.
ArxivChainOfDensityPipeline 클래스는 요약 로직을 Weave Model로 캡슐화하며, 다음과 같은 주요 이점을 제공합니다.
- 자동 실험 추적: Weave는 모델을 실행할 때마다 각 run의 입력, 출력, 매개변수를 캡처합니다.
- 버전 관리: 모델의 속성이나 코드가 변경되면 자동으로 버전이 관리되므로, 요약 파이프라인이 시간에 따라 어떻게 발전해 왔는지 명확한 이력을 확인할 수 있습니다.
- 재현성: 버전 관리와 추적 기능 덕분에 요약 파이프라인의 이전 결과나 설정을 언제든지 재현할 수 있습니다.
- 하이퍼파라미터 관리: 모델 속성(예:
model,density_iterations)이 명확하게 정의되고 여러 run에 걸쳐 추적되므로 실험을 진행하기가 수월합니다. - Weave 에코시스템과의 인테그레이션:
weave.Model을 사용하면 평가, 서빙 기능 등 다른 Weave 도구와 연동할 수 있습니다.
평가 메트릭 구현
이제 파이프라인에서 요약이 생성되므로, 요약의 품질을 체계적으로 측정할 방법이 필요합니다. 요약의 품질을 평가하기 위해 다음과 같이 단순한 평가 메트릭을 구현하세요.Weave Dataset 생성 및 평가 실행
점수화 함수를 정의했으니 이제 마지막 단계로 샘플 입력에 이 함수를 적용하고 평가를 실행합니다. 파이프라인을 평가하려면 Weave Dataset을 생성하고 평가를 실행하세요.

결론
이 예제에서는 Weave를 사용하여 ArXiv 논문용 Chain of Density 요약 파이프라인을 구현하는 방법을 살펴보았습니다. 이 예제에서 배운 내용은 다음과 같습니다.- 요약 과정의 각 단계별로 Weave 오퍼레이션 생성하기
- 추적 및 평가를 위해 파이프라인을 Weave Model로 래핑하기
- Weave 오퍼레이션을 사용하여 맞춤형 평가 메트릭 구현하기
- 데이터셋을 생성하고 파이프라인 평가 실행하기