186 lines
5.1 KiB
Bash
186 lines
5.1 KiB
Bash
APP_ENV=dev
|
|
LOG_LEVEL=debug
|
|
|
|
VOICE_PROVIDER=fake
|
|
|
|
DIALOGUE_DEFAULT_LANGUAGE=
|
|
DIALOGUE_DEFAULT_REGION_CODE=
|
|
DIALOGUE_ENFORCE_LANGUAGE_REGION=false
|
|
|
|
AGENT_NAME=Жанна
|
|
AGENT_COMPANY=QazAimaqGas
|
|
AGENT_INITIAL_GREETING_MODE=natural
|
|
AGENT_REQUIRE_EXPLICIT_LANGUAGE=false
|
|
AGENT_REQUIRE_REGION_BEFORE_HELP=false
|
|
AGENT_ALLOW_GLOBAL_KB_WITHOUT_REGION=true
|
|
|
|
LANGUAGE_SELECTION_ENABLED=false
|
|
LANGUAGE_CONFIDENCE_THRESHOLD=0.70
|
|
LANGUAGE_CHANGE_CONFIDENCE_THRESHOLD=0.90
|
|
LANGUAGE_ALLOW_CHANGE_AFTER_SELECTION=true
|
|
LANGUAGE_DEFAULT_ON_TIMEOUT=
|
|
|
|
REGION_RESOLVER_ENABLED=true
|
|
REGION_CONFIDENCE_THRESHOLD=0.70
|
|
REGION_CHANGE_CONFIDENCE_THRESHOLD=0.90
|
|
REGION_ALLOW_CHANGE_AFTER_SELECTION=true
|
|
REGION_DEFAULT_ON_TIMEOUT=
|
|
REGION_ENABLE_DISABLED_SPECIAL_REGIONS=false
|
|
|
|
ASTERISK_ARI_URL=http://127.0.0.1:8088/ari
|
|
ASTERISK_ARI_WS_URL=ws://127.0.0.1:8088/ari/events
|
|
ASTERISK_ARI_USER=ai_operator
|
|
ASTERISK_ARI_PASSWORD=CHANGE_ME
|
|
ASTERISK_ARI_APP=ai-operator
|
|
ASTERISK_ARI_WS_AUTH_MODE=basic
|
|
|
|
ASTERISK_MEDIA_MODE=chan_websocket
|
|
ASTERISK_MEDIA_CODEC=slin16
|
|
ASTERISK_MEDIA_WS_BASE_URL=ws://127.0.0.1:8088/media
|
|
|
|
OPENAI_API_KEY=
|
|
OPENAI_REALTIME_URL=wss://api.openai.com/v1/realtime
|
|
OPENAI_REALTIME_MODEL=gpt-realtime-2
|
|
OPENAI_REALTIME_VOICE=marin
|
|
OPENAI_REALTIME_INSTRUCTIONS=
|
|
OPENAI_REALTIME_INPUT_AUDIO_FORMAT=pcm16
|
|
OPENAI_REALTIME_OUTPUT_AUDIO_FORMAT=pcm16
|
|
OPENAI_REALTIME_INPUT_SAMPLE_RATE=24000
|
|
OPENAI_REALTIME_OUTPUT_SAMPLE_RATE=24000
|
|
OPENAI_REALTIME_TURN_DETECTION=server_vad
|
|
OPENAI_REALTIME_REASONING_EFFORT=low
|
|
OPENAI_REALTIME_CONNECT_TIMEOUT=10s
|
|
OPENAI_REALTIME_SESSION_TIMEOUT=60s
|
|
OPENAI_REALTIME_MAX_AUDIO_CHUNK_BYTES=32768
|
|
OPENAI_REALTIME_LIVE_SMOKE_ENABLED=false
|
|
OPENAI_REALTIME_INITIAL_GREETING=true
|
|
OPENAI_REALTIME_MAX_SESSION_SECONDS=60
|
|
OPENAI_REALTIME_MAX_INPUT_AUDIO_BYTES=10485760
|
|
OPENAI_REALTIME_MAX_OUTPUT_AUDIO_BYTES=10485760
|
|
|
|
STT_PROVIDER=elevenlabs
|
|
ELEVENLABS_STT_MODE=realtime
|
|
ELEVENLABS_STT_MODEL=scribe_realtime_v2
|
|
ELEVENLABS_STT_LANGUAGE_AUTO=true
|
|
ELEVENLABS_STT_LANGUAGE_CODE=
|
|
ELEVENLABS_STT_SAMPLE_RATE=16000
|
|
ELEVENLABS_STT_INPUT_FORMAT=pcm_16000
|
|
ELEVENLABS_STT_PARTIAL_ENABLED=true
|
|
ELEVENLABS_STT_COMMITTED_ONLY_FOR_LLM=true
|
|
ELEVENLABS_STT_TIMEOUT=15s
|
|
|
|
LLM_PROVIDER=openai
|
|
LLM_MODEL=gpt-4.1-nano
|
|
LLM_TEMPERATURE=0.2
|
|
LLM_MAX_OUTPUT_TOKENS=300
|
|
LLM_TIMEOUT=15s
|
|
LLM_STREAM=true
|
|
LLM_MAX_TOOL_LOOPS=3
|
|
LLM_FIRST_CHUNK_TIMEOUT_MS=1200
|
|
LLM_STREAM_CHUNK_MIN_CHARS=30
|
|
LLM_STREAM_CHUNK_MAX_CHARS=160
|
|
|
|
ELEVENLABS_API_KEY=
|
|
ELEVENLABS_VOICE_ID_RU=
|
|
ELEVENLABS_VOICE_ID_KK=
|
|
ELEVENLABS_TTS_MODE=websocket
|
|
ELEVENLABS_TTS_MODEL_ID=eleven_flash_v2_5
|
|
ELEVENLABS_TTS_EXPRESSIVE_MODEL_ID=eleven_v3
|
|
ELEVENLABS_TTS_OUTPUT_FORMAT=pcm_16000
|
|
ELEVENLABS_TTS_SAMPLE_RATE=16000
|
|
ELEVENLABS_TTS_STABILITY=0.42
|
|
ELEVENLABS_TTS_SIMILARITY_BOOST=0.8
|
|
ELEVENLABS_TTS_STYLE=0.25
|
|
ELEVENLABS_TTS_USE_SPEAKER_BOOST=true
|
|
ELEVENLABS_TTS_OPTIMIZE_STREAMING_LATENCY=3
|
|
ELEVENLABS_TTS_TIMEOUT=15s
|
|
|
|
VOICE_NATURALNESS_ENABLED=true
|
|
VOICE_AUDIO_TAGS_ENABLED=true
|
|
VOICE_AUDIO_TAGS_MODE=controlled
|
|
VOICE_ALLOW_NONVERBAL_TAGS=true
|
|
VOICE_ALLOW_COUGH=false
|
|
VOICE_ALLOW_LAUGH=true
|
|
VOICE_MAX_AUDIO_TAGS_PER_RESPONSE=2
|
|
VOICE_REMOVE_AUDIO_TAGS_FROM_TRANSCRIPT=true
|
|
|
|
PIPELINE_INITIAL_GREETING=true
|
|
PIPELINE_BARGE_IN=true
|
|
PIPELINE_FLUSH_ON_USER_SPEECH=true
|
|
PIPELINE_MAX_TURN_SECONDS=20
|
|
PIPELINE_MAX_RESPONSE_CHARS=600
|
|
PIPELINE_ALLOW_GLOBAL_KB_WITHOUT_REGION=true
|
|
PIPELINE_TTFB_TARGET_MS=1200
|
|
PIPELINE_TTS_START_AFTER_CHARS=60
|
|
PIPELINE_TTS_START_AFTER_PUNCTUATION=true
|
|
|
|
DATABASE_URL=
|
|
DATABASE_MAX_OPEN_CONNS=10
|
|
DATABASE_MAX_IDLE_CONNS=5
|
|
DATABASE_CONN_MAX_LIFETIME=30m
|
|
DATABASE_MIGRATIONS_ENABLED=true
|
|
|
|
EMBEDDING_PROVIDER=fake
|
|
EMBEDDING_MODEL=text-embedding-3-small
|
|
EMBEDDING_DIMENSIONS=1536
|
|
EMBEDDING_BATCH_SIZE=32
|
|
EMBEDDING_MAX_INPUT_CHARS=8000
|
|
EMBEDDING_OPENAI_LIVE_ENABLED=false
|
|
|
|
KB_CROSS_LANGUAGE_FALLBACK=true
|
|
KB_DEFAULT_LIMIT=5
|
|
KB_MAX_LIMIT=10
|
|
KB_MIN_SCORE=0.20
|
|
KB_QUERY_MAX_CHARS=1000
|
|
|
|
HANDOFF_MODE=disabled_stub
|
|
HANDOFF_ENABLED=false
|
|
HANDOFF_TARGET_ENDPOINT=
|
|
HANDOFF_DIALPLAN_CONTEXT=
|
|
HANDOFF_DIALPLAN_EXTENSION=
|
|
HANDOFF_DIALPLAN_PRIORITY=1
|
|
HANDOFF_QUEUE_NAME=
|
|
HANDOFF_TIMEOUT=30s
|
|
HANDOFF_MAX_ATTEMPTS=1
|
|
HANDOFF_PLAY_MESSAGE_BEFORE_TRANSFER=true
|
|
HANDOFF_HANGUP_AFTER_STUB=false
|
|
HANDOFF_ALLOW_IN_TEST_ROUTE_ONLY=true
|
|
HANDOFF_MAX_SUMMARY_CHARS=500
|
|
|
|
FALLBACK_MAX_LANGUAGE_FAILURES=3
|
|
FALLBACK_MAX_REGION_FAILURES=3
|
|
FALLBACK_MAX_NO_ANSWER=2
|
|
FALLBACK_MAX_KB_UNAVAILABLE=1
|
|
FALLBACK_MAX_AI_ERRORS=1
|
|
FALLBACK_MAX_MEDIA_ERRORS=1
|
|
FALLBACK_MAX_TOOL_ERRORS=2
|
|
FALLBACK_CALL_TIMEOUT=5m
|
|
|
|
|
|
AUDIT_ENABLED=true
|
|
AUDIT_SINK=postgres
|
|
AUDIT_FAIL_CLOSED=false
|
|
AUDIT_STORE_TRANSCRIPTS=true
|
|
AUDIT_STORE_TRANSCRIPT_DELTAS=false
|
|
AUDIT_STORE_RAW_TRANSCRIPTS=false
|
|
AUDIT_STORE_REDACTED_TRANSCRIPTS=true
|
|
AUDIT_STORE_TOOL_ARGS=true
|
|
AUDIT_STORE_TOOL_RESULTS=true
|
|
AUDIT_STORE_KB_RESULTS=true
|
|
AUDIT_STORE_PROVIDER_EVENTS=true
|
|
AUDIT_STORE_MEDIA_STATS=true
|
|
AUDIT_MAX_TRANSCRIPT_CHARS=4000
|
|
AUDIT_MAX_TOOL_ARG_CHARS=4000
|
|
AUDIT_MAX_TOOL_RESULT_CHARS=8000
|
|
AUDIT_MAX_EVENT_METADATA_CHARS=8000
|
|
AUDIT_RETENTION_DAYS=180
|
|
TRANSCRIPT_RETENTION_DAYS=30
|
|
TOOL_AUDIT_RETENTION_DAYS=180
|
|
ERROR_AUDIT_RETENTION_DAYS=365
|
|
AUDIT_EXPORT_MAX_EVENTS=10000
|
|
AUDIT_REDACTION_ENABLED=true
|
|
AUDIT_REDACTION_STRICT=true
|
|
AUDIT_LOG_FULL_PHONE=false
|
|
AUDIT_LOG_FULL_IIN=false
|
|
AUDIT_LOG_FULL_CARD=false
|