임베딩(Embeddings)이란 무엇인가요?임베딩은 텍스트와 같은 비정형 데이터를 고정된 크기의 벡터로 변환하는 기술입니다. 단어, 문장, 문서 등 어떤 형태의 텍스트든 수치화된 형태로 바꿔야만 기계가 이해하고 계산할 수 있습니다.예를 들어 "나는 사과를 좋아해"와 "난 애플을 좋아해"는 인간의 눈엔 비슷하게 보이지만, 기계 입장에선 완전히 다른 문자열입니다. 하지만 임베딩을 거치면 두 문장이 서로 비슷한 위치의 벡터로 표현되어, 의미적으로 유사하다는 걸 인식할 수 있게 됩니다.왜 임베딩이 필요한가요?임베딩은 검색, 분류, 추천, 챗봇 등 거의 모든 LLM 기반 시스템에서 핵심적인 역할을 합니다. 특히 RAG (Retrieval-Augmented Generation) 구조에선 아래와 같은 이유로 필수입니..
AI/RAG
RAG에서 텍스트 분할(Text Splitting)이 중요한 이유RAG(Retrieval-Augmented Generation) 시스템은 외부 문서에서 정보를 검색해 생성 모델에게 전달하는 방식으로 작동합니다. 이때, 검색 정확도와 응답 품질을 결정짓는 핵심 요소 중 하나가 바로 "텍스트 분할"입니다. 텍스트 분할은 긴 문서를 적절한 길이의 청크로 나누는 과정인데, 이를 잘못하면 의미가 끊기거나 중요한 문맥이 누락되면서 검색 및 생성 성능이 급격히 떨어질 수 있습니다. 특히 LLM이 참조할 수 있는 토큰 수가 제한되어 있기 때문에, 적절한 길이, 문맥 보존, 중복 최소화가 매우 중요합니다.Text Splitter의 다양한 전략LangChain에서는 다양한 형태의 텍스트 분할기를 제공하며, 각각의 spli..
RAG 시스템의 핵심 단계: 텍스트 분할(Text Splitter)이란?텍스트 분할은 Retrieval-Augmented Generation(RAG) 시스템의 두 번째 단계로, 대용량 문서를 LLM이 효율적으로 처리할 수 있도록 작고 의미 있는 단위로 나누는 작업입니다. 이 과정은 문서 내에서 정확하고 관련성 높은 정보를 추출하는 데 중요한 역할을 합니다.텍스트 분할의 필요성정확한 정보 검색: 문서를 세분화하여 질문(Query)에 관련성 높은 조각만 검색할 수 있도록 합니다.시스템 효율성 향상: 전체 문서를 처리할 필요 없이, 필요한 정보만 압축해 LLM에 전달함으로써 비용과 리소스를 절감합니다.할루시네이션 방지: 정보 과다로 인한 잘못된 응답 가능성을 줄이고, 정확한 문맥 제공이 가능합니다.텍스트 분할..
RAG 시스템의 핵심, 검색기(Retriever)란?검색기(Retriever)는 RAG(Retrieval-Augmented Generation) 시스템에서 5번째 단계에 해당하며, 사용자의 질문과 관련된 정보를 벡터 데이터베이스에서 찾아주는 역할을 합니다. 이 단계의 성능은 전체 시스템의 정확도와 응답 속도에 직접적인 영향을 미칩니다.검색기의 필요성정확도 향상: 사용자 질문과 높은 관련도를 가진 문서를 선택해, 보다 정밀한 답변을 생성합니다.응답 속도 개선: 효율적인 검색 알고리즘으로 빠르게 문서를 탐색하여 전체 시스템 응답 시간을 줄입니다.시스템 최적화: 관련된 문서만 선택해 불필요한 연산과 자원 낭비를 줄입니다.검색기의 동작 방식질문의 벡터화: 질문을 임베딩 기법으로 벡터화유사도 비교: 저장된 문서 ..
RAG란 무엇인가?RAG(Retrieval Augmented Generation, 검색 증강 생성)는 검색을 통해 외부 데이터를 참조하여 AI가 답변을 생성하도록 돕는 기술입니다.현재 ChatGPT의 문제점 (AS-IS)최신 정보가 학습되어 있지 않아 최신 정보를 제공하기 어렵습니다.개인 또는 회사의 내부 데이터와 같은 제한적인 정보에 접근이 불가능합니다.내부 문서를 업로드해도 문서가 많아지면 할루시네이션(환각) 현상이 발생하여 정확한 답변을 기대하기 어렵습니다.RAG 적용 후 기대 효과 (TO-BE)최신 정보 및 내부 데이터 기반으로 정확한 답변이 가능합니다.내부 문서를 DB에 저장하여 원하는 정보를 검색하고 답변 품질을 향상할 수 있습니다.답변의 출처를 DB에서 직접 검색하여 할루시네이션 현상을 최소..