Qwen vLLM Chatbot 시스템 구현 – 1편 전체 설계와 큰그림 정리

“회사 조직문화 인터뷰를 장고로 관리하면서,
메인 화면에 떠다니는 챗봇 하나만 잘 만들어도
컴퓨터에서 자료 찾고, 이것저것 분석하고 하는 시간이 확 줄어들텐데…”
아마 이런 상상이 한 번쯤 지나갔을 거예요.
하지만 바로 이어지는 생각은 대략 이렇죠.
“Qwen? vLLM? 로컬 LLM? 이걸 어떻게 묶지…?”
“GPU도 없는데 14B 같은 모델을 돌릴 수 있나?”
“챗봇 UI는 또 어떻게 띄우지…”
이 시리즈의 목표는 딱 하나입니다.
“아, 이 순서대로 하면 되겠구나” 수준으로 쪼개서,
초보자도 따라 만들 수 있는 튜토리얼로 바꾸는 것.
특히 사용하실 시스템은 기능은 다음과 같아요.
사실 앞으로 어떤 식으로 구현될지는 저도 아직은 감이 없어요.
- 장고로 만든 조직문화 면담관리 시스템
- 면담 내용을 테이블 리스트로 관리
- 특정 면담 항목별 요약 자동 생성
- 텍스트 마이닝 기반 대시보드 시각화
- 메인 페이지에 떠다니는 Qwen vLLM Chatbot
→ “이 시스템 어떻게 쓰는지”, “작년 재무부서의 조직문화 결과 내용이 뭐였더라?”를 바로 물어볼 수 있게
이 5가지를 전부 한 덩어리 시스템으로 만드는 게 최종 목표입니다.
사람들이 잘 모르는 Amazon의 Kiro를 시스템 개발에 한번 사용해보겠습니다.
1. Qwen vLLM Chatbot 개발 시리즈 전체 구성
먼저, 앞으로 쓸 시리즈의 큰 목차부터 공유할게요.
(필요에 따라 조금씩 조정하면서 갈 수 있습니다.)
- 1편 – 전체 설계와 큰 그림 (지금 이 글)
- Qwen vLLM Chatbot 시스템 전체 아키텍처 설명
- “로컬 LLM + Django + 조직문화 면담 데이터”를 어떻게 엮을지 설계
- 시리즈에서 만들 기능 목록 정리
- 2편 – 로컬 LLM 환경 준비: Qwen-3.0-14B를 vLLM으로 띄우기
- MacBook에서 vLLM 설치
- Qwen-3.0-14B (또는 알맞은 7B/14B 변형) 모델 다운로드
- vLLM 서버 실행 후 API 엔드포인트 확인
- 간단한 curl/Python으로 응답 테스트
- 3편 – 장고 프로젝트 기본 뼈대 + Qwen vLLM 연동하기
- 새 장고 프로젝트/앱 생성
- vLLM 서버를 호출하는 Python 클라이언트 모듈 작성
- 기본 텍스트 입력 → Qwen vLLM 장고 챗봇 응답 출력까지 확인
- 4편 – 조직문화 면담 관리 기능 설계 & 모델/뷰/템플릿 구현
- 면담 항목/면담 기록/대상자 등 모델 설계
- 목록/상세 페이지, 검색·필터, 페이징 구현
- 템플릿에서 표 형태로 정리해서 보여주기
- 5편 – 면담 내용 요약 & 텍스트 마이닝 대시보드 (Qwen vLLM 활용)
- 특정 항목별로 면담 내용을 모아 Qwen vLLM 장고 챗봇에 요약 요청
- 요약 결과를 DB에 저장하고 화면에 표시
- 기본적인 텍스트 마이닝(키워드·워드클라우드·간단 차트) 대시보드 구현
- 6편 – 메인 페이지 Floating Qwen vLLM Chatbot UI 만들기
- HTML/CSS/JS로 우측 하단에 떠 있는 챗봇 버튼·창 UI 구현
- Django view + API endpoint 연동
- 조직문화 문서 + 면담 내용 컨텍스트를 실시간으로 붙이는 로직
- 7편 – 실전 운영 팁 & 확장 아이디어
- 권한/보안(조직문화 민감 정보 보호)
- 캐싱/요약 재사용 전략
- 여러 모델(Qwen, Ko-RM, GPT, Gemini 등)을 뒤에서 스위치하는 구조
- 향후 기능 확장 아이디어
1편에서는 이 전체 흐름을 머릿속에 그림으로 그려보는 게 목표입니다.
2. 전체 아키텍처 – Qwen vLLM 장고 챗봇 시스템 한 장으로 이해하기

머릿속에 이런 그림을 떠올려 보세요. (2~3편에서 실제 다이어그램도 만들 예정)
- 사용자 (브라우저)
- 조직문화 면담 시스템 웹에 접속
- 메인 페이지 우측 하단에 말풍선 아이콘(Floating Qwen vLLM Chatbot)
- 면담 목록/요약/대시보드도 같은 사이트 안에서 확인
- Django Web App (조직문화 면담관리 시스템)
- URL 라우팅, 인증, 권한 관리
- 면담 데이터 CRUD (생성/조회/수정/삭제)
- 텍스트 마이닝 결과 조회
- Qwen vLLM 장고 챗봇을 위한 API endpoint 제공
/api/chat/: 사용자의 질문 + 컨텍스트 → Qwen 서버로 전달/api/summary/: 특정 면담 항목/대상자에 대한 요약 요청
- vLLM 서버 + Qwen-3.0-14B (로컬 LLM 백엔드)
- MacBook에서 로컬 Python 환경으로 vLLM 실행
- Qwen-3.0-14B (또는 7B 변형) 모델 로딩
- HTTP/REST 형태로
/v1/chat/completions비슷한 인터페이스 제공 - Django 서버가 내부에서 이 API를 호출
- DB + 텍스트 마이닝 모듈
- DB (SQLite → PostgreSQL 등)
- 면담 텍스트, 인터뷰어, 인터뷰이, 항목 코드, 날짜 등 저장
- 텍스트 마이닝: Python + 라이브러리(예: konlpy, kiwipiepy, scikit-learn 등) + 그래프(Chart.js 또는 Plotly)
3. 어떤 사용 시나리오를 목표로 할까?
단순 “챗봇 하나 달았다”로 끝나면 아쉽죠.
현실에서 진짜 쓸 만한 시나리오를 세우고 개발 방향을 맞추겠습니다.
시나리오 A – 면담 시스템 사용법 Q&A
- 면담 담당자:“면담을 진행하기 전에 면담내용을 바로바로 작성하려면 어떻게 하죠?”
- Floating Qwen vLLM 장고 챗봇:
- 시스템 매뉴얼 + 사용자 가이드를 미리 임베딩/학습해 둔 상태
- “상단 메뉴 ‘면담 > 면담 목록’에서 ‘면담시작히기’ 버튼을 누르세요.” 처럼 안내
시나리오 B – 특정 항목별 면담 내용 요약
- 리더:“이번 반기 ‘리더십’ 항목 관련 면담 내용만 모아서 핵심 키워드·사례를 보고 싶어.”
- Django: 면담 DB에서
항목코드=리더십데이터 쿼리 - Qwen vLLM Chatbot: 요약/핵심 문장/개선 제안 생성
- 대시보드: 그래프 + 요약 텍스트 함께 표시
시나리오 C – 면담 데이터 기반 텍스트 마이닝 & 대시보드

- 조직문화 담당자:“어느 부서에서 ‘소통’, ‘피로감’ 같은 단어가 많이 나오는지 보고 싶어.”
- 백엔드: 면담 텍스트에서 토큰화·빈도 분석
- Qwen vLLM Chatbot:
- “토픽 1은 리더십, 토픽 2는 의사소통, 토픽 3은 피로/업무량과 관련된 내용입니다.” 같은 자연어 설명 제공
- 프런트: 막대그래프·워드클라우드와 함께 요약 설명 표시
이 시나리오들이 시리즈의 기능 요구사항이 됩니다.
각 편에서 “지금 우리가 구현하는 코드가 어떤 시나리오를 위해 필요한지” 계속 연결해서 설명할 거예요.
4. 기술 스택 선정 – Qwen vLLM 장고 챗봇에 딱 맞는 조합
시스템을 만들기 전에 “무슨 기술로 할지”를 정리해볼게요.
- 로컬 LLM 백엔드
- vLLM:
- 고성능 LLM 서버 프레임워크
- OpenAI API와 유사한 인터페이스 제공
- Qwen-3.0-14B / 7B
- 한국어·영어 모두 가능한 오픈 LLM
- MacBook Pro 24GB 메모리 환경에서는
- 7B 모델 → 상대적으로 여유 있게
- 14B 모델 → 속도·메모리 트레이드오프(그래도 충분히 테스트 가능)
- vLLM:
- 웹 애플리케이션
- Django
- 면담 데이터 관리 (ORM, Admin, Form)
- 인증/권한 기반 접근 제어
- REST API 추가도 용이(DRF 사용 가능)
- Django
- 프런트엔드 UI
- 장고 템플릿 + htmx/Alpine.js 정도의 가벼운 JS
- Floating Qwen vLLM 장고 챗봇 UI:
- 우측 하단 아이콘 → 클릭하면 채팅창 열리는 구조
- Ajax/Fetch로
/api/chat/호출
- 분석/시각화
- Python: pandas, numpy, 텍스트 분석용 라이브러리
- 시각화: Chart.js, Plotly, 또는 Django
이제 앞으로의 각 편에서는
- “vLLM 설치는 어디서부터 어떻게?”
- “Qwen-3.0-14B 모델은 어떤 파일을 가져와야 하는지?”
- “장고에서 vLLM API를 어떻게 호출하는지?”
를 코드와 함께 실제로 구현해 나갈 계획입니다.
5. 자주 묻는 질문(FAQ)
Q1. 굳이 로컬 Qwen vLLM Chatbot으로 해야 하나요? 그냥 OpenAI API 쓰면 안 되나요?
- 당연히 OpenAI API를 써도 됩니다.
- 다만,
- 보안/기밀: 조직문화 면담 내용은 매우 민감한 데이터
- 비용: 장기적으로 대량 호출 시 비용 부담
이런 이유 때문에, - 로컬에서 돌리는 구조를 한 번 만들어 두면
이후 다른 내부 시스템에도 재활용하기 좋습니다.
Q2. MacBook Pro 24GB 메모리로 Qwen-3.0-14B가 진짜 돌아갈까요?
- vLLM + 14B는 최적화 설정에 따라 충분히 테스트 가능하지만,
속도·메모리 모두 여유롭지만은 않을 수 있습니다. - 그래서 이 시리즈에서는
- 7B 모델 + 14B 모델 두 가지를 모두 언급하면서
- MacBook 환경에서의 실용적인 튜닝 팁도 함께 다룰 예정입니다.
- 일단은 “개발·테스트 단계는 7B 중심,
요약 품질을 더 보고 싶을 때 14B로” 정도로 생각하시면 됩니다.
Q3. 이 시리즈를 따라 하려면 어떤 수준의 장고 지식이 필요하나요?
- 기본적인 것만 알면 충분합니다.
- 장고 프로젝트 생성
- 앱 생성
- URL → View → Template 연결
- Model 정의 & 마이그레이션
- 글에서는 가능한 한
- “어떤 파일을 어디에 만들고, 무슨 코드를 붙여야 하는지”
를 줄 단위로 설명할 계획입니다.
- “어떤 파일을 어디에 만들고, 무슨 코드를 붙여야 하는지”






