저도 같은 문제로 개고생했는데, 결국 LangChain의 RecursiveCharacterTextSplitter 쓰면서 정해진 토큰 한계에 맞춰서 미리 청킹하는 게 가장 현실적이더라고요. 모델마다 다르니까 동적으로 max_tokens 조정하는 wrapper 만들어서 쓰는 것도 방법이고요.
다만 청킹할 때 겹치는 부분(overlap) 20-30% 정도 두는 게 맥락 손실 줄이는 데 도움 돼요. 단순히 길이 기준으로만 자르면 문맥이 끊겨서 요약 품질이 떨어져요. 혹시 모델 전환할 계획 있으시다면 미리 최대 토큰을 큰 값으로 설정해두고 나중에 줄이는 식으로 하는 게 코드 수정을
다만 청킹할 때 겹치는 부분(overlap) 20-30% 정도 두는 게 맥락 손실 줄이는 데 도움 돼요. 단순히 길이 기준으로만 자르면 문맥이 끊겨서 요약 품질이 떨어져요. 혹시 모델 전환할 계획 있으시다면 미리 최대 토큰을 큰 값으로 설정해두고 나중에 줄이는 식으로 하는 게 코드 수정을