최근 글
-
AI·LLM
[RAG 기초] 코사인 유사도 — 질문과 문서의 관련성을 숫자로 비교하는 방법
들어가며지난 글에서는 Token, Embedding, Context Window를 살펴봤습니다.임베딩은 토큰이나 문서를 학습된 숫자 벡터로 표현하는 방법입니다. RAG는 질문과 문서를 검색용 임베딩 벡터로 바꾸고, 관련성이 높은 문서를 찾아 답변 생성에 활용합니다.그렇다면 벡터끼리 얼마나 비슷한지는 어떻게 판단할까요?이번 글에서는 대표적인 비교 방법인 코사인 유사도(Cosine Similarity)를 간단한 숫자 예제로 이해해 보겠습니다.이 글의 벡터는 계산 원리를 설명하기 위해 직접 지정한 값입니다. 실제 임베딩 모델의 출력이나 검색 성능 측정 결과가 아닙니다. Python 코드 역시 실행 전 예제이며, 출력은 예상 결과로 표시합니다.목차벡터의 크기와 방향코사인 유사도가 비교하는 것숫자로 계산해 보기P..
-
AI·LLM
[LLM 기초] Token·Embedding·Context Window — Java 개발자가 이해하는 LLM의 입력 처리
들어가며지난 글에서는 FAQ를 검색해 LLM에 전달하는 RAG의 답변 생성 과정을 살펴봤습니다. 이번에는 그 안에서 반복해서 등장하는 Token, Embedding, Context Window를 정리합니다. Java 백엔드 개발자의 관점에서 문자열 처리와 자료구조에 연결해 설명하되, 비유와 실제 모델 동작은 구분합니다.이 글은 개념 학습을 위한 글입니다. 모델 설치, 추론 실행, 성능 측정은 수행하지 않았습니다. 코드와 수치는 설명용이며 실제 LLM의 토큰 ID나 임베딩 측정 결과가 아닙니다.목차Token: 모델이 처리하는 텍스트 단위Embedding: 숫자 벡터로 표현하는 방법Context Window: 한 번에 참고할 수 있는 범위세 개념이 RAG에서 만나는 과정설명용 코드와 예상 결과흔한 오해와 해..
-
AI·LLM
[LLM·RAG 기초] FAQ 예제로 따라가는 RAG의 답변 생성 과정
들어가며LLM과 RAG의 정의만 읽으면 실제 서비스에서 어떤 일이 일어나는지 잘 보이지 않을 수 있습니다. 그래서 이 글에서는 가상의 반품 FAQ를 예로 들어 질문이 들어온 뒤 자료를 찾고 답변을 만드는 과정을 차례대로 살펴봅니다.이 글의 FAQ와 설정은 흐름을 설명하기 위해 만든 예시입니다. 실제 쇼핑몰 정책이나 구현·성능 측정 결과가 아닙니다. 다음 실습 글에서는 선택한 기술과 실행 결과를 따로 기록하겠습니다.먼저 LLM이 답하는 방식을 보자LLM(Large Language Model)은 입력된 문맥을 바탕으로 다음 토큰을 하나씩 생성해 답변을 이어갑니다. 토큰은 단어 전체일 수도 있고 단어 일부나 기호일 수도 있습니다. 모델은 입력 문장을 토큰 단위로 처리하고, 앞에 나온 내용에 이어질 토큰의 확률..