한빛미디어 서평단 활동을 위해서 책을 협찬 받아 작성된 서평입니다. 요즘 LLM을 활용한 서비스가 정말 많아졌다. ChatGPT를 쓰는 것을 넘어, RAG를 붙이고, 메모리를 설계하고, 에이전트를 만들고, 운영까지 고민하는 단계로 넘어가고 있다.이 책은 바로 그 지점에서 등장한다.이 책은 프롬프트를 잘 쓰는 법이 아니라, LLM이 제대로 사고하도록 “환경”을 설계하는 방법을 다루는 책이다. 📚 책의 핵심 메시지이 책의 중심은 하나다.👉 모델이 올바르게 사고하도록 ‘환경’을 설계하는 것 프롬프트 엔지니어링이 질문을 다듬는 기술이라면, 컨텍스트 엔지니어링은 모델이 사고할 수 있는 환경을 설계하는 기술에 가깝다.다루는 주요 내용은 다음과 같다.RAG (검색 증강 생성)CoT (Chain of Thoug..
Docker 컨테이너에서 로그를 확인하다 보면 시간이 UC T기준으로 찍히는 경우가 많은데 운영 환경이 한국(KST) 기준이라면 로그 분석 시 매번 시간 변환을 해야 해서 변경을 해 줘야만 한다. 먼저 컨테이너 내부에서 tzdata를 설치 해 줘야 한다.apt-get update && apt-get install -y tzdata위 명령어를 통해 설치를 하게 되면타임존을 선택할 수 있는 창이 뜬다. 여기서 사용하고자 하는 타임존 나라, 도시를 선택하면 설치가 완료 된다. ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime이후 위 명령어로 위에서 선택한 시간대 파일을 시스템 기본 시간 설정 파일로 연결해 주면 컨테이너 시스템 시간을 위에서 설정한 시간 기준으로 동..
rsync란Remote Sync(원격 동기화)의 약자로 이름처럼 한 위치(로컬/원격) 의 파일을 다른 위치로 동기화하는 데 쓰인다.로컬 시스템끼리 동기화하거나, 네트워크를 통해 원격 서버와 동기화할 수 있다.단순 복사가 아니라, 이미 있는 파일과 비교해서 변화된 부분만 전송하는 효율적인 방식이라 빠르고 대역폭 절약에 유리하다. rsync 장점존에 있는 파일과 비교해서 변경된 부분만 보내므로 전체를 매번 다시 복사하지 않는다로컬 ↔ 원격 어디든 사용 가능하다SSH 등 보안 연결로 파일 전송이 가능하다 rsync를 crontab에 등록하여 주기적으로 실행되도록 설정함으로써, 변경된 파일만 증분 전송하는 효율적인 백업 자동화 환경을 구축할 수 있다. 1. cron, rsync 설치 및 실행sudo apt up..
오늘날 데이터 기반의 의사결정과 서비스 향상을 위해 데이터 인프라 구축은 필수적이다. 그 중심에는 다양한 소스로부터 데이터를 수집하고 가공하여 목적지로 전달하는 데이터 파이프라인이 자리 잡고 있다. 1. 데이터 파이프라인이란?이는 통계 분석, 리포팅, 머신러닝 분석을 위한 필수적인 선행 과정이며, 대량의 데이터를 안정적으로 저장하고 관리하기 위한 빅데이터 아키텍처의 근간이라고 할 수 있다.◾ 주요 구성 요소와 단계일반적인 파이프라인은 데이터가 생성되는 소스(Sources), 이를 수집하고 변환하는 추출 및 변환(Ingestion & Transformation), 데이터를 보관하는 저장(Storage), 그리고 최종적으로 결과를 도출하는 분석 및 출력(Output) 단계로 구성된다. 소스는 MySQL 같은..
airflow를 사용하다가 DAG 코드와 설정값을 어떻게 분리해야 할지 고민이 될 때가 있었다.이런 고민을 해결하기 위해 airflow는 Variable이라는 기능을 제공하고 있다.https://airflow.apache.org/docs/apache-airflow/stable/core-concepts/variables.html Variables — Airflow 3.1.6 Documentation airflow.apache.org하지만 Variable은 잘 쓰면 약, 잘못 쓰면 장애의 원인이 되기도 하는 만큼 개념과 역할, 올바른 사용법 등을 숙지하고 있어야 한다. 1. Airflow에서 Variable이란airflow variable은 airflow metadata DB에 저장되는 전역 key-val..
Agent를 간단하게 정의하면 LLM 시스템을 '답변기'에서 '판단 시스템'으로 바꾸는 구조라고 할 수 있다. LLM을 활용한 시스템을 접하면 대부분 RAG를 접하게 되는데https://iambeginnerdeveloper.tistory.com/338 LLM | RAG(Retrieval-Augmented Generation)란?Large Language Model(LLM)은 뛰어난 생성 능력을 가졌지만 근거가 없는 내용을 “그럴듯하게” 만들어내는 Hallucination(환각) 문제가 존재한다.이 문제를 해결하고 기업 문서, PDF, 내부 지식 기반의 정확iambeginnerdeveloper.tistory.comRAG와 같은 문서를 검색해 답변 정확도를 높이는 방식은 직관적이고 효과적이다. 1. RAG..
https://school.programmers.co.kr/learn/courses/30/lessons/42626 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr처음에는 리스트를 sorting 해 준 뒤에 while문을 동작 시키려고 했으나 효율성 테스트에서 실패가 떴다.어떻게 시간복잡도를 개선할 수 있는지 찾아보니 heapq라는 아주 좋은 도구가 있었다. heapq는 이미 힙구조라고 가정한 리스트를 조작하는 함수 모음으로 일반 리스트를 힙 구조로 사용하기 위해서는 heapq를 import 해 준뒤 heapq.heapify(scoville)을 해 줘야만 이 리스트를 이제부터 최소 힙으로 쓰겠다고 정의하게 된다.i..
cloudflare에서 구매했던 도메인으로 사이드 프로젝트를 배포하기 위해 cloudflare tunnel을 사용해 내 fastapi를 연결했다. 아래 과정은 전부 fastapi 실행 경로에서 실행하였다. 1. Cloudflare Tunnel 설치curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb -o cloudflared.debsudo dpkg -i cloudflared.deb위 명령어를 이용해서 wsl2에서 cloudflare tunnel을 설치 해 준다. 2. 설치 확인cloudflared --version > cloudflared version 2025.11.1 (..
Omni-Scale Feature Learning for Person Re-Identification, Kaiyang Zhou et al.,2019 를 읽고 요약, 정리한 내용입니다.◼️ Abstract Instance-level의 recognition 문제로서, person 재식별(ReID)은 차별적인 특징에 의존하는데, 이는 서로 다른 spatial scales를 포착할 뿐만 아니라 multiple scale의 임의의 조합을 캡슐화한다.본 논문에서는 both homogeneous(동질의)와 heterogeneous(여러 다른 종류들로 이루어진) 스케일의 feature를 omni scale feature라고 부른다. 본 논문에서는 omni scale feature 학습을 위해 새로운 Deep ReID ..
최근에 사이드프로젝트를 진행하면서 내 pc를 서버로 해서 배포를 해 보려고 했는데 개인 pc ip 주소와 포트를 공개해야 한다는 부담이 있어서 방법을 찾던 중 cloudflare로 배포가 가능하다는 것을 알게 됐다.무료 플랜으로도 충분히 배포가 가능하다고 해서 먼저 cloudflare에서 도메인부터 구매했다. 1. 회원 가입https://www.cloudflare.com/ko-kr/products/registrar/ Cloudflare Registrar | 도메인 등록 및 갱신Cloudflare는 Cloudflare Registrar를 통해 간편한 원가 도메인 등록 및 갱신 서비스를 제공합니다. 추가 수수료 없이 도메인을 구매, 이전 및 관리하세요.www.cloudflare.com위 링크에서 회원가입을..