-
AI 개발자가 알아야 할 비동기 프로그래밍 2부
동기와 비동기의 진짜 차이 — async는 동시에 실행한다는 뜻일까? 1부에서는 AI 서비스를 개발할 때 왜 비동기 프로그래밍에 대한 이해가 중요한지 살펴봤다. 특히 FastAPI API Server가 하는 일을 보면 CPU로 직접 계산하는 시간보다 다른 시스템의 응답을 기다리는 시간이 상당히 많다는 이야기를 했다. 예를 들어 RAG 서비스 하나만 보더라도 다음과 같은 작업이 반복된다. 그리고 비동기의 핵심 아이디어를…
-
FastAPI와 Worker를 Redis Streams로 연결하기 — 1부: XADD로 Long Task 넘기기

FastAPI로 API 서버를 개발하다 보면 처음에는 대부분의 요청을 API 서버 안에서 처리하게 된다. 예를 들어 일반적인 조회 API라면 구조는 매우 단순하다. 데이터베이스에서 데이터를 조회하고 약간의 비즈니스 로직을 수행한 뒤 결과를 반환한다. 이런 요청은 대부분 수십 ms에서 수백 ms 정도면 끝난다. 그런데 최근 RAG나 LLM 기반 서비스를 개발하다 보면 조금 다른 종류의 API를 만나게 된다. 바로…
-
AI 서비스는 왜 개발할 때는 잘 되는데 운영에 가면 터질까?

AI 개발자가 알아야 할 비동기 프로그래밍 1부 AI 서비스를 개발하는 일은 예전보다 훨씬 쉬워졌다. Python으로 FastAPI API 서버를 만들고, LLM API를 호출하고, Vector DB를 연결하면 생각보다 빠르게 서비스를 만들 수 있다. 예를 들어 간단한 RAG 서비스를 만든다고 해보자. 개발 환경에서 테스트해 보면 꽤 잘 동작한다. 질문을 입력한다. 몇 초 기다린다. 답변이 나온다. “잘 되는데?” 그런데…
-
Pixel RAG 3부(Part2) — ColPali·ColQwen과 Qdrant로 구현하는 Visual Document Retrieval

18. Pixel RAG에서 GPU는 필요한가? 여기서 현실적인 문제가 나온다. Text Embedding Model은 비교적 가볍다. 하지만 Visual Document Retriever는 Vision-Language Model을 기반으로 하기 때문에 훨씬 무겁다. 특히 문서 적재 시 다음 과정이 필요하다. 문서가 1,000개이고 평균 100페이지라면 처리해야 할 페이지는 100,000장이다. CPU만으로도 기술적으로 처리할 수 있는 경우가 있지만, 실제 서비스에서는 처리 시간이 문제가 될 가능성이 높다.…
-
Pixel RAG 3부(Part1) — ColPali·ColQwen과 Qdrant로 구현하는 Visual Document Retrieval

1부에서는 Pixel RAG가 무엇인지 알아봤고, 2부에서는 기존 Text RAG 시스템에 Pixel RAG를 추가하면 아키텍처가 어떻게 달라지는지 살펴봤다. 이번에는 한 단계 더 들어가 보자. 실제로 Pixel RAG의 Visual Retrieval은 어떻게 구현할까? 여기서 중요한 기술들이 등장한다. 처음 보면 꽤 복잡해 보인다. 하지만 전체 흐름부터 보면 의외로 단순하다. 문제는 중간에 있는 Visual Embedding이 일반적인 Text Embedding과 조금 다르다는…
-
Pixel RAG 2부 — 기존 RAG 시스템에 Pixel RAG를 붙이면 무엇이 달라질까?

1부에서 Pixel RAG의 기본 개념을 살펴봤다면, 이번에는 조금 더 실전적인 이야기를 해보자. 이미 운영 중인 RAG 시스템에 Pixel RAG를 추가하려면 무엇을 바꿔야 할까? 결론부터 말하면 기존 RAG를 버리고 Pixel RAG로 다시 만드는 것은 좋은 접근이 아니다. 오히려 현실적인 구조는 다음과 같다. Text RAG + Pixel RAG = Hybrid Document RAG 텍스트 검색이 잘하는 것은 그대로…
-
Pixel RAG 1부 — RAG가 문서를 ‘읽는’ 방식이 달라지고 있다.

RAG(Retrieval-Augmented Generation)는 이제 생성형 AI 서비스를 만들 때 가장 많이 사용되는 아키텍처 중 하나가 되었다. 기업 내부 문서를 검색하거나, 매뉴얼을 기반으로 질문에 답하거나, 수많은 보고서에서 필요한 정보를 찾아주는 AI 서비스를 생각해보자. 일반적인 RAG 시스템은 대략 다음과 같이 동작한다. 그런데 여기에는 한 가지 중요한 전제가 숨어 있다. 문서의 의미를 텍스트로 변환할 수 있다. 과연 항상 그럴까?…