인공지능 개발자 수다(유튜브 바로가기) 자세히보기
반응형

전체 글 165

[FastAPI] 공통 코드(Common Code) 작성 방법 (12)

1. 공통 코드(Common Code)란?공통 코드는 반복되는 로직을 모듈화하여 여러 곳에서 재사용할 수 있도록 구성하는 것 ✅ 장점코드 중복 감소 → 동일한 로직을 여러 곳에서 사용 가능가독성 향상 → 핵심 로직만 남아 코드가 깔끔해짐유지보수 용이 → 하나의 파일에서 수정하면 모든 곳에 적용됨테스트 용이 → 공통 모듈을 독립적으로 테스트 가능 2. 공통 코드 작성 방법공통 코드 디렉토리 구조보통 utils/ 디렉터리에 작성하며, 프로젝트 전반에서 사용my_fastapi_project/│── main.py│── routers/│── services/│── repositories/│── models/│── schemas/│── database.py│── utils/ # ✅ 공통 코드 디렉터리│ ├──..

Fastapi 2025.02.02

[FastAPI] 디자인 패턴-스키마 패턴(11-7)

1. 스키마 패턴(Schema Pattern)이란?FastAPI에서 Pydantic을 사용하여 API 요청과 응답 데이터를 구조화하는 방법을 의미데이터 유효성을 보장하면서, API 응답 구조를 일관되게 유지데이터 유효성 검사 (Validation)입력(Input)과 출력(Output) 데이터 분리 (UserCreate, UserResponse 처럼 서로 다른 구조 정의 가능)API 문서 자동 생성 지원ORM과 분리된 구조 유지 2. 사용 방법프로젝트 구조 예시✅ Pydantic 스키마는 schemas/ 폴더에서 관리하여 API 요청과 응답 데이터를 처리my_fastapi_project/│── main.py│── routers/│ ├── user.py│── services/│ ├── user_ser..

Fastapi 2025.02.02

[FastAPI] 디자인 패턴-레포지토리 패턴(11-6)

1. 레포지토리 패턴(Repository Pattern)이란?레포지토리 패턴(Repository Pattern)은 데이터베이스(DB) 액세스를 서비스 로직(Service Layer)에서 분리하는 패턴즉, 데이터베이스와 직접 상호작용하는 코드(쿼리)를 레포지토리 파일에 따로 관리서비스 레이어는 이 레포지토리를 호출하여 데이터를 가져오는 방식장점데이터베이스 종속성 제거 → 서비스 레이어에서 직접 DB 모델을 다루지 않아, DB 변경 시 최소한의 코드 수정재사용성 증가 → 동일한 DB 조회/저장 로직을 여러 서비스에서 재사용 가능테스트가 쉬워짐 → 가짜(faker) DB를 사용해 테스트 가능 (예: SQLite, Mock DB)코드 가독성 향상 → SQLAlchemy 관련 로직이 분리되어 서비스 코드가 더 깔..

Fastapi 2025.02.02

[FastAPI] 디자인 패턴-서비스 레이어 패턴(11-5)

1. 서비스 레이어 패턴 (Service Layer Pattern) 이란서비스 레이어 패턴(Service Layer Pattern)은 비즈니스 로직을 엔드포인트(FastAPI 라우터)와 데이터 액세스(Repository) 레이어로부터 분리하는 아키텍처 패턴 FastAPI에서라우터는 요청을 받고,서비스 레이어는 핵심 로직을 수행하며,리포지토리는 데이터베이스와 직접 상호작용 장점비즈니스 로직과 API 엔드포인트 분리 → 코드가 깔끔재사용성 증가 → 같은 로직을 여러 엔드포인트에서 사용 가능유지보수 용이 → 데이터베이스 변경 시 API 코드 변경 없이 서비스 레이어에서만 수정유닛 테스트 용이 → 데이터베이스 없이 서비스 레이어 단독으로 테스트 가능 2. 서비스 레이어 패턴 사용 방법프로젝트 구조 예시각 역할을..

Fastapi 2025.02.02

[FastAPI] 디자인 패턴-라우터패턴(Router Pattern) (11-4)

1. 라우터 패턴 (Router Pattern) 이란라우터 패턴(Router Pattern)은 FastAPI에서 API 엔드포인트를 논리적으로 분리하여 관리하는 방법기본적으로 APIRouter를 사용하여 엔드포인트를 모듈화하고, app 객체를 만드는 부분에서 이를 포함시키는 방식. 장점코드 모듈화: 엔드포인트를 역할별로 나가독성 향상: 각 엔드포인트의 역할이 명확유지보수 용이: 특정 기능을 수정하거나 추가할 때 더 쉽게 변경 가능확장성: 새로운 API 기능을 추가할 때 기존 구조를 해치지 않고 추가 가능 2. 라우터 패턴 사용 방법프로젝트 구조 예시my_fastapi_project/│── main.py│── routers/│ ├── user.py│ ├── item.py│── models/│── ..

Fastapi 2025.02.02

[LLM] DeepSeek-R1 논문 핵심내용 요약

0. 개요이전 글에서 DeepSeek 논문 리뷰를 먼저 작성하고,이번 포스팅은 핵심 내용을 요약한 것이다.RL, GRPO, 체인 오브 소트 데이터, 다단계 학습 파이프라인 (Multi-Stage Training Pipeline) 에 대해 정리해 보자 이전 글 링크 [LLM] DeepSeek-R1 논문 리뷰논문을 읽게 된 배경연구 관련 설명(출처: CNN 뉴스, BBC 뉴스)중국의 인공지능 기업의 기술ChatGPT와 유사한 성능OpenAI, Google, Meta보다 훨씬 낮은 비용으로 제작됨이전보다 훨씬 적은 컴퓨팅 성능으databoom.tistory.com 1.  RL과 GRPO1.1. 기존 Supervised Fine-Tuning (SFT) 방식전통적으로 Supervised Fine-Tuning (S..

LLM 모델 불러오기 실행하기 (Huggingface Transformers) (3)

1.  모델 선택먼저 HuggingFace에서 Models에 들어가사용하고 싶은 모델을 선택한다. 모델을 선택 했으면, Use this model을 클릭하고transformers를 클릭해 준다. 그러면 모델을 불러올 수 있는 코드를 두가지 확인할 수 있다. 2. 모델 직접적으로 불러오는 방법이 방법은 모델을 직접 불러오는 것이다. 불러오는 방법은 다음과 같다.실행을 위해 코드를 복사한다. (모델 이름, import 라이브러리 확인)모델을 gpu로 옮겨준다.토크나이저도 불러온다.import torchfrom transformers import AutoModelForCausalLM, AutoTokenizer# 디바이스 설정 (GPU가 사용 가능하면 GPU, 아니면 CPU)device = torch.devic..

Pytorch Transformers 설치 (2)

이 글은 2025.01.28 기준이다. 1. 파이썬 환경 구성먼저 pyenv를 이용해 적절한 python을 설치해 준다.pyenv install 3.12.4 설치된 파이썬 확인pyenv versions 파이썬 가상환경을 만들어 준다.pyenv virtualenv 3.12.4 my_env 가상환경 확인pyenv virtualenvs 가상환경 실행activate my_env 2. Pytorch 설치Pytorch 버전은 2.5.1 이 최신이다. MPS (Apple Silicon) 지원 설치 (Mac M1/M2) 또는 CPU 전용 설치pip install torch torchvision torchaudio Cuda를 사용하는 경우예시: CUDA 11.8pip install torch torchvision tor..

LLM을 위한 Pytorch와 HuggingFace 개요 (1)

0. 개요LLM을 위한 Pytorch에서는Pytorch 기본 사용방법을 이미 알고 있으며,딥러닝에 대한 기본지식이 있는 사람들을 대상으로LLM을 다루기 위해 Pytorch를 어떻게 사용해야 하는지를 정리할 것이다. 또한, 기본적으로 HuggingFace의 Transformers를 사용할 수 있어야 하기 때문에함께 사용법을 알아가도록 하자. 1. Pytorch와 LLMLLM을 다루기 위한 강력한 도구이다.Pytorch로 다양한 작업을 수행할 수 있다.모델 설계학습 - 사전 학습(Pre-training), 분산 학습최적화 (Optimizer)디버깅 및 배포모델 미세 조정(Fine-Tunning)사후 작업 (Post-Training) - 양자화(Quantization), 프루닝(Pruning), Distill..

[LLM] DeepSeek 실행 방법 with Pytorch

0. 개요DeepSeek가 현재 상당한 이슈가 되고 있다.게다가 오픈소스로 Huggingface에 올라와 있어실행이 가능하다고 하니, 한번 실행해 보도록 하자. huggingface 링크 deepseek-ai/DeepSeek-R1 · Hugging FaceDeepSeek-R1 Paper Link👁️ 1. Introduction We introduce our first-generation reasoning models, DeepSeek-R1-Zero and DeepSeek-R1. DeepSeek-R1-Zero, a model trained via large-scale reinforcement learning (RL) without supervised fine-tuning (SFT) as a prelhug..

반응형