The Open Source RAG Stack

Jae·2025년 8월 31일

ByteByteGo의 아티클을 보고 학습하고 내용을 정리하였습니다.

Ingest/Data Processing

정의

검색과 인덱싱을 위한 LawData를 준비하고 정제하고 추출한다. 이 단계에서의 품질이 전체 RAG 시스템의 성능을 좌우한다. 단순히 텍스트를 불러오는 것이 아니라 텍스트를 추출하고, 불필요한 정보(헤더, 푸터, 이미지) 제거 및 청킹 기능을 포함한다.

종류

  • Kubeflow, Apach Airflow, Apache NiFi, LangChain Document Loads, Haystack Pipelines, and OpenSearch.

Embedding Model

정의

머신러닝을 이용하여 텍스트와 데이터를 고차원의 벡터 표현으로 변환한다. 임베딩 모델의 송능이 높을수록 벡터 공간에서의 의미적으로 유사한 텍스트들이 더 가깝게 위치하게 되어 검색 정확도가 향상된다.

종류

LangChain, LlamaIndex, Haystack, HuggingFace, Semantic Kernel

Vector Database

정의

  • 벡터 임베딩을 저장하고 유사성 검색이 가능하다.

특징

  • 특별한 데이터베이스를 저장 및 거대한 단어와 데이터로 표현되는 고수준의 벡터를 질의함으로써 최적화시킨다.
  • 수십억 개의 벡터를 효율적으로 관리하고 유사성 검색을 가능하게 한다.

종류

Weaviate, Milvus, Postgres pgVector, Chroma, and Pinecone

Redrieval & Ranking

정의

  • 관련된 청크를 검색하고 관련성에 따라 순위를 매긴다.
  • 가장 관련있는 정보를 LLM에서 제공한 거대 데이터 셋으로부터 찾는 것.

특징

  • 리랭킹 과정을 통해 검색된 결과를 다시 정밀하게 평가하여 순서를 재조정한다.
  • 하이브리드 검색은 키워드 기반 검색과 벡터 유사도 검색을 결함하여 정확도를 극대화한다.

종류

Meta FAISS, Haystack Retrievers, Weaviate Hybrid Search, ElasticSearchKNN, and JinaAI Rerankers

LLMS

정의

  • 거대 언어 모델을 이용해서 리트리버 정보에 근거한 최종 응답을 생성한다.
  • 오픈 소스 모델이 점점 발달함에 따라 유연한 응답이 가능하고, 비용 절감의 효과가 있다.

특징

  • Llama, Mistral과 같은 오픈소스 모델은 비용 효율성이 높고, 특정 도메인에 맞게 모델을 파인 튜닝할 수 있는 유연성을 제공한다.

종류

Llama, Mistral, Gemma, Phi-2, DeepSeek, Qwen, etc.

LLM Frameworks

정의

LLM pipelines, prompt, chains의 고수준 LLM 오케스트레이션.

특징

  • LLM, 벡터 데이터베이스 및 다양한 데이터 소스를 처리하는 복잡성을 추상화하여 개발자가 애플리케이션의 논리에 집중할 수 있도록 한다.

종류

  • LangChain, Haystack, LLamaIndex, Huggingface, Semantic Kernel

Frontend Frameworks

정의

RAG 앱을 이용하기 위해 만들어진 frontend interface를 구축하는데 이용하는 것.

종류

NextJS, VueJS, SvelteKit, Streamlit

0개의 댓글