LLM
-
Qdrant 구성 요소LLM 2025. 6. 23. 11:33
개요Qdrant는 벡터 유사도 검색 엔진 & VectorDB의 역할을 한다. REST API를 통해 벡터를 저장, 검색 할 수 있으며 페이로드를 통해 벡터를 관리할 수 있다.벡터 유사도 검사에서 Similarity Metric으로 Cosine, Dot, Euclid 등 선택할 수 있으며,Collections, Points 등 몇 가지 구성요소를 기반으로 동작한다.Qdrant 구성 요소1. PointsQdrant 기본 Entity다. Vector + Payload + Optional ID로 구성된다.Vector: 이미지/문서/사운드/비디오 등을 벡터화 한 값Payload: 벡터에 관한 부가데이터를 JSON형태로 저장한 값. ID: 벡터의 식별자point는 이런 형태로 넣게 된다.ID는 64-bit uns..
-
Langchain Text SplitterLLM 2025. 6. 18. 11:00
앞선 글에서 Chunking Strategy에 대해 설명했다. Chunk Optimization / 5 Levels Of Text Splitting필요성Langchain으로 RAG 구현하던 중, 적절한 Chunking Strategy를 선택해야했다.로드한 문서를 임베딩 하기 전에 크게 자를까, 작게 자를까, 뭘 기준으로 자를까 등을 결정하는 작업이다.이는 검색 정crayeji.tistory.com적절한 전략을 결정한 후에는 해당 전략에 맞는 Chunking 로직을 직접 구현할 수도 있고,LangChain을 사용하는 경우에는 TextSplitter의 하위클래스들을 활용할 수도 있겠다.그 중 몇 가지를 소개해보려고 한다.0. TextSplitterhttps://api.python.langchain.com/e..
-
Chunk Optimization / 5 Levels Of Text SplittingLLM 2025. 6. 18. 11:00
필요성Langchain으로 RAG 구현하던 중, 적절한 Chunking Strategy를 선택해야했다.로드한 문서를 임베딩 하기 전에 크게 자를까, 작게 자를까, 뭘 기준으로 자를까 등을 결정하는 작업이다.이는 검색 정확성/효율성과 연결되기 때문에, 가치있는 검색을 위한 최적의 Chunk 전략과 결정 기준을 조사해서 요약해본다.고려할 사항A. 청크 크기 (Chunk Size)1. 작게 자를 경우 (문장 단위) - 임베딩된 벡터는 문장 자체의 의미에 집중됨 - 장점: 검색 결과가 짧고 정확한 응답 문장으로 이어질 가능성 높음 - 단점: 문단 또는 전체 문서의 문맥은 잃을 수 있음 2. 크게 자를 경우 (문단~문서 단위) - 임베딩 벡터가 더 넓은 문맥(Context..