반응형

전체 글 516

파이썬 Gemini 모델 API 사용 방법 정리(텍스트, 이미지 Input)

안녕하세요.이번 시간에는 Python에서 Gemini 모델을 API를 통해 호출하는 방법에 대하여쉽게 정리해보도록 하겠습니다.  API 키 발급먼저, 구글에서 제공하는 Gemini 모델을 사용하기 위한 API 키를 발급해야 합니다. 발급은 아래의 링크에서 가능하며, 결제 수단 등록 없이 무료 계정으로도 일정량 사용이 가능하나,절대로 키 유출이 되지 않도록 반드시 유의해주세요.https://aistudio.google.com/app/apikey?hl=ko   모듈 설치 및 사용 가능 모델 확인Gemini 기능 사용을 위한 google-generativeai 모듈 설치가 필요합니다.설치 명령어는 다음과 같습니다.!pip install -q -U google-generativeai 이후, 위에서 발급 받았던 ..

Python/NLP Code 22:46:54

RuntimeError: p.attn_bias_ptr is not correctly aligned 오류 해결 방법

오류 발생 개요HuggingFace에서 gemma3 모델을 다운받아 image input을 포함하여inference를 시도하던 도중 다음과 같은 에러가 발생하였습니다. File "lib/python3.12/site-packages/transformers/models/gemma3/modeling_gemma3.py", line 443, in forward hidden_states, self_attn_weights = self.self_attn( ^^^^^^^^^^^^^^^ File "lib/python3.12/site-packages/torch/nn/modules/module.py", line 1739, in _wrapped_cal..

Python/Debugging 2025.03.30

파이썬에서 이미지 간 유사도 지표 LPIPS 계산 방법

안녕하세요.이번 시간에는 Python에서 대표적인 이미지 간 유사도 지표 중에 하나인 LPIPS를계산하는 예제에 대해서 다루어보도록 하겠습니다. 먼저, 필요한 라이브러리 설치를 진행해줍시다.!pip install lpips!pip install torchvision 이후, 두 이미지 파일을 불러와 전처리하고 LPIPS 값을 계산하는 코드는 아래와 같습니다.import lpipsfrom PIL import Imagefrom torchvision import transforms# 이미지 로드 및 전처리 함수def load_image(image_path): transform = transforms.Compose([ transforms.Resize((256, 256)), # LPIPS는 이미..

Python/Vision Code 2025.03.25

FastAPI에서 pdf 파일 뷰어를 띄우는 방법

안녕하세요.이번 시간에는 FastAPI에서 백엔드 서버를 구현할 때,서버 내 저장된 pdf 파일의 뷰어를 프론트엔드에서 띄워줄 수 있도록 하는 방법에 대하여간략하게 코드를 정리해보도록 하겠습니다.  FastAPI 코드 설정FastAPI에서 설정해야 할 작업은 간단합니다.다음과 같이 pdf 파일이 저장된 디렉토리에 대하여 mount를 진행해주시면 됩니다.from fastapi import FastAPIfrom fastapi.staticfiles import StaticFilesapp = FastAPI()app.mount( "/uploads", StaticFiles(directory="uploads"), name="uploads") 위의 예시에서는 uploads라는 디렉토리 내에 보여주고 싶..

Python/Backend 2025.03.18

FastAPI 미들웨어(middleware) 선언 코드 예제

안녕하세요.이번 시간에는 FastAPI를 사용하면서 자주 활용되는 미들웨어에 대해 쉽게 설명해보고,예제 코드와 함께 선언 방법을 간단히 정리해 보겠습니다.  미들웨어란?middleware는 API 서버에 들어오는 모든 요청과 나가는 응답 사이에서공통 작업을 처리할 수 있도록 도와주는 작은 기능 모듈입니다.즉, 요청이 실제로 처리되기 전에 전처리를 하거나 또는클라이언트에게 응답을 보내기 전에 후처리를하는 역할을 합니다. 대표적인 사용 예시는 다음과 같습니다.요청이 들어올 때 / API 로직 처리 이후 로그를 남기는 경우API 함수의 소요 시간을 기록하는 경우유저별 Rate Limit를 설정하려는 경우  데코레이터 방식의 미들웨어가장 간단한 방법으로, 데코레이터를 사용해서 미들웨어 함수를 작성할 수 있습니다..

Python/Backend 2025.03.12

FastAPI에서 Form 데이터에 대한 무결성 검증 방법

안녕하세요.이번 시간에서는 fastapi에서 Form으로 input을 받는 경우,pydantic을 통한 데이터 무결성을 검증하는 방법을 살펴보도록 하겠습니다. request body로 json input을 받는 경우에는 다음과 같이 쉽게 무결성 구현이 가능합니다.from fastapi import FastAPIfrom pydantic import BaseModel, Field, EmailStrapp = FastAPI()class User(BaseModel): username: str = Field(..., min_length=3, max_length=50) password: str = Field(..., min_length=8) email: EmailStr is_active: boo..

Python/Backend 2025.03.07

JavaScript 이미지 파일 <-> base64 인코딩 및 디코딩 예제

안녕하세요.이번 시간에는 자바스크립트에서 이미지 파일을 base64로 인코딩하거나base64 인코딩을 다운받을 수 있는 파일로 디코딩하는 방법에 대해서간단한 예제로 다루어보도록 하겠습니다.  이미지 파일 -> base64 인코딩이미지 파일을 input으로 받아 base64로 인코딩하는 함수 예시는 다음과 같습니다.function convertImageToBase64(file) { return new Promise((resolve, reject) => { const reader = new FileReader(); reader.readAsDataURL(file); reader.onload = () => resolve(reader.result); reader.onerror = (erro..

파이썬 이미지 합치기 코드 예시(PIL 이용)

안녕하세요.이번 글에서는 Python에서 이미지끼리 붙이는 코드 예시를 다루어보도록 하겠습니다. 다음과 같은 이미지 두 장이 있다고 가정하겠습니다.(pixabay에서 다운 받은 이미지들입니다.) 이 사진 두 장을 가로 / 세로 방향으로 병합하는 코드를 각각 살펴보겠습니다.(이 글에서는 두 이미지의 크기가 같다고 가정합니다.)  1. 가로 방향 이미지 병합다음은 가로 방향으로 이미지를 합치는 코드 예시입니다. 만일, PIL 모듈 설치가 필요하다면 !pip install Pillow 명령어로 설치를 진행해주세요.from PIL import Image# 가로 방향으로 이미지를 붙이는 코드def concat_images_horizontally(img_path1, img_path2, output_path): ..

Python/Vision Code 2025.02.24

FastAPI 동기/비동기 설정 시 주의 사항

안녕하세요.이번 글에서는 FastAPI로 코드 작성 시sync/async 설정과 관련하여 유의해야할 사항을 정리해보겠습니다. 결론부터 말씀드리면"비동기 함수들로 올바르게 구성된 엔드포인트 함수는 async def로 작성하는 것이 좋지만,동기 함수로 실행해야 하는 경우라면 단순 def로 작성해야 한다." 입니다.  예시 코드다음과 같은 엔드포인트를 구성하는 함수가 있다고 가정하겠습니다.# 올바른 선언 예시: async def 내에 비동기 함수@app.get('/wait')async def example(): await asyncio.sleep(5) # 비동기 함수 return 0 이 경우는 비동기 함수로 구성된 올바른 async def 엔드포인트 함수 예시로5초 대기 후 응답을 반환하는 로직이 ..

Python/Backend 2025.02.17

파이썬으로 슬랙 DM을 보내는 방법

안녕하세요.이번 글에서는 Python에서 slack 개인 메시지를 전송하는 방법을 정리해보도록 하겠습니다.  슬랙앱 세팅이 방법을 위해서는 Slack bot 토큰(xoxb-로 시작)과권한 설정이 필요한데요. 이 과정이 필요하신 분들은 아래의 포스팅을 참고하여 세팅해주시면 됩니다. 슬랙앱(Slack App) 생성 설정 방법 완벽 가이드Slack에서는 슬랙앱을 만들어 워크스페이스 내에서 원하는대로 여러 기능을 수행하는 봇을 운영할 수 있는 기능을 제공합니다. 이를 위하여 슬랙앱을 처음에 만들 때, 권한 등 여러 가지 항목에jimmy-ai.tistory.com slack DM을 보내기 위하여 필요한 권한의 목록은 다음과 같습니다.# 필수im:writechat:write# 커스텀할 기능에 따라 필요im:read..

Python/Slack API 2025.02.11
반응형