분류 전체보기29 [논문 리뷰]Adaptive-RAG: Learning to Adapt Retrieval-Augmented Large Language Models through Question Complexity 1. Introduction기존의 RAG 기반 파이프라인은 모든 질의에 동일한 검색 전략을 적용하여, 단순한 질의에는 과도한 계산을, 복잡한 질의에는 부족한 정보를 제공할 수 있는 문제가 존재합니다. 2. Adaptive-RAG의 제안이에 저자는 sLLM을 분류기로 질의의 복잡도를 판단하여 아래의 세 가지 전략 중 하나를 선택합니다.No Retrieval: 단순한 질의는 검색 없이 LLM만으로 처리Single-Step Retrieval: 중간 복잡도의 질의는 한 번의 검색으로 처리Multi-Step Retrieval: 복잡한 질의는 여러 단계의 검색과 추론을 통해 처리3. Training Strategy질의 복잡도에 대한 라벨이 포함된 공개 데이터셋이 존재하지 않아 논문에서는 두 단계의 자동 라벨링 전략.. 2025. 5. 20. [Python] 문자열 덧셈 vs Join 함수 # [+] 방식PyObject *result = PyUnicode_New(new_len, maxchar); // 👈 새로운 문자열 객체 생성# join 방식result = PyUnicode_New(total_length + sep_len * (count - 1), maxchar); // 👈 한 번에 메모리 할당백준 2448번을 풀다가 일반적인 문자열 덧셈에서는 시간초과가 뜨는 것을 보고 둘을 비교하게 되었습니다. 우선 아래는 파이썬의 일반적인 문자열 누적의 예시입니다.parts=['a', 'b', 'c', '1', '2', '3']# 문자열 덧셈s = ""for part in parts: s += partprint(s)# join은 "구분자"를 기준으로 parts에 있는 문자열들을 하나의 문.. 2025. 5. 20. ModuleNotFoundError: No module named 'custom_st' embeddings_model = HuggingFaceEmbeddings( model_name="jinaai/jina-embeddings-v3", model_kwargs={"device": "cuda"},) jina 임베딩 쓰려는데 갑자기 'ModuleNotFoundError: No module named 'custom_st'' 에러가 뜸.캐시폴더를 확인해봐도 잘 깔려 있는데 왜 그럴까.. 여기저기 알아보니 캐시파일 지우고 다시 해라, trust_remote_code = true하면 된다 등등 많은데 다 안됨. 내가 생각해도 trust_remote_code가 custom_st와 가장 연관이 깊어서 true로 해봤는데 에러가 뜸. 그래서 langchain github 들어가서 community_.. 2024. 11. 29. nn.Paramter() 딥러닝 모델을 설계할 때, 우리는 학습이 필요한 가중치와 편향 같은 파라미터를 정의함.이때 학습시키고 싶은 부분과 아닌 부분을 구분하기 위해 nn.Parameter()을 사용한다고 생각하면 편함 import torchfrom torch import nnclass MyModel(nn.Module): def __init__(self): super().__init__() self.weight = nn.Parameter(torch.randn(3, 3)) # 학습 가능한 파라미터 self.bias = torch.randn(3) # 학습 불가능한 텐서 2024. 11. 18. vscode 파이썬 가상환경 1. VS Code에서 Python 가상환경 만들기 (*해당 버전이 설치되어 있어야함)python'버전' -m venv "가상환경 이름" 2. 가상환경 활성화하기#window.\venv\Scripts\activate#macOS/Linuxsource venv/bin/activate 3. Jupyter 및 필요한 패키지 설치 4. Jupyter 노트북 커널에 가상환경 안잡힐 때pip install ipykernelpython -m ipykernel install --user --name "생성한 가상환경 이름" --display-name "원하는 이름" 2024. 11. 12. torch.detach (and clone) torch.detach는 말 그대로 떼어내는 것이다.어떻게 보면 두 가지 기능을 하는건데복제와 연결을 끊는, 뗴어내는(detach)하는 것이다. x = torch.tesnor([1,2,3,4])z = x.clone(), z = x.detach() 같은데detach의 경우에는 계산 그래프에서 떼어내는 역할도 한다.아래의 그림이 이를 잘 표현해서 가져왔다. 이러면 backpropagation할 때 더이상 layer1까지 가지 않는다. 2024. 8. 11. 이전 1 2 3 4 5 다음