본문 바로가기

Python135

[Python] os.environ 으로 환경변수 관리하기 안녕하세요오늘은 os.environ 활용해서 환경변수를 안전하게 관리하는 방법에 대해 알아보도록 하겠습니다. 환경 변수란,운영체제에 저장된 설정값으로비밀번호, API 키, 데이터베이스 주소처럼 보안상 중요한 정보를 코드에 직접 적지 않고 외부에서 불러올 수 있게 해주는 방법입니다. api_key = "sk-xxxxxx" 와 같은 방법 대신, 환경변수로 저장해두고api_key = os.environ.get("API_KEY") 처럼 불러오게 되면, 보안과 관리가 훨씬 안전해집니다. 전체 코드입니다. main.pyimport os# 환경 변수 설정 (테스트용)# 실제 운영 환경에서는 터미널이나 .env 파일에서 설정하는 게 일반적입니다.os.environ["API_KEY"] = "my_secret_api_.. 2025. 11. 4.
[Python] pathlib 사용해서 파일과 폴더 다루기 안녕하세요오늘은 pathlib 라이브러리 사용해서 파일과 폴더 다루는 법에 대해 알아보도록 하겠습니다. pathlib 은 파이썬 3.4부터 추가된 표준 라이브러리로, 파일과 디렉토리 경로를 객체처럼 다룰 수 있게 해주는 모듈입니다. 전체 코드입니다. main.pyfrom pathlib import Path# 1. 현재 경로 확인하기p = Path(".")print("현재 경로:", p.resolve())# 2. 특정 파일/폴더 존재 여부print("demo.txt 존재하나요?", (p / "demo.txt").exists())# 3. 새 폴더 생성하기data_dir = Path("data")data_dir.mkdir(exist_ok=True)print("폴더 생성 완료:", data_dir.resolve.. 2025. 10. 28.
[Python] shutil 사용해서 파일 복사, 이동, 압축 하기 안녕하세요 shutil (shell utillities)은파일을 복사하거나 폴더를 압축하는 등의 작업을 쉽게 해주는 파이썬 내장 모듈입니다. 터미널에서, cp, mv, rm, zip 등 명령어를 직접 치는 대신,파이썬 코드로 자동화할 수 있는 도구입니다. 전체 코드입니다. main.pyimport shutilfrom pathlib import Path# 테스트용 디렉토리 생성base = Path("demo_folder")base.mkdir(exist_ok=True)(base / "test.txt").write_text("이건 shutil 테스트 파일입니다.", encoding="utf-8")print("테스트 파일 생성 완료:", (base / "test.txt").resolve())# 파일 복사하기sh.. 2025. 10. 21.
[Python] argparse 로 CLI 프로그램 만들기 안녕하세요 오늘은 argparse 사용하여 CLI 환경에서 프로그램 구동하는 방법을 알아보도록 하겠습니다. argparse는 파이썬 표준 라이브러리로,터미널(명령줄)에서 실행할 때 인자를 입력받는 도구입니다. 이 argparse 사용하여 간단한 인사 프로그램 만들어 보도록 하겠습니다. 전체 코드입니다. main.py import argparse# 1. ArgumentParser 객체 생성parser = argparse.ArgumentParser( description="간단한 인사 프로그램입니다.")# 2. 명령줄 옵션 추가 (--옵션명, 데이터 타입, 설명 등)parser.add_argument("--name", required=True, help="이름을 입력하세요.")parser.add_arg.. 2025. 10. 14.
[Python] 이미지 임베딩으로 텍스트↔이미지 검색하기 (CLIP) 안녕하세요오늘은 이미지 임베딩을 이용해텍스트로 가장 잘 맞는 이미지를 찾거나(텍스트 → 이미지)이미지와 가장 비슷한 설명 문장을 찾는(이미지 → 텍스트)미니 검색기를 만들어보겠습니다. 모델은 CLIP(Contrastive Language–Image Pretraining) 계열을 씁니다. 이미지 임베딩이란?이미지를 고정 길이의 벡터(예: 512차원)로 변환한 값입니다.비슷한 의미의 이미지·텍스트는 벡터 공간에서 가깝게 위치하므로, 코사인 유사도로 매칭할 수 있어요.여기서는 멀티모달 임베딩을 지원하는 CLIP을 사용해, 이미지와 텍스트를 같은 공간에 매핑합니다. 1. 환경 준비pip install sentence-transformers torch torchvision pillow numpy# (선택) fa.. 2025. 10. 2.
[Python] 간단히 구현하는 AI 이미지 캡셔닝 (Image Captioning) 안녕하세요이번 글에서는 파이썬 + Hugging Face Transformers 라이브러리를 활용해서,이미지를 입력하면 자동으로 설명 문장을 만들어주는 이미지 캡셔닝(Image Captioning) 예제를 다뤄보겠습니다. 1. 이미지 캡셔닝(Image Captioning)이란?이미지 캡셔닝은 간단히 말해 이미지를 입력하면 자연어 문장으로 설명을 생성하는 기술입니다.말그대로 특정 이미지에 대한 캡션을 작성하는 기술입니다. 입력: 강아지 사진출력: "a dog laying on the grass" (잔디에 누워있는 강아지)이 기술은 시각장애인 보조 서비스, 전자상거래 이미지 검색, 사진 자동 태깅 같은 실생활에도 널리 응용됩니다. 2. 환경 준비먼저 필요한 라이브러리를 설치합니다. pip install t.. 2025. 10. 1.
[Python] collections.Counter 로 데이터 갯수 세기 안녕하세요오늘은 collections.Counter 로 데이터 갯수 세는 방법에 대해 알아보도록 하겠습니다.데이터 분석, 로그 처리, 텍스트 마이닝을 하다 보면"이 값이 몇 번 나왔는지" 빈도수를 알고 싶을 때가 많습니다.파이썬의 collections 모듈 안에 있는 Counter 클래스를 사용하면이 작업을 아주 간단하게 처리할 수 있습니다. 전체 코드입니다. main.pyfrom collections import Counter# 1. 리스트에서 카운트하기fruits = ["사과", "바나나", "사과", "포도", "바나나", "사과"]# Counter 객체 생성 (리스트의 요소 개수를 자동으로 세어줌)fruit_counter = Counter(fruits)print("=== 과일 개수 세기 ===").. 2025. 9. 30.
[Python] 벡터 DB로 문장 검색하기 (Faiss 활용) 안녕하세요오늘은 요즘 AI 서비스에서 빠질 수 없는 두 가지 개념인 임베딩 데이터와 벡터 DB를 소개하고,간단한 실습 예제로 직접 검색기를 만들어보겠습니다. 임베딩 데이터란?임베딩(Embedding)은 텍스트, 이미지, 오디오 같은 데이터를 숫자 벡터로 바꾸는 과정입니다.예를 들어,"강아지" → [0.12, -0.98, 0.55, ...]"고양이" → [0.10, -0.95, 0.57, ...]이렇게 표현되면, 의미적으로 비슷한 데이터일수록 벡터 공간에서 가까운 위치에 있게 됩니다.따라서, 문장 유사도 계산, 검색, 추천 등에 매우 유용합니다. 벡터 DB란?벡터 DB(Vector Database)는 이렇게 만들어진 임베딩 데이터를 저장하고,특정 쿼리와 가장 유사한 벡터를 빠르게 찾아주는 데이터베이스입니다.. 2025. 9. 29.
[Python] RAG(Retrieval-Augmented Generation) 이해하기 안녕하세요 오늘은 요즘 AI 분야에서 중요한 개념 중 하나인 RAG(Retrieval-Augmented Generation) 에 대해 소개하고,간단한 예제를 함께 살펴보겠습니다. RAG란 무엇일까?LLM(대규모 언어 모델)은 방대한 데이터를 학습했지만, 실시간 최신 정보나 특정 도메인 데이터에 대해 정확하게 답하지 못할 때가 많습니다.이때 필요한 것이 바로 RAG입니다.Retrieval(검색) : 데이터베이스나 문서 저장소에서 관련 정보를 찾아옵니다.Augmented(보강) : 검색된 정보를 모델 입력에 함께 넣어줍니다.Generation(생성) : LLM이 그 정보를 참고해 더 정확하고 맥락 있는 답변을 생성합니다.즉, RAG는 검색 + 생성을 결합해 지식 있는 AI 답변을 만드는 기술입니다. RAG의.. 2025. 9. 26.