[배포] 백엔드, 프론트엔드 AWS EC2 환경에서 Docker로 배포 (5)
·
카테고리 없음
오늘 Meat-A-Eye 서비스의 백엔드와 프론트엔드를 AWS EC2 환경에서 Docker로 배포했습니다.트러블슈팅 과정과 최종 성공 명령어를 한 페이지로 정리합니다. 개요환경: AWS EC2 (Ubuntu 24.04 LTS)백엔드: FastAPI (Python 3.11) + RDS (MySQL)프론트엔드: Next.js 16 + Tailwind CSS핵심 도구: Docker (Containerization)명령 프롬프트 실행(cmd) -> cd 본인 .pem으로 서버 접속ls -a # 현재 상태 확인용1단계: 프로젝트 루트 설정 및 환경 변수(.env) 통합배포의 핵심은 보안과 설정의 분리입니다. 모든 중요한 키(API Key, DB 정보)를 루트 폴더(Meat-A-Eye-Service)의 .env..
[배포] AWS EC2 재가동 및 도커 배포 (4)
·
3. 자습 & 메모(실전, 실습, 프로젝트)/3-3 배포 실전 공부
이 가이드는 중지되었던 AWS 인스턴스를 다시 켜는 단계부터 도커 이미지 빌드까지의 실전 명령어를 담고 있습니다.1. 로컬 환경 준비 및 서버 접속먼저 내 컴퓨터(Windows) 터미널에서 AWS 서버로 접속을 시도합니다.1.1 키 페어 권한 설정 (최초 1회 필수)윈도우에서 .pem 키의 권한이 너무 열려 있으면 접속이 거부됩니다. 파일이 있는 폴더(C:\Pyg\Memo)에서 아래 명령어를 수행합니다.icacls "meat-a-eye-key.pem" /inheritance:ricacls "meat-a-eye-key.pem" /grant:r "%username%":"(R)"1.2 SSH 접속 실행AWS 콘솔에서 인스턴스를 [시작]한 후, 할당된 고정 IP로 접속합니다.ssh -i "meat-a-eye-k..
[공모전] Vision 시각화 검증 상세 분석 "개인 연구용" 블로그
·
4. [팀] 프로젝트 및 공모전/4-4 구조물 안정성 물리 추론 AI 경진대회(DACON)
안녕하세요!!오늘은 지금 데이콘에서 진행중인 공모전에 대해서 제 주관적인 생각을 아주 많이 넣은(?) 연구용 블로그를 작성해보겠습니다. 이미 상위 랭킹에 속하긴 했지만 순위를 더 좁히고 싶어서 영상 데이터부터 시각화 검증까지 다 뜯어보면서 분석해보는 중입니다.오늘 진행한 내용들에 대해서 정리해보도록 하겠습니다. 진행 상황 메모 블로그 참고: [DACON 공모전] 구조물 안정성 예측 대회: EVA-Giant Dual-View 모델과 Center Crop 추론 스터디 (2)Dacon 구조물 안정성 예측 대회에 참가하면서 겪은 시행착오, 모델 선택의 근거, 그리고 단순한 추론 전처리 변경 하나로 LogLoss 0.02117 → 0.01756을 달성한 과정을 기록합니다.1. 대회 개요와 문제 정pak1010pa..
[LangGraph] LLM 도구 사용법 (Tool Calling & Agents) (5)
·
개념 정리 step2/AI Agent
단순히 텍스트만 생성하는 LLM을 넘어, 검색엔진이나 계산기 등 외부 도구를 직접 다루는 Tool Calling Agent를 구축하는 방법을 알아봅니다.1. 도구 바인딩 (Tool Binding)LLM은 자신이 어떤 도구를 사용할 수 있는지 스스로 알지 못합니다. 따라서 우리가 직접 사용할 수 있는 도구의 목록과 사용법을 설명해 주어야 합니다.@tool 데코레이터: 파이썬 함수 위에 @tool을 붙이고 Docstring("""...""")으로 설명을 적어주면, LLM이 이 함수의 용도를 이해할 수 있습니다.bind_tools(): 정의한 도구들을 LLM에 연결합니다.from langchain_core.tools import toolfrom langchain_openai import ChatOpenAI@t..
[강화 학습] RL-Tycoon-Agent 프로젝트 정리
·
4. [팀] 프로젝트 및 공모전/4-3 RL-Tycoon-Agent
1. 소개이번 프로젝트는 Pygame으로 만든 레스토랑 타이쿤 게임에 강화학습을 붙여서, 여러 알고리즘이 실제로 매장을 얼마나 잘 운영하는지 비교해 본 실험입니다.단순히 캐릭터를 이동시키는 수준이 아니라, 에이전트가 다음과 같은 운영 의사결정을 직접 하도록 설계했습니다.어디로 이동할지언제 주문을 받을지언제 음식을 서빙할지어떤 업그레이드를 구매할지특성이 등장했을 때 어떤 특성을 선택할지즉, 이 프로젝트는 "움직이는 AI"를 만드는 것보다 "운영 전략을 학습하는 AI"를 만드는 데 더 가까웠습니다.프로젝트의 최종 목표는 여러 강화학습 알고리즘을 같은 환경에서 학습시키고, tournament 모드에서 직접 붙여 보며 어떤 모델이 가장 좋은 성능을 내는지 확인하는 것이었습니다.프로젝트 핵심 정보장르: 레스토랑 ..
[DACON 공모전] 구조물 안정성 예측 대회: EVA-Giant Dual-View 모델과 Center Crop 추론 스터디 (2)
·
4. [팀] 프로젝트 및 공모전/4-4 구조물 안정성 물리 추론 AI 경진대회(DACON)
Dacon 구조물 안정성 예측 대회에 참가하면서 겪은 시행착오, 모델 선택의 근거, 그리고 단순한 추론 전처리 변경 하나로 LogLoss 0.02117 → 0.01756을 달성한 과정을 기록합니다.1. 대회 개요와 문제 정의이 대회의 과제는 블록으로 쌓은 구조물의 안정성(stable/unstable)을 예측하는 이진 분류 문제입니다. 각 샘플은 동일한 구조물을 front(정면)와 top(상단) 두 가지 뷰에서 촬영한 이미지 쌍으로 구성되어 있습니다. 데이터 규모:Train: 1,000개 (stable 50% / unstable 50%)Dev: 100개 (stable 52% / unstable 48%)Test: 비공개평가 지표는 LogLoss입니다. LogLoss는 모델의 확률 예측이 실제 레이블과 얼마나..
[AI Agent] "Tool Calling Agent의 개념"과 "Tavily"를 활용한 웹 검색 챗봇 구현 (4)
·
개념 정리 step2/AI Agent
단순히 묻고 답하는 챗봇을 넘어, AI가 스스로 판단하여 검색엔진이나 계산기 같은 '도구'를 직접 사용할 수 있다면 어떨까요? 이번 글에서는 스스로 외부 도구를 호출하여 문제를 해결하는 Tool Calling Agent의 개념을 알아보고, 실시간 웹 검색 도구인 Tavily API를 LangChain에 연동하는 방법까지 정리해 보겠습니다.1. Tool Calling Agent란?Tool Calling Agent는 자신이 학습한 내부 지식에만 의존하지 않고, 외부 도구(API, 데이터베이스, 코드 실행기 등)를 능동적으로 호출해 문제를 해결하는 지능형 에이전트입니다.작동 방식: 사용자의 질문을 이해한 뒤 $\rightarrow$ 필요한 경우 적절한 도구를 선택하고 $\rightarrow$ 알맞은 입력값을 ..
[LangGraph] 상태 업데이트 및 워크플로우 제어 (3)
·
개념 정리 step2/AI Agent
랭그래프(LangGraph)를 실무에서 다루기 위해 필수적인 메시지 상태 관리, 그래프 실행 방식, 그리고 노드 간의 다양한 연결 형태(순차, 병렬, 조건 분기, 반복)를 구현하는 방법입니다.1. 메시지 상태 업데이트와 누적 (State & add_messages)에이전트 워크플로우에서는 대화 기록이 끊기지 않고 유지되어야 합니다. 단순히 TypedDict만 사용하면 이전 상태가 덮어씌워지지만, Annotated와 add_messages 리듀서를 활용하면 기존 대화 목록에 새 메시지가 계속 누적됩니다.HumanMessage: 사용자의 입력 메시지AIMessage: 모델(AI)의 출력 메시지from typing_extensions import TypedDict, Annotatedfrom langchain_..
[AI Agent] 랭체인과 랭그래프 핵심 정리 및 구현 (2)
·
개념 정리 step2/AI Agent
대형 언어 모델(LLM)을 활용한 복잡한 애플리케이션을 구축할 때, 랭체인과 랭그래프는 필수적인 프레임워크로 자리 잡고 있습니다. 이 글에서는 두 프레임워크의 개념과 랭그래프를 구성하는 핵심 요소들을 정리하고, 실제 코드로 어떻게 구현하는지 살펴봅니다.1. 랭체인(LangChain)과 랭그래프(LangGraph)1-1. 랭체인(LangChain)대형 언어 모델(LLM)을 활용한 애플리케이션을 쉽게 개발할 수 있도록 돕는 프레임워크입니다. 프롬프트 관리, 문서 검색(Retrieval), 벡터 데이터베이스 연동, 체인(Chain) 구조를 통한 작업 연결, 외부 도구(Tool) 사용 등을 하나의 흐름으로 묶어줍니다. 이를 통해 챗봇, RAG(검색 증강 생성), 에이전트 시스템을 효율적으로 구축할 수 있습니다...