Python 4

FastAPI에 Celery 이용하기

Celery를 이용하게 된 계기 :프로젝트로 KoBERT모델을 이용하게 되면서, 음성파일을 올려서 유저가 보이스피싱 확률을 계산 받는데 예측값을 받는 시간이 너무 길어져 빠르게 처리하는 방법을 모색하던 중, celery+redis 비동기 처리에 대해서 알게 되었다. Celery는 무엇인가 ?쉽게 말해 Celery는 FastAPI 서버와 별도로 실행되는 작업 처리 시스템이다.FastAPI가 클라이언트로부터 요청을 받으면, Celery에게 그 요청을 넘겨주고, Celery는 백그라운드에서 해당 작업을 수행한 후 결과를 반환하는 방식으로 동작합니다. 이를 통해 FastAPI는 작업이 끝날 때까지 기다리지 않고, 다른 요청을 처리할 수 있습니다. 이 과정에서 Celery는 작업들을 큐(queue)에 저장하여 관..

KoBERT를 이용한 음성파일 분석 Back-end 구현 - 환경설정

이번 프로젝트에서 LLM 모델을 이용한 음성파일의 보이스피싱 확률계산 기능을 구현하기로 했다.먼저 백엔드에서 모델링 처리를 위한 큰 틀은 이렇게 잡았다. 0. 환경설정1. 모델 & 토크나이저 로드2. 음성파일.mp4 -> .wav 변환3. 음성파일의 음성 -> STT를 통해 TEXT로 전환4. 모델링의 오디오 분석 이번 프로젝트를 하며 알게 된 점은, 기존에 우리팀 모델러가 전에 모델파일을 줄때 .pkl 로 준 LGBM 모델과 비슷하게 그냥 모델 받으면 연결하면 되는 줄 알았는데, LLM같은 경우는 워낙 가지고있는 용량이 크기 때문에 받아서 연결을 그냥하면 안(못)되는거더라.. 일단 먼저 환경셋팅을 위해 koBERT 모델러인 팀원이 python 3.8에서 모델링을 한다고 해서 기본적인 환경도 python..

Python/KoBERT 2025.02.25

[Django] dotenv로 환경변수(secret key) 관리하기

환경변수란 ? 환경변수는 OS입장에서 해당 프로세스를 실행시키기 위하여 참조하는 변수이다. 우리가 컴퓨터로 하는 모든 작업들은(게임, 인터넷창띄우기, 그림판, 메모장, ...) OS라는 프로그램에 의하여 실행되는 자식프로세스인데 이 프로세스들을 실행킬 때 OS입장에서 참조하는 변수가 바로 환경변수이다. 이러한 환경변수는 내 로컬정보를 담고있기 때문에 github이나 외부에 노출될 경우 해킹의 위험이 있어서 조심해야한다. django-dotenv는 이런 값들을 로컬 환경에 담아 두고 사용하기 편하도록 해주는 패키지이다. 공식 사이트 https://pypi.org/project/django-dotenv/ django-dotenv foreman reads from .env. manage.py doesn't. ..

Python/Django 2023.05.07

[알고리즘] 프로그래머스 - 로그인 성공?

# 로그인 성공? ''' 문제 : 입력한 아이디와 패스워드가 담긴 배열 id_pw 회원들의 정보가 담긴 2차원 배열 db 로그인 성공, 실패에 따른 메시지를 return 아이디와 비밀번호가 모두 일치하는 회원정보가 있으면 "login"을 return 로그인이 실패했을 때 아이디가 일치하는 회원이 없다면 "fail" 아이디는 일치하지만 비밀번호가 일치하는 회원이 없다면 "wrong pw"를 return 제한사항 : 아이디는 문자열, 알파벳 소문자와 숫자로만 패스워드는 숫자로 구성된 문자열 회원들의 비밀번호는 같을 수 있지만 아이디는 같을 수 없습니다. id_pw의 길이는 2 id_pw와 db의 원소는 [아이디, 패스워드] 형태 1 ≤ 아이디의 길이 ≤ 15 1 ≤ 비밀번호의 길이 ≤ 6 1 ≤ db의 길이..

Python/알고리즘 2023.05.03