- AI모델: LLM, 언어모델파인튜닝 (Hugging Face), KM-BERT
- API : OpenAI, NaverMaps
- H/W: 클라우드웹서버
- DB : JPA,SQLite3(향후다양한DBMS연동)
- S/W: SpringBoot, FastAPI
- 배포 : Docker
- 컨테이너 : MS AZURE
1. 가상환경과 라이브러리 설치
requirements.txt
ipywidgets
scikit-learn
matplotlib
seaborn torch==2.5.1
openai==1.55.0
transformers==4.46.3
datasets==3.1.0
httpx==0.27.2
haversine
fastapi
uvicorn[standard]
conda create -n em python=3.12 -y
conda env list
conda activate em
pip install -r requirements.txt
- 설치 후 em선택
- 이 파일을 지우면 가사환경 지울 수 있다.
Downloads - DB Browser for SQLite
(Please consider sponsoring us on Patreon 😄) Windows Our latest release (3.13.1) for Windows: Free code signing provided by SignPath.io, certificate by SignPath Foundation. Windows PortableApp There is a PortableApp available, but it’s still the previ
sqlitebrowser.org
이전 6차때 만들었던 응급실 연계 시스템에서 언제 시스템 요청을 했는지에 대한 log를 나중에 검토하거나 분석할 수 있도록 하기 위해 DB에 기록하는 작업을 진행했다. 중요한 것은 요청한 시간과 응급질 정보들을 저장해두는 것이었다. 첫날에 DB를 설계하고 데이터를 입력해보기만 하였지만 원래 진행했던 모듈을 조금씩 변경하느라 시간이 좀 걸렸던 것 같다.
2. Fastapi 연결
https://fastapi.tiangolo.com/ko/#_4
FastAPI
FastAPI framework, high performance, easy to learn, fast to code, ready for production
fastapi.tiangolo.com
- FastAPI 설치
pip install fastapi
pip install "uvicorn[standard]"
- 서버 실행
uvicorn main:app --reload
- 접속
http://127.0.0.1:8000/docs
응급상황과 위도, 경도 데이터를 @get으로 받아오는 것까진 쉽게 되었는데 응급상황이 아닐 때 넘겨주는 데이터를 다르게 주자고 논의하여 중증도 1-3은 병원 추천, 4-5는 개인 관리 권장 및 대처방안, 6은 비응급 상황이라는 메세지를 넘겨주도록 만들었다.
3. Spring Boot 시작
- vm 설정
- submit을 보내면 데이터가 나오는 형태
- css 꾸미기
피그마를 사용해서 틀 잡아두기
4. 기능 구현
5. docker container에 넣기
1. FastAPI를 Container에 배포한다.
생성한 FastAPI와 로컬의 WebApp을 dockerfile를 통해 이미지로 만들어 빌드시켰다.
- build 후 local에 Docker Image를 생성한다.
docker buildx build --platform linux/amd64 -t 본인Docker Hub 계정/aivle_mini7_6_fastapi:latest --load .
- Docker Hub에서 build된 Image를 받아와 local에 Docker Image를 생성한다.
docker pull nunssuby/aivle_mini7_6_fastapi:latest
-Local 에서 Docker 구동
docker run -d -p 8000:8000 --name aivle_mini7_6_fastapi_container -e OPENAI_API_KEY=본인openai api
key본인Docker Hub 계정/aivle_mini7_6_fastapi:latest
- Docker hub에 push
이를 Docker Hub에 올리고 웹앱을 만들어둔다.
docker push 본인Docker Hub 계정/aivle_mini7_6_fastapi:latest
- Azure Web App with Container
Azure에서 웹앱 만들 때, 이미지 태그 넣기: 본인Docker Hub 계정/aivle_mini7_6_fastapi:latest
+ API키 추가
2. Spring Boot Container를 배포한다.
- 멀티플랫폼을 위해 buildx를 사용한다.
docker buildx build --platform linux/amd64 -t 본인Docker Hub 계정/aivle_mini7_6_spring:latest --load .
- Local Docker를 구동시켜본다.
docker run -p 8080:8080 --name aivle_mini7_6_spring_container 본인Docker Hub 계정/aivle_mini7_6_spring:latest
- Docker hub에 push 후 웹앱에 추가
docker push 본인Docker Hub 계정/aivle_mini7_6_spring:latest
6. MS에 올려서 배포
설정 > 구성
- SCM 기본인증게시자격증명: 설정
- FTP 기본인증게시자격증명: 설정
설정 > 배포센터
- 지속적인 배포 : 설정
- Webhook URL 복사
FastAPI, Spring Boot
Docker Hub > Manage Repository > Webhooks > url
'KT AIVLE School > 프로젝트' 카테고리의 다른 글
[KT AIVLE SCHOOL - 6기 기자단] OpenWeatherMap API사용하기 (0) | 2025.02.25 |
---|---|
[KT AIVLE SCHOOL - 6기 기자단] 빅프로젝트 후기 (0) | 2025.02.25 |
Colab에서 음성파일 만들기 (0) | 2024.11.19 |
미니 프로젝트 2차 후기 (6) | 2024.10.09 |
K-DT 해커톤 참여 (1) | 2024.09.30 |