전체 글(75)
-
Docker - sudo 권한 없이 사용하는 법
# 1. docker 그룹 생성 (이미 존재한다는 메시지가 떠도 괜찮습니다)sudo groupadd docker# 2. 현재 사용자($USER)를 docker 그룹에 추가sudo usermod -aG docker $USER# 3. 현재 셸 세션에 그룹 변경 사항 적용newgrp docker# 4. 적용 확인docker ps
2026.01.12 -
[I-bricks - 비공개 프로젝트 a-2] LangGraph complile graph exception 디버깅
랭그래프가 아직 온전한 프레임워크가 아니란 거를 이번 프로젝트를 통해 뼈저리게 느끼고 있다 이번 이슈는 직접적인 원인이 랭그래프에 있지 않았지만 랭그래프의 구조로인해 디버깅 시간이 지체된 부분이 있어 남기려고한다. 1. 랭그래프의 사용 방식랭그래프는 Node와 Edge로 만든 메소드들을 엮어 하나의 workflow를 가진 Graph로 만든다. 이 메소드들을 엮어 만든 workflow의 결과물인 Graph는 각 노드와 엣지의 관계와 순서를 정의하고 이를 컴파일하므로써 완성된다. 즉 컴파일 당시의 상태에 고정된다는 것이다.이는 수많은 관계를 빠르게 동작시키는 성능 최적화의 일원이자 랭그래프의 장점으로 유명하다. 하지만 이로인한 단점 또한 뚜렷했다.FastAPI의 경우 비동기로 사용할 경우 랭그래프의 특정 인..
2025.12.30 -
[I-bricks - 비공개 프로젝트 a-1] LangGraph Redis CheckPointer Error Swallowing
FastAPI + LangGraph 조합으로 AI Agent 서버 구축을 맡았다. 랭그래프로 상태관리를 하면서 체크 포인터를 골라야했는데 자사 서비스가 많은 컨텍스트를 가지고 기능이 동작하기 때문에 빠른 속도가 필요했으며 과거이력을 대상으로 재요청을 하는경우가 있어서 인메모리가 아닌 물리적인 저장이되는 체크포인터를 골라야했다. 이 두가지 사항에 따라 속도가 빠르고 물리적인 저장소에 저장도 가능하고 랭그래프에서 지원하는 Redis를 선정했다.( 스트리밍에서 체크포인터를 동작시키기위해서 일반 Redis가 아닌 redis-stack을 써야했다) 문제는 운영을 하면서 발생했는데 과거의 이력을 추적하기위해 하나 채팅 흐름에서는 하나의 thread_id를 부여했는데 이게 많이 쌓이게 되면 redis에서 대량의 텍스..
2025.12.26 -
[FastAPI] AI Agent 용 서버 세팅 (2) - 로깅
서버 생성이 완료되었다면 다음은 로깅을 설정해보자 1. 로깅 설정 파일 생성-> ./config/log_config.py 생성 2. 로깅설정import loggingfrom logging.handlers import RotatingFileHandlerimport osimport sys# 로그 디렉토리 생성log_dir = "logs"if not os.path.exists(log_dir): os.makedirs(log_dir)LOGGING_CONFIG = { 'version': 1, 'disable_existing_loggers': False, # 기존 로거 비활성화 여부 -> True: 모든 로거 비활성화 후 새로운 설정만 적용 | False: 기존 로거 설정 덮어쓰지않고 통합함 '..
2025.12.26 -
[uv] 패키지 관리
최근에 conda나 venv 같은 가상환경만으로 python의 의존성을 관리하는 것을 넘어 통합적인 패키지 관리하는 툴이 나왔다.uv라고 하는 패키지 관리 툴인데 이미 python 생태계에서 일반적으로 사용돼 가고 있다.이 uv를 어떻게 쓰는지 간단하게 포스팅하려고 한다 1. uv 설치# curl 로 설치curl -LsSf https://astral.sh/uv/install.sh | sh# brew로 설치brew install uv 2. uv 업데이트uv self update 3.가상환경 생성uv venv [가상환경이름] [옵션: --python 3.12] 4. 프로젝트 생성uv init [프로젝트 이름] 5. 의존성 추가: 기존 pip install 과정uv add [추가하려는 의존성]# 예시uv ad..
2025.09.14 -
[FastAPI] AI Agent 용 서버 세팅 (1)
업무상 LLM, 객체 인식 등 AI 모델을 서빙하고 컨트롤할 서버를 설계 및 구축할 일이 많았는데 그동안 제대로 정리를 해보지는 못해서 이번 AI 해커톤에 참여하는 김에 차근차근 정리하려 한다. 왜? FastAPI 인가? FastAPI를 고른 이유는 간단하다 대부분의 AI들은 cuda(NVIDIA GPU 표준)로 GPU를 제어하고 있다. 그리고 이 CUDA와 최적화가 잘이루어지고 각종 편의 기능을 제공하는 Pytorch를 많이 사용한다. Pytorch를 사용하려면 C++과 Python 중에 골라야하는데 C++은 높은 성능을 자랑하지만 개발난이도가 높기 때문에 고도화에 들어서기 전의 대부분의 서비스들은 대부분 파이썬을 채택한다. 물론 node.js로 구축하는 경우도 많이 볼수 있다. 그럼에도 파이썬을 ..
2025.08.31