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

Qwen  vLLM  Chatbot 시스템 구현 포스트 이미지
(Qwen vLLM Chatbot 시스템-출처:나노바나나)

“회사 조직문화 인터뷰를 장고로 관리하면서,
메인 화면에 떠다니는 챗봇 하나만 잘 만들어도
컴퓨터에서 자료 찾고, 이것저것 분석하고 하는 시간이 확 줄어들텐데…”

아마 이런 상상이 한 번쯤 지나갔을 거예요.
하지만 바로 이어지는 생각은 대략 이렇죠.

Qwen? vLLM? 로컬 LLM? 이걸 어떻게 묶지…?”
“GPU도 없는데 14B 같은 모델을 돌릴 수 있나?”
“챗봇 UI는 또 어떻게 띄우지…”

이 시리즈의 목표는 딱 하나입니다.
“아, 이 순서대로 하면 되겠구나” 수준으로 쪼개서,
초보자도 따라 만들 수 있는 튜토리얼로 바꾸는 것.

특히 사용하실 시스템은 기능은 다음과 같아요.
사실 앞으로 어떤 식으로 구현될지는 저도 아직은 감이 없어요.

  • 장고로 만든 조직문화 면담관리 시스템
  • 면담 내용을 테이블 리스트로 관리
  • 특정 면담 항목별 요약 자동 생성
  • 텍스트 마이닝 기반 대시보드 시각화
  • 메인 페이지에 떠다니는 Qwen vLLM Chatbot
    → “이 시스템 어떻게 쓰는지”, “작년 재무부서의 조직문화 결과 내용이 뭐였더라?”를 바로 물어볼 수 있게

이 5가지를 전부 한 덩어리 시스템으로 만드는 게 최종 목표입니다.
사람들이 잘 모르는 Amazon의 Kiro를 시스템 개발에 한번 사용해보겠습니다.

1. Qwen vLLM Chatbot 개발 시리즈 전체 구성

먼저, 앞으로 쓸 시리즈의 큰 목차부터 공유할게요.
(필요에 따라 조금씩 조정하면서 갈 수 있습니다.)

  1. 1편 – 전체 설계와 큰 그림 (지금 이 글)
    • Qwen vLLM Chatbot 시스템 전체 아키텍처 설명
    • “로컬 LLM + Django + 조직문화 면담 데이터”를 어떻게 엮을지 설계
    • 시리즈에서 만들 기능 목록 정리
  2. 2편 – 로컬 LLM 환경 준비: Qwen-3.0-14B를 vLLM으로 띄우기
    • MacBook에서 vLLM 설치
    • Qwen-3.0-14B (또는 알맞은 7B/14B 변형) 모델 다운로드
    • vLLM 서버 실행 후 API 엔드포인트 확인
    • 간단한 curl/Python으로 응답 테스트
  3. 3편 – 장고 프로젝트 기본 뼈대 + Qwen vLLM 연동하기
    • 새 장고 프로젝트/앱 생성
    • vLLM 서버를 호출하는 Python 클라이언트 모듈 작성
    • 기본 텍스트 입력 → Qwen vLLM 장고 챗봇 응답 출력까지 확인
  4. 4편 – 조직문화 면담 관리 기능 설계 & 모델/뷰/템플릿 구현
    • 면담 항목/면담 기록/대상자 등 모델 설계
    • 목록/상세 페이지, 검색·필터, 페이징 구현
    • 템플릿에서 표 형태로 정리해서 보여주기
  5. 5편 – 면담 내용 요약 & 텍스트 마이닝 대시보드 (Qwen vLLM 활용)
    • 특정 항목별로 면담 내용을 모아 Qwen vLLM 장고 챗봇에 요약 요청
    • 요약 결과를 DB에 저장하고 화면에 표시
    • 기본적인 텍스트 마이닝(키워드·워드클라우드·간단 차트) 대시보드 구현
  6. 6편 – 메인 페이지 Floating Qwen vLLM Chatbot UI 만들기
    • HTML/CSS/JS로 우측 하단에 떠 있는 챗봇 버튼·창 UI 구현
    • Django view + API endpoint 연동
    • 조직문화 문서 + 면담 내용 컨텍스트를 실시간으로 붙이는 로직
  7. 7편 – 실전 운영 팁 & 확장 아이디어
    • 권한/보안(조직문화 민감 정보 보호)
    • 캐싱/요약 재사용 전략
    • 여러 모델(Qwen, Ko-RM, GPT, Gemini 등)을 뒤에서 스위치하는 구조
    • 향후 기능 확장 아이디어

1편에서는 이 전체 흐름을 머릿속에 그림으로 그려보는 게 목표입니다.

2. 전체 아키텍처 – Qwen vLLM 장고 챗봇 시스템 한 장으로 이해하기

Qwen  vLLM  Chatbot 시스템 아키텍처 이미지

머릿속에 이런 그림을 떠올려 보세요. (2~3편에서 실제 다이어그램도 만들 예정)

  1. 사용자 (브라우저)
    • 조직문화 면담 시스템 웹에 접속
    • 메인 페이지 우측 하단에 말풍선 아이콘(Floating Qwen vLLM Chatbot)
    • 면담 목록/요약/대시보드도 같은 사이트 안에서 확인
  2. Django Web App (조직문화 면담관리 시스템)
    • URL 라우팅, 인증, 권한 관리
    • 면담 데이터 CRUD (생성/조회/수정/삭제)
    • 텍스트 마이닝 결과 조회
    • Qwen vLLM 장고 챗봇을 위한 API endpoint 제공
      • /api/chat/ : 사용자의 질문 + 컨텍스트 → Qwen 서버로 전달
      • /api/summary/ : 특정 면담 항목/대상자에 대한 요약 요청
  3. vLLM 서버 + Qwen-3.0-14B (로컬 LLM 백엔드)
    • MacBook에서 로컬 Python 환경으로 vLLM 실행
    • Qwen-3.0-14B (또는 7B 변형) 모델 로딩
    • HTTP/REST 형태로 /v1/chat/completions 비슷한 인터페이스 제공
    • Django 서버가 내부에서 이 API를 호출
  4. 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 장고 챗봇에 딱 맞는 조합

시스템을 만들기 전에 “무슨 기술로 할지”를 정리해볼게요.

  1. 로컬 LLM 백엔드
    • vLLM:
      • 고성능 LLM 서버 프레임워크
      • OpenAI API와 유사한 인터페이스 제공
    • Qwen-3.0-14B / 7B
      • 한국어·영어 모두 가능한 오픈 LLM
      • MacBook Pro 24GB 메모리 환경에서는
        • 7B 모델 → 상대적으로 여유 있게
        • 14B 모델 → 속도·메모리 트레이드오프(그래도 충분히 테스트 가능)
  2. 웹 애플리케이션
    • Django
      • 면담 데이터 관리 (ORM, Admin, Form)
      • 인증/권한 기반 접근 제어
      • REST API 추가도 용이(DRF 사용 가능)
  3. 프런트엔드 UI
    • 장고 템플릿 + htmx/Alpine.js 정도의 가벼운 JS
    • Floating Qwen vLLM 장고 챗봇 UI:
      • 우측 하단 아이콘 → 클릭하면 채팅창 열리는 구조
      • Ajax/Fetch로 /api/chat/ 호출
  4. 분석/시각화
    • 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 정의 & 마이그레이션
  • 글에서는 가능한 한
    • “어떤 파일을 어디에 만들고, 무슨 코드를 붙여야 하는지”
      를 줄 단위로 설명할 계획입니다.

유사한 게시물