전체 글 89

[Docker] 자주 사용하는 도커/리눅스 명령어 정리

매번 도커 명령어를 까먹어서 자주 사용하거나 알아두면 유용한 명령어들을 이번에 한번 정리해보고자 합니다. 1. 이미지 관련 명령어도커 이미지는 컨테이너를 생성하기 위한 설계도와 같습니다. 애플리케이션과 필요한 모든 종속성, 라이브러리, 환경 설정 등을 포함하고 있습니다. 효율적인 컨테이너 운영을 위해서는 이러한 이미지를 효과적으로 관리하는 것이 중요합니다. 1. docker pull NAME[:TAG|@DIGEST]기능: 도커 레지스트리(기본: Docker Hub)에서 이미지를 다운로드합니다.주요 사용법: 이미지 이름(NAME)은 필수입니다. 특정 버전(TAG 또는 DIGEST)을 지정할 수 있으며, 생략 시 latest 태그가 사용됩니다.예시:docker pull nginx (최신 Nginx 이미지 ..

개발/Docker 2025.04.21

[RAG] PDF 테이블 추출 시 선 인식 문제 해결 방법(커스터마이징 feat. Pdfplumber)

0. 개요이전 PDF Loader 관련해서 글을 작성한 적이 있는데, 따로 댓글이나 메일로 질문을 남겨주시는 분들이 있으시더라구요. 그래서 아래 PDF Loader 비교 글에서 사용한 예시 PDF에서 발생한 문제를 어떤 식으로 해결할 수 있는지 예시를 작성해서 전달드리고자 이 글을 작성하게 됐습니다.https://mz-moonzoo.tistory.com/86https://mz-moonzoo.tistory.com/73 [RAG] Document Loader 비교 (feat. PDF, Markdown 변환)0. Document Loader (PDF)RAG를 하려면 수 많은 Raw Data들을 파싱해야 합니다.Raw Data들 중에서도 가장 범용적으로 사용되는 파일은 PDF이기 때문에, 이번 글에서는 PDF ..

RAG 2025.04.21

[Docker] Docker 컨테이너 내부에서 Jupyter Lab 설정 및 실행 : 버전 관리와 정확한 검증을 위한 환경 구축

오랜만에 Docker 관련 글을 작성하네요 ㅋㅋㅋ.그럼 Docker 컨테이너 내부에 Jupyter Lab 개발 환경을 구축하고 활용하는 방법에 대해 자세히 알아보겠습니다. 이 방식의 핵심 목표는 실제 서비스 환경과 동일한 Docker 이미지 및 라이브러리 버전(NumPy, PyTorch, TensorFlow 등) 위에서 개발 및 실험(학습, 추론 등)을 진행함으로써, 모델 검증의 정확성과 신뢰도를 높이는 데 있습니다. 개발 환경과 실제 서비스 환경 간의 미묘한 버전 차이는 예상치 못한 오류나 성능 저하를 야기할 수 있습니다. 도커 외부에서 Jupyter lab을 실행하지 않고 Docker 내부에서 실행하면 이러한 문제를 원천적으로 방지하고, 격리되고 재현 가능한 환경에서 효율적으로 작업할 수 있습니다. ..

개발/Docker 2025.04.21

[LLM] Python LLM 출력 JSON 파싱 팁. (Langchain- JsonOutputParser, RunnableLambda 활용)

LLM을 활용하여 개발하다 보면, 구조화된 데이터를 얻기 위해 출력 형식을 JSON으로 지정하는 경우가 많습니다.저 역시 LLM에게 특정 역할을 부여하고 그 결과를 JSON으로 받아 후처리하는 작업을 진행하고 있었는데요, 예상치 못한 JSONDecodeError 때문에 코드를 여러번 수정한 경험이 있었습니다. 오늘은 제가 겪었던 문제 상황과 이를 해결하기 위해 여러 차례 시도했던 과정, 그리고 최종적으로 LangChain의 RunnableLambda와 개선된 사용자 정의 함수(JSON Parser)를 활용하여 파싱 에러 0%를 달성한 과정을 공유하며, LLM의 JSON 출력 오류를 극복하는 팁을 나누고자 합니다. 1. 처음 : 프롬프트로 JSON 출력 요청하기처음에는 간단하게 생각했습니다. LLM에게 원..

DL/LLM 2025.04.18

[LLM] Google Prompt Engineering Whiterpapers - 구글 프롬프트 엔지니어링 백서 요약

Google에서 API 사용자를 중심으로 프롬프트 엔지니어링 에 초점을 맞춘 68페이지 분량의 백서를 최근 공개했는데 , 구조, 형식, 구성 설정, 그리고 실제 사례에 대해 심도 있게 다루고 있습니다. 여러번 수정하여 최신 버전을 공개한 것 같네요. 이미 프롬프트 엔지니어링에 대한 지식을 갖고 있고, 경험도 많으신 분들은 가볍게 읽고 넘어가셔도 도움이 될 듯합니다.LLM에 대해 처음부터 공부해보시거나, 프롬프트 엔지니어링에 관심이 있으신 분들은 기본적으로 읽고 시작하시면 좋을 것 같습니다. 저도 일부 처음보는 방법도 있어서 도움이 조금 될 듯하네요! 자료 링크 같이 첨부드립니다.https://drive.google.com/file/d/1AbaBYbEa_EbPelsT40-vj64L-2IwUJHy/view ..

DL/LLM 2025.04.14

[RAG]외부 지식을 LLM에 통합하는 KBLaM - Knowledge Base Augmented Language Models

KBLaMhttps://arxiv.org/abs/2410.10450 KBLaM: Knowledge Base augmented Language ModelIn this paper, we propose Knowledge Base augmented Language Model (KBLaM), a new method for augmenting Large Language Models (LLMs) with external knowledge. KBLaM works with a knowledge base (KB) constructed from a corpus of documents, transforming each piarxiv.org  2025년 3월18일 마이크로소프트에서, LLM에 지식을 직접 주입하는 새로운 방식(..

RAG 2025.04.14

[RAG] Upstage Document Parse 리뷰 및 테스트

제가 예전에 작성한 글에 이번 글에서 언급되는 것들이 있어서 링크 함께 전달드리겠습니다. Document Layout Analysis 글https://mz-moonzoo.tistory.com/55 [Computer Vision] Document Layout Analysis (feat. OCR)1. Document Layout Analysis? 사람이 문서를 읽을 때에는 어떤 부분이 제목인지, 표는 어떻게 읽어야하는지, 이미지 아래에 작게 들어간 글자는 캡션이라고 이해하는 것 등 문서 내 정보에 대해 자연스mz-moonzoo.tistory.com  PDFLoader 비교글https://mz-moonzoo.tistory.com/73 [RAG] Document Loader 비교 (feat. PDF, Markd..

RAG 2025.03.18

[RAG] TextSplitter 비교 및 중요성 (feat. CharacterTextSplitter, RecursiveCharacterText

0. TextSplitterRAG는 대규모 언어 모델(LLM)이 외부 지식을 사용하여 응답을 생성하는 구조입니다. 이때, 검색(retrieval) 단계에서 문서를 효율적으로 검색하기 위해 문서를 적절한 크기로 분할해야 합니다.이 때, 문서를 적절하게 분할하는 기술을 "Text Splitter"라고 합니다. 그럼 효율적인 검색을 위해 문서를 적절한 크기로 분할해야 하는 이유가 뭘까요? 0_1. 효율적인 정보 검색길이가 긴 문서를 LLM 으로 입력하게 되면 비용이 많이 발생하고, 많은 정보속에서 원하는 정보를 찾는 것을 어려워 합니다. 이러한 문제가 할루시네이션으로 이어지기도 하기 때문에 문서를 분할하는 것이 효율적입니다. 0_2. 질문-응답 정확도 향상TextSplitter가 적절히 분할한 텍스트 청크는..

RAG 2025.02.06

[Environment] NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver 에러 해결 방법

상황 테스트 환경으로 Titan XP가 달린 우분투 서버를 사용하고 있는데, 이 서버에서는 드라이버 문제가 종종 발생해서 nvidia-smi를 입력하면 "NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver." 에러가 출력됩니다. 오류 발생 원인해당 에러는 nvidia 드라이버를 사용하는 딥러닝 프로세스를 종료하지 않은 채로 서버의 전원이 꺼지거나 시스템 종료하는 경우에 많이 발생한다고 하더라구요. 그랬었나 싶기도하고...ㅋㅋㅋ 이외에도 다음과 같은 문제로 인해 발생할 수도 있습니다.드라이버 미설치 또는 손상: NVIDIA 드라이버가 시스템에 설치되지 않았거나 손상.드라이버 버전 불일치: 설치된 드라이버 버전이 현재 사용..

Environment 2025.02.05

[AI] 딥시크 이후, 2025년 1~2월 최신 LLM 이슈 요약 (Gemini, DeepSeek, ChatGPT, Qwen)

개요 딥시크(DeepSeek) R1 모델은 최근 인공지능 업계에 큰 파장을 일으킨 AI 모델입니다. 기존 모델 대비 90~95%의 비용 절감과 뛰어난 추론 능력을 자랑하며, 특히 저가 저사양 GPU를 사용하여 오픈AI의 GPT-3와 유사한 성능을 달성했다는 점에서 주목받고 있습니다. 딥시크는 600만 달러 미만의 비용을 써서 수십억 달러를 사용한 오픈AI에 필적하는 모델을 냈다는 분석에 AI업계에 비상이 걸렸습니다.이에 OpenAI, Qwen 여러 기업들이 급격하게 새로운 모델과 기능을 공개하고 있습니다.트렌드 팔로잉을 하면서 직접 찾은 1 ~ 2월 사이에 LLM 관련 이슈를 간단하게 정리해봤습니다.  Issue1. Google - [Gemini] 2024/12/11Gemini 1.5 pro Deep R..

AI Tech 2025.02.05