GBT
한국외국어대학교기술경영학부
인공지능 · 과제 2
과제 프로젝트 2 / 2

AI 서비스 구현과 배포

과제 프로젝트 1에서 기획한 서비스를 실제로 만들어 인터넷에 공개한다. 이 과제의 결과물은 슬라이드 속 아이디어가 아니라, 주소를 입력하면 실제로 열리는 서비스다.

개요
배포 절차 (Cloudflare Pages)
  1. 서비스를 정적 웹으로 만든다. 순수 HTML/CSS/JS 한 벌이면 충분하다. React 등 프레임워크를 쓴다면 npm run build 결과 폴더가 배포 대상이 된다.
  2. Cloudflare 계정을 만든다. dash.cloudflare.com/sign-up 에서 무료 플랜이면 된다.
  3. 대시보드에서 Workers & Pages → Create → Pages 를 선택하고, 폴더를 드래그&드롭으로 업로드한다(Direct Upload). Git 연동에 익숙하면 GitHub 저장소 연결 방식도 좋다.
  4. 발급된 프로젝트명.pages.dev 주소를 연다. 이 주소가 제출물이다. 수정 후 같은 프로젝트에 다시 업로드하면 즉시 갱신된다.
  5. 명령줄이 편하면 wrangler를 쓴다.
    # 폴더(dist)를 프로젝트로 배포 npx wrangler login npx wrangler pages deploy dist --project-name 내프로젝트명
AI 기능을 넣는 세 가지 방법
방법설명알맞은 경우
브라우저 내 모델Transformers.js 등으로 모델을 브라우저에서 직접 실행. 서버와 API 키가 아예 필요 없다분류·임베딩·소형 모델로 충분한 서비스
Workers 프록시 + 상용 APICloudflare Workers(무료 티어)에 API 키를 환경변수로 숨기고, 프런트는 Workers만 호출. Workers AI의 무료 모델도 같은 방식으로 쓸 수 있다LLM 생성·대화가 핵심인 서비스
외부 데모 연동Hugging Face Spaces(Gradio)에 모델을 올리고 페이지에서 연결파이썬 모델(실습 노트북 산출물)을 그대로 살리고 싶을 때
보안: API 키를 절대 프런트엔드에 넣지 말 것

브라우저에서 실행되는 JS에 적힌 키는 소스 보기로 누구나 꺼내 갈 수 있고, 유출된 키는 과금 폭탄으로 돌아온다. 상용 API를 쓴다면 반드시 Workers 같은 서버 측에 키를 두고 프록시로 호출할 것. 제출물에 키가 노출되어 있으면 감점한다.

평가 기준 (100점)
항목내용배점
배포 동작제출한 URL이 실제로 열리고 핵심 기능이 동작하는가25
AI 기능 구현핵심 AI 기능의 구현 품질(프롬프트 설계, 모델 활용의 적절성 포함)30
기획 충실도과제 1 기획 대비 구현 범위, 변경했다면 그 사유가 타당한가15
UI·UX처음 온 사용자가 설명 없이 쓸 수 있는가15
보고서·시연결과 보고서의 완성도와 시연 준비15
막힐 때

LLM 호출 코드는 실습 02c(Claude API)실습 02b(로컬 모델 + Gradio)가 그대로 출발점이 된다. 프롬프트 설계와 환각 대응은 모듈 02를 다시 볼 것.

배포가 안 될 때는 브라우저 개발자 도구(F12)의 Console 탭 에러부터 읽는 습관을 들이자. 에러 메시지를 그대로 검색하거나 AI에게 물으면 대부분 풀린다.

한국외국어대학교 기술경영학부 · 인공지능 · 담당: 배주호 (juho@hufs.ac.kr)