통화 후 요약을 운영에서 모델로 켠다 — 요약만 · CPU Ollama · 서버 등급 상향
무엇을
통화 후 처리의 요약 초안을 규칙 발췌에서 모델 요약으로 바꾼다 — 운영에서, 요약만(_project/decisions/146).
왜
10-02 사용자 지적: 요약 초안이 요약이 아니라 발화 모음으로 보인다. 모델 요약 코드는 09-15 에 있었지만(w7-postcall-spoke) 운영에 GPU·Ollama 가 없어 꺼져 있었다.
완료 조건
- 요약만 켜는 스위치(
POSTCALL_MODEL) — 카드 생성은 꺼진 채다(테스트) - 위반이 잡힌 상담원 발화는 모델 프롬프트에서 뺀다(테스트)
- Ollama 배포 파일(
infra/k8s/base/ollama.yaml, ClusterIP 전용) - 루트 볼륨 60GB · 고정 IP · 인스턴스 등급 상향 (10-02 —
c7i.2xlarge) - 운영에 모델 등록 ·
server-env에OLLAMA_URL·POSTCALL_MODEL·/healthspokes에postcall_model(10-02 새벽) - 운영에서 시연 1막을 넣고 통화 종료 → 요약 시간과 글을 잰다(등급별) (10-02 새벽 —
c7i.2xlarge한 등급만) .env.example에POSTCALL_MODEL=키 이름 — 2026-10-08 사용자가 직접 넣었다(보호 훅)
2026-10-02 — 운영 노드 임시 시험 · 코드 (정성윤)
- 시험:
t3.large에 임시 파드(llama.cpp server · kanana Q4_K_M)를 띄워 서버가 보내는 것과 같은 요약 요청 셋을 쟀다 — 1막 17줄 38.1초 · 폭언·위기 5줄 17.8초 · 외국인 고객 19줄 53.4초(출력 4토큰/초 안팎). 셋 다 규칙 검사 통과. 하네스 값이 아니라 임시 실측이다. 파드·이미지는 지웠다(디스크 62% · ES green 확인). - 그 전에 Ollama 이미지로 시도했다가 디스크가 62% → 91% 로 뛰어 바로 지웠다 — 압축 3.75GB 이미지다. 30GB 디스크에는 Ollama 를 못 올린다.
- 코드:
server/core/config.py·server/main.py(스위치 분리) ·ai/apps/postcall_summary/…/model_postcall_adapter.py(summarize_with_flags— 위반 발화 제외) · 테스트 +4 ·infra/k8s/base/ollama.yaml· 서버 태그0.1.45. server pytest 통과 · aipostcall_summary14 통과 · 구조 계약 5종·3종 KEPT. (ai 전체에서test_harness_postcall2건은 이 Windows 머신의 심볼릭 링크 권한 문제로 실패 — 수정 전에도 같다, CI 는 통과)
2026-10-02 새벽 — 등급 상향 · 올린 뒤 실측 (정성윤)
- 운영 변경: 루트 볼륨 60GB(켠 채로) · 고정 IP
3.38.62.188+ Cloudflare A 레코드(사용자) ·t3.large→c7i.2xlarge(약 1분 중단). 올라온 뒤 파드 넷1/1· ES green ·/healthok 확인. - 실측(임시 Ollama 파드, 각 1회, 하네스 값 아님): 1막 17줄 8.0초(첫 요청, 모델 올리기 2.6초 포함) · 1막 위반 줄 제외 14줄 5.2초 → 다시 3.7초 · 폭언·위기 5줄 2.5초 · 외국인 고객 19줄 7.5초. 출력 18토큰/초 안팎(전 4.4). 다섯 다 규칙 검사 통과, 30초 타임아웃 안. 표는
decisions/146갱신 절. - 알게 된 것: 같은 입력을 두 번 넣으니 글이 달랐다(142자 / 114자, temperature 0 · seed 고정) · 파드 메모리 2,690Mi 라 상한을 3Gi → 4Gi 로 올렸다(
ollama.yaml). - 임시 파드는 지웠다. 모델 파일(1.5GB)과 이미지는 노드에 남겨 정식 배포가 다시 받지 않는다. 디스크 48%.
- 세 번째 완료 조건의 「등급별」 은 한 등급만 쟀다 —
c7i.xlarge는 재지 않았다. - 남은 것: 커밋·머지(승인 대기) → Ollama 배포 →
server-env두 키 →/health에postcall_model→ 운영에서 1막 통화 종료로 다시 잰다.
2026-10-02 새벽(04:40경) — 운영에 켰다 · 운영 실측 (정성윤)
- PR #163 머지 → 릴리스 성공 → server
0.1.45· Ollama 파드1/1.server-env에 두 키를 넣고 서버 재시작 →/healthspokes에postcall_model(카드 생성 스포크는 없다). - 운영 실측(각 1회, 하네스 값 아님): 시연 1막(통화
sum-model-1002-01, 확정 발화 17)을 넣고/close를 세 번 — 14.5초(모델을 처음 올린 요청) · 3.7초 · 3.8초. 셋 다 모델 요약이고 위반 발화 셋의 내용이 요약에 없다. 1회차와 2·3회차의 글이 다르다. - 화면에서 눈으로 본 것은 아니다 — 서버 응답을 직접 받았다. 상담원 화면의 「요약 초안」 칸 확인은 사람 몫이다.
- 남은 것:
.env.example키(사람) · 30분 유휴 뒤 첫 요약이 느린 것을 어떻게 할지 · 시험 통화를 운영 DB 에서 지울지 · 이 등급을 상시로 둘지.
2026-10-02 새벽(04:45) — 시험 통화 삭제 · 모델 상시 유지 (정성윤)
- 시험 통화
sum-model-1002-01을 운영 DB 에서 지웠다(사용자 지시). 먼저 딸린 표를 읽기만 해 행 수를 세고, 한 트랜잭션에서 지우되 센 값과 다르면 되돌리게 했다 — 자막 17 · 추천 10(카드 50) · 체크리스트 6(항목 18) · 마스킹 7 · 콜 가드 3 · 컴플라이언스 3 · 배정 기록 1 · 통화 1. 통화 58 → 57건. OLLAMA_KEEP_ALIVE30m→-1(사용자 지시) — 모델을 계속 올려 둔다. 메모리 약 2.2~2.7GB 상시. 파드가 새로 뜬 직후 첫 요청은 여전히 느리다. 미커밋·미배포.- 위 두 절 제목의 「오후」·「저녁」 은 잘못 적은 것이라 「새벽」 으로 고쳤다 — 전부 10-02 04시대(KST)의 일이다.
2026-10-08 — 닫는다
마지막 남은 칸이 .env.example 한 줄이었고, 보호 훅 때문에 사람 몫이었다. 사용자가 직접 넣었다 —
POSTCALL_MODEL= · TRANSCRIPT_ENC_KEY=(decisions/326) 두 줄이 같이 들어왔다.
운영은 0.1.45 부터 모델 요약으로 돌고 있고 지금 0.1.49 다(/health 스포크에 postcall_model).