본문 바로가기

전체 글443

[RAG] RAG Evaluation 메트릭들 정리 제대로 된 RAG 시스템을 만들려면 성능을 수치로 평가할 수 있어야 한다.RAG 평가는 크게 두 가지로 나눠볼 수 있다.1. Retrieval Evaluation→ 필요한 정보를 제대로 검색했는가?2. Generation Evaluation→ 검색된 정보를 기반으로 제대로 답변했는가? 최종 답변이 잘못됐다고 해서 무조건 LLM의 문제라고 볼 수 없다, 애초에 Retriever가 잘못된 문서를 가져왔다면 LLM도 제대로 된 답변을 만들기 어렵기 때문이다. 1. Retrieval EvaluationRetrieval Evaluation은 사용자의 질문에 필요한 문서를 Retriever가 제대로 찾아왔는지 평가하는 과정이다.예를 들어 정답과 관련된 Chunk가 다음과 같다고 하자.정답 관련 ChunkChunk .. 2026. 10. 14.
[RAG] Advanced RAG: Query, Context 최적화 기본적인 RAG는 보통 다음과 같은 구조로 동작한다.사용자 질문→ Vector Search→ 관련 Chunk 검색→ Context 구성→ LLM 하지만 실제 사용자의 질문은 항상 검색하기 좋은 형태로 들어오지 않는다.예를 들어 사용자가 다음과 같이 질문할 수 있다.로그인이 왜 계속 안 되지? 실제 사내 문서에는 다음처럼 작성되어 있을 수 있다.사용자 인증 실패 및 계정 잠금 정책 의미는 비슷하지만 표현이 다르기 때문에 원하는 문서를 제대로 찾지 못할 수 있다.또 검색에는 성공했더라도 너무 많은 Chunk를 그대로 LLM에게 전달하면 불필요한 정보가 Context에 포함될 수 있다.그래서 Advanced RAG에서는 단순히 검색 알고리즘만 개선하는 것이 아니라, 아래에 내용들까지의 전체 파이프라인을 함께.. 2026. 10. 14.
[RAG] Hybrid Search와 Reranking 전체 구조 알아보기 RAG에서는 사용자의 질문과 관련된 문서를 얼마나 잘 찾아오느냐가 매우 중요하다.보통 RAG라고 하면 가장 먼저 떠올리는 방식이 Embedding 기반 Vector Search이다.사용자 질문 ↓Embedding ↓Vector DB ↓유사한 Chunk 검색 ↓LLM 하지만 실제 서비스에서는 Vector Search만으로 모든 검색 문제를 해결하기 어렵다.그래서 Keyword Search와 Vector Search를 함께 사용하는 Hybrid Search, 그리고 검색 결과를 다시 정렬하는 Reranking을 함께 사용하는 경우가 많다. ※ 참고로 시맨틱 서치의 대표적인 구현 방법 중 하나가 벡터 서치이다시맨틱 서치가 더 큰 범위의 개념이다!!Vector Search의 한계Vector.. 2026. 10. 11.
[RAG] RAG 성능을 결정하는 Chunking(청킹) 전략 RAG는 사용자의 질문과 관련된 문서를 검색한 뒤, 검색된 내용을 LLM의 Context로 전달해 답변을 생성하는 구조이다.이때 문서 전체를 그대로 검색하는 것이 아니라 일반적으로 문서를 일정한 단위로 나눈 뒤 각각 Embedding하여 Vector DB에 저장한다.이렇게 나누어진 문서 조각을 Chunk라고 하며, 문서를 나누는 과정을 Chunking이라고 한다. 문제는 문서를 어떻게 나누느냐에 따라 검색 결과가 크게 달라진다는 점이다.Chunk가 너무 작으면?Chunk를 지나치게 작게 나누면 검색 자체는 세밀해질 수 있다.하지만 하나의 의미가 여러 Chunk로 잘리면서 문맥이 손실될 수 있다. 예를 들어 다음 문장이 있다고 하자.사용자가 비밀번호를 5회 이상 잘못 입력하면계정이 30분 동안 잠긴다 이.. 2026. 10. 8.
[웹 지식] 브라우저는 어떻게 화면을 그릴까? DOM과 Virtual DOM 동작 원리 사용자가 웹사이트에 접속하면 Browser는 Server로부터 HTML, CSS, JavaScript 등의 리소스를 받아 화면을 렌더링한다. 전체적인 흐름은 다음과 같다. DOM(Document Object Model): HTML 문서를 Browser가 객체 기반의 Tree 구조로 표현한 모델 예를 들어 다음과 같은 HTML이 있다. Hello Go for IT Browser는 이를 다음과 같은 DOM Tree로 표현한다.Document└─ html └─ body ├─ h1 │ └─ Hello └─ p └─ Go for IT JavaScript는 DOM API를 이용해 HTML 요소를 조회하거나 변경할 수 있다.const title = docume.. 2026. 10. 7.
[컴퓨터 네트워크] 비밀번호 해싱 알아보기 - Salt, bcrypt / scrypt / Argon2 https://claremont.tistory.com/entry/%EC%BB%B4%ED%93%A8%ED%84%B0-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EB%8C%80%EC%B9%AD%ED%82%A4%EC%99%80-%EB%B9%84%EB%8C%80%EC%B9%AD%ED%82%A4-%EC%95%94%ED%98%B8%ED%99%94%EB%9E%80-%EA%B3%B5%EA%B0%9C%ED%82%A4-%EA%B0%9C%EC%9D%B8%ED%82%A4-Hash-%EC%A0%84%EC%9E%90%EC%84%9C%EB%AA%85%EA%B9%8C%EC%A7%80 [컴퓨터 네트워크] 대칭키와 비대칭키 암호화란? 공개키, 개인키, Hash, 전자서명까지HTTPS를 이해하려면 먼저 암호화의 .. 2026. 9. 20.
[컴퓨터 네트워크] HTTPS 동작 원리 - TLS Handshake, 인증서, CA HTTP는 데이터를 평문으로 주고받기 때문에 중간에서 내용을 탈취하거나 변조할 위험이 있다.HTTPS는 이러한 문제를 해결하기 위해 HTTP에 TLS를 적용한 통신 방식이다.구분HTTPHTTPS암호화XO기본 Port80443데이터 보호평문 전송TLS로 암호화서버 인증X인증서 사용 HTTPS는 크게 다음 세 가지를 제공한다기밀성→ 통신 내용을 제3자가 읽기 어렵게 함무결성→ 데이터가 중간에서 변조되었는지 확인인증→ 접속한 Server가 실제 해당 도메인의 Server인지 검증 SSL/TLS란 TLS(Transport Layer Security): 네트워크 통신을 안전하게 보호하기 위한 보안 프로토콜과거에는 SSL(Secure Sockets Layer)이 사용되었지만 현재 SSL은 더 이상 사용하지 않.. 2026. 9. 20.
[컴퓨터 네트워크] 대칭키와 비대칭키 암호화란? 공개키, 개인키, Hash, 전자서명까지 HTTPS를 이해하려면 먼저 암호화의 기본 개념부터 알아야 한다.핵심은 크게 세 가지, 대칭키 암호화 / 비대칭키 암호화 / Hash이 세 개념이 서로 다른 역할을 하고, 실제 HTTPS에서는 이들을 조합해서 사용한다! 1. 대칭키 암호화: 암호화와 복호화에 같은 Key를 사용e.g. AES평문 ↓대칭키로 암호화 ↓암호문 ↓같은 대칭키로 복호화 ↓평문 장점은 매우 빠르다따라서 실제 데이터처럼 많은 양의 정보를 암호화할 때 적합하다! 하지만 문제가 하나 있다.Client와 Server가 같은 Key를 안전하게 공유해야 한다 Key가 유출되면 암호문도 복호화할 수 있기 때문이다..!2. 비대칭키 암호화: 암호화와 복호화에 서로 다른 두 Key를 사용e.g. RSA, ECC 계열공개 키(Public Key).. 2026. 9. 20.
[컴퓨터 네트워크] HTTP/1.0부터 HTTP/3까지 (HOL Blocking, Multiplexing, QUIC) HTTP의 변천사는 큰 흐름만 보면 다음과 같다.HTTP/1.0→ Connection 재사용 문제HTTP/1.1→ Persistent ConnectionHTTP/2→ MultiplexingHTTP/3→ QUIC HTTP/1.0HTTP/1.0에서는 기본적으로 하나의 요청을 처리할 때마다 TCP Connection을 새로 만드는 방식이었다.TCP Connection 생성 ↓HTTP Request ↓HTTP Response ↓Connection 종료 문제는 웹 페이지 하나에도 여러 Resource가 필요하다는 것이다.HTMLCSSJavaScriptImage... Resource마다 TCP Connection을 새로 만들면 매번 3-Way Handshake 비용이 발생한다.. 2026. 9. 13.