본문 바로가기

전체 글 보기30

4차 미니프로젝트 : 도서관리시스템 개발 KT에이블스쿨 4차 미니프로젝트* 진행 기간 : 2025.05.29 ~ 2025.06.02 미니프로젝트 개요 : 도서관리 시스템 개발 (AI를 활용한 도서표지 이미지 생성)시스템 개발의 일반적인 절차 : 니즈 파악 > 분석 > 설계 > 구현 > 테스트 > 배포주제걷기가 서재_"작가의 산책"학습과목Spring boot, React기술 스택백엔드 : Java, Spring Boot프론트엔드 : JavaScript, React, Axios데이터베이스 : H2(개발용)API : Restful API, OpenAI API (DALLE)중점사항- 백엔드와 프론트엔드의 역할 분담 및 연동 이해- CRUD 기능의 완전한 구현- 외부 API를 연동하여 동적인 기능을 추가하는 경험- 기본적인 UI/UX 설계를 통한 사용자.. 2025. 6. 24.
[프로그래머스] 온/오프라인 판매 데이터 통합하기 - UNION, UNION ALL 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/131537 문제 설명 솔루션WITH TB AS ( SELECT SALES_DATE, PRODUCT_ID, USER_ID, SALES_AMOUNT FROM ONLINE_SALE WHERE SALES_DATE BETWEEN '2022-03-01' AND '2022-03-31' UNION SELECT SALES_DATE, PRODUCT_ID, NULL AS USER_ID, SALES_AMOUNT FROM OFFLINE_SALE WHERE SALES_DATE BETWEEN '2022-03-01' AND '2022-03-31')SELECT DATE_FORM.. 2025. 6. 10.
3차 미니프로젝트 : 클라우드 기본 인프라 구현 * 진행 일자 : 2025.05.16 ~ 05.19 >>> 1일차아키텍쳐 구조1. AZ-a, AZ-b, AZ-c 분산 배포되는 로드밸런싱 환경 구성2. Web1, 2는 Private Subnet에 배포 & NAT를 통한 외부 통신 가능하도록 구성3. Web1, 2는 Bastion server를 통해서만 ssh 접속 가능하도록 구성4. LB(Load Balancer)를 통하여 Web서버 접근 시 서버 별로 다른 웹페이지 출력* Bastion : Cloud9 또는 EC2 사용 진행 과정1. 기본 인프라 구조 설계 (VPC, 서브넷, 라우팅테이블, NAT게이트웨이, 인터넷게이트웨이)- 3개의 가용영역, 각 영역 내 public, private 서브넷 한 개씩 생성- 인터넷게이트웨이 > public용 라우팅 .. 2025. 5. 23.
[5주차] RAG KT 에이블스쿨 5주차 RAG* 수업 일자 : 2025.04.21 ~ 04.22 RAG (Retrieval Augmented Generation)주어진 컨텍스트나 질문에 대해 더욱 정확하고 풍부한 정보를 제공하는 방법이다. (한국어로 '검색 증강 생성'이라고 부르는데, 컴퓨터 사이언스 분야가 그러하듯 일반적으로 영어로 많이 쓰이는 것 같다.) 외부의 신뢰 가능한 지식DB(Vector DB)을 참조하여 응답을 생성하게끔 하는 것을 의미함.* 참고) RAG는 학습한 데이터만 가지고 답변을 생성해주기 때문에, 다른 질문에는 답변 불가 -> 이러한 문제를 해결한 것이 AI Agent임.https://velog.io/@som_3/3.-RAG%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%98%EC%.. 2025. 5. 22.
2차 미니프로젝트 : AI 면접관 Agent 시스템 구축 🚩 주제 : AI 면접관 Agent 시스템 구축- 중점 사항1) LLM 기반 Text 인식, 요약 및 생성 활용2) LangGraph를 활용한 AI Agent 구축 개요1. 데이터 : 이력서/자기소개서 문서(.pdf, .docx)2. LLM : OpenAI / GPT-4o mini (비용효율성 + 성능)3. LangGraph : LangChain 기반 워크플로우 설계 ✅ 진행 과정[사전 준비 단계]0. 파일을 입력받는 함수, State 선언# pdf 또는 docx 파일 입력받기def extract_text_from_file(file_path: str) -> str: ext = os.path.splitext(file_path)[1].lower() if ext == ".pdf": .. 2025. 5. 19.
[5주차] LangChain (2) ◎ LangChainLangChain이란? LLM을 활용하여 체인을 구성한 것으로, AI관련 작업을 쉽게 수행할 수 있도록 돕는 일종의 프레임워크.- 최신 라이브러리이기 때문에 버전에 따라 사용법이 다르며, 불안정할 수 있음.- LangChain을 사용하는 이유 : 1) 체계적인 관리 : "사용자 질문 -> 프롬프트 템플릿 -> LLM호출 -> 파싱 -> DB저장 -> 다음 질문과 연결" 일련의 과정을 한 줄로 연결해서 관리2) 각 구성 요소의 모듈화 : 프롬프트, 파서, DB 등 모두 독립적인 객체로 관리3) Tool, 메모리 같은 고급 기능 제공4) 복잡한 워크플로우에 유리 (1) 입력프롬프트(Prompt)란? 인간이 LLM에게 전달하는 지시문. 정확하고 유용한 답변을 얻기 위해서는 프롬프트를 잘 구.. 2025. 5. 18.