콘텐츠로 이동

설정 참조

아래 값은 현재 코드의 기본값입니다. 프로파일 YAML, Helm values, ConfigMap, Secret 환경변수가 오버라이드할 수 있으므로 실제 파드의 환경과 함께 확인해야 합니다.

연결·인증

키 기본값 설명
server.port 8080 WebSocket·보조 HTTP
management.server.port 9090 Actuator 전용, 외부 노출 금지
app.auth.mode permissive disabled, permissive, enforced
app.client-secret.public-key-pem 빈 값 Ed25519 세션 토큰 검증 공개키
sohri.websocket.max-sessions 1000 파드당 WebSocket 상한
sohri.websocket.session-timeout 300000 ms 고부하 시 유휴 정리 기준
sohri.websocket.cleanup-interval 60000 ms 세션 정리 주기

CLIENT_SECRET_SIGNING_PUBLIC_KEY가 비어 있으면 토큰 경로는 fail-closed지만 API key 경로에는 영향이 없습니다. credential은 Authorization, WebSocket subprotocol, query 순서로 찾습니다.

핸드셰이크 쿼리

정본 별칭 기본·허용값 적용
minSpeech minspeech, min_speech 기본 0.3, 0.1..1800초 다음 EPD 연결
endSilence endsilence, end_silence 기본 1.2, 0.1..5.0초 다음 EPD 연결
epdTimeout timeout, epd_timeout 기본 7.0, 0.1..1800초 다음 EPD 연결
continuousAudio continuous_audio false TIMEOUT 뒤 다음 PCM에서 재연결
ttsSampleRate tts_sample_rate 16000, 24000, 48000 프로바이더 지원값과 교차
ttsStream tts_stream v1만 인식 서버 플래그와 AND

EPD 쿼리의 범위 밖 유한 양수는 경계값으로 보정합니다. 숫자가 아니거나 0 이하·NaN·무한대면 무시합니다. 최종 설정은 minSpeech <= timeout이어야 합니다. 반면 epd_config_update 메시지는 범위 밖 값을 보정하지 않고 400으로 거절합니다.

분석·최종화

키 기본값 설명
sohri.analysis.deferred-enabled false true면 종료 시 누적 분석
sohri.analysis.deferred-flush-timeout-ms 30000 지연 분석 flush 대기
sohri.analysis.openai-immediate-timeout-ms 30000 OpenAI 즉시 분석 최종 대기
sohri.analysis.openai-immediate-max-per-session 128 세션별 추적 상한
sohri.analysis.openai-immediate-max-sessions 2048 추적 세션 상한
sohri.analysis.conversation-summary-timeout-seconds 15 일반 요약 holder 상한
sohri.analysis.biomarker-summary-timeout-seconds 30 바이오마커 요약 holder 상한

대기 중 record tail은 별도 고정 상한 5초를 사용합니다.

SOHRI DM·EPD

키 기본값 설명
mago.epd-url wss://api.magovoice.com/epdx/ EPD WebSocket
mago.bearer-token 빈 값 EPD credential
sohri.epd.activity-idle-timeout-ms 45000 terminal 없는 activity 정리
sohri.epd.cancelled-end.mode PERSIST PERSIST 또는 DROP
sohri.dm.base-url http://sohri-graph-builder:59212 DM base URL
sohri.dm.api-version v1 DM 경로 버전
sohri.dm.reclaim.connect-timeout 2s DM 세션 회수 연결 timeout
sohri.dm.reclaim.read-timeout 8s DM 세션 회수 read timeout
sohri.dm.auxiliary-lease.max-user-wait-ms 3000 보조 lease 뒤 USER 대기 상한

EPD URL과 DM URL은 배포 환경에서 내부 서비스 주소로 바뀔 수 있습니다.

TTS

키 기본값 설명
sohri.tts.default-voice-preset female_warm 세션 미지정 시 preset
sohri.tts.default-provider clova preset 실패 시 기본 provider
sohri.tts.max-frame-bytes 3145728 레거시 단일 WAV 상한
sohri.tts.streaming.enabled false 스트리밍 서버 스위치
sohri.tts.streaming.chunk-millis 100 목표 청크 길이
sohri.tts.streaming.max-chunk-bytes 65536 청크 상한
sohri.tts.streaming.max-total-bytes 3145728 스트림 총량 상한
sohri.tts.streaming.connect-timeout 5s 전용 HTTP 연결 timeout
sohri.tts.streaming.read-timeout 10s 청크 간 stall guard
sohri.tts.voice-preset.cache-ttl 10m preset 조회 캐시

프로바이더별 자격증명은 CLOVA_CLIENT_ID, CLOVA_CLIENT_SECRET, FISH_AUDIO_API_KEY, INWORLD_API_KEY 등으로 주입합니다. Gemini TTS는 API key가 아니라 ADC/Workload Identity를 사용하며 GEMINI_TTS_ENABLED 기본값은 false입니다.

OpenAI Realtime

키 env 기본값
sohri.openai-realtime.enabled OPENAI_REALTIME_ENABLED false
.api-key OPENAI_API_KEY 빈 값
.endpoint OPENAI_REALTIME_ENDPOINT wss://api.openai.com/v1/realtime
.model OPENAI_REALTIME_MODEL gpt-realtime
.voice OPENAI_REALTIME_VOICE marin
.connect-timeout OPENAI_REALTIME_CONNECT_TIMEOUT 10s
.upstream-close-timeout OPENAI_REALTIME_UPSTREAM_CLOSE_TIMEOUT 2s
.session-timeout OPENAI_REALTIME_SESSION_TIMEOUT 55m
.max-sessions OPENAI_REALTIME_MAX_SESSIONS 200
.client-instructions-enabled OPENAI_REALTIME_CLIENT_INSTRUCTIONS_ENABLED false
.max-client-instructions-characters OPENAI_REALTIME_MAX_CLIENT_INSTRUCTIONS_CHARACTERS 2000
.max-pending-audio-sends OPENAI_REALTIME_MAX_PENDING_AUDIO_SENDS 100
.max-input-buffer-bytes OPENAI_REALTIME_MAX_INPUT_BUFFER_BYTES 1920000
.max-bot-audio-bytes OPENAI_REALTIME_MAX_BOT_AUDIO_BYTES 12000000

현재 Helm 배포 값에는 OPENAI_REALTIME_ENABLED 배선이 없습니다. 요약용 OPENAI_API_KEY가 주입된 것과 Realtime 엔진 활성화는 별개입니다.

마음온·아카이빙

키 기본값 설명
sohri.maumon.enabled false 사용자·대화 컨텍스트 조회
sohri.maumon.write-back-enabled false 요약 회신, 조회와 독립
sohri.maumon.connect-timeout 2s 조회·쓰기 연결 timeout
sohri.maumon.read-timeout 3s 조회 read timeout
sohri.maumon.write-read-timeout 10s write-back read timeout
sohri.maumon.cache-ttl 5m 사용자 조회 캐시
sohri.audio-archival.enabled false SOHRI USER Pub/Sub
sohri.audio-archival.user-direct-enabled false OpenAI USER 직접 보관
sohri.audio-archival.bot-enabled false BOT 직접 보관
sohri.audio-archival.bot-stream-max-bytes 3145728 BOT 스트림 누적 상한

현재 staging Helm 값은 기본값과 달리 인증 enforced, 즉시 분석, TTS 스트리밍, 마음온 조회·write-back, USER/BOT 아카이빙을 활성화합니다. 이는 staging 상태이며 다른 환경의 보장을 의미하지 않습니다.

이벤트 필드는 이벤트 참조, 동작 순서는 대화 엔진과 종료·정리를 참고하세요.