전체 글 99

LongContextReorder는 어떤 원리로 Context를 재배치할까?

배경Lost in the Middle: How Language Models Use Long Contexts 논문(https://arxiv.org/abs/2307.03172)-> Context가 10장이 넘어가면 중간에 있는 데이터의 내용이 무시되는 경향이 있다.2. 그래서 양끝에 가장 관련도가 높은 문서를 배치하는지 하는게 좋은 전략이 된다.3. 실제로 내 프로젝트에 적용했을때도, 정답률이 10% 향상 되는 효과를 보였다.4. 그렇다면 어떤 원리로 양끝에 가장 관련도가 높은 문서를 배치하는지 알아보고자 한다.코드"""Reorder documents"""from typing import Any, List, Sequencefrom langchain_core.documents import BaseDocumen..

langchain 공부 2024.11.16

contextual compression Retriever 내부 코드 분석

배경contextual compression Retriever의 원리가 궁금해 내부 코드를 살펴본다.코드from typing import Any, Listfrom langchain_core.callbacks import ( AsyncCallbackManagerForRetrieverRun, # 비동기 콜백 관리자를 사용 CallbackManagerForRetrieverRun, # 동기 콜백 관리자를 사용)from langchain_core.documents import Documentfrom langchain_core.retrievers import BaseRetriever, RetrieverLikefrom pydantic import ConfigDictfrom langchain.retrie..

langchain 공부 2024.11.15