feat: add configurable Bailian AI cell call runtime
This commit is contained in:
@@ -16,6 +16,8 @@ services:
|
||||
interval: 5s
|
||||
timeout: 3s
|
||||
retries: 12
|
||||
ports:
|
||||
- "127.0.0.1:${RABBITMQ_PORT:-5672}:5672"
|
||||
volumes:
|
||||
- rabbitmq_data:/var/lib/rabbitmq
|
||||
logging:
|
||||
@@ -38,6 +40,8 @@ services:
|
||||
BROKER_MODE: "rabbit"
|
||||
RABBITMQ_URL: "${RABBITMQ_URL:?Set RABBITMQ_URL}"
|
||||
HTTP_TOKENS: "${HTTP_TOKENS:?Set HTTP_TOKENS}"
|
||||
AI_CONFIG_ISSUER: "${AI_CONFIG_ISSUER:-}"
|
||||
AI_CONFIG_AUDIENCE: "${AI_CONFIG_AUDIENCE:-}"
|
||||
AGENT_CALL_SIP_READONLY_URL: "${AGENT_CALL_SIP_READONLY_URL:-}"
|
||||
AGENT_CALL_SIP_READONLY_TOKEN: "${AGENT_CALL_SIP_READONLY_TOKEN:-}"
|
||||
AGENT_CALL_SIP_READONLY_CA_FILE: >-
|
||||
@@ -56,6 +60,57 @@ services:
|
||||
driver: json-file
|
||||
options: {max-size: "10m", max-file: "3"}
|
||||
|
||||
cell-worker:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
profiles: ["real-cell"]
|
||||
restart: unless-stopped
|
||||
init: true
|
||||
entrypoint: ["python", "-m", "agent_call.cell_worker_main"]
|
||||
network_mode: host
|
||||
depends_on:
|
||||
rabbitmq:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
AGENT_CALL_AI_PROFILE: >-
|
||||
${AGENT_CALL_AI_PROFILE:-/app/configs/ai-test.bailian.example.yaml}
|
||||
AGENT_CALL_PROMPT_FILE: >-
|
||||
${AGENT_CALL_PROMPT_FILE:-/app/prompts/test-call.txt}
|
||||
AGENT_CALL_TENANT_KEY: >-
|
||||
${AGENT_CALL_TENANT_KEY:?Set AGENT_CALL_TENANT_KEY}
|
||||
AGENT_CALL_EXECUTION_LEDGER: >-
|
||||
${AGENT_CALL_EXECUTION_LEDGER:-/data/cell-executions.sqlite3}
|
||||
RABBITMQ_URL: "${RABBITMQ_URL:?Set RABBITMQ_URL}"
|
||||
BAILIAN_API_KEY: "${BAILIAN_API_KEY:?Set BAILIAN_API_KEY}"
|
||||
BAILIAN_BASE_URL: "${BAILIAN_BASE_URL:?Set BAILIAN_BASE_URL}"
|
||||
BAILIAN_WSS_BASE_URL: "${BAILIAN_WSS_BASE_URL:?Set BAILIAN_WSS_BASE_URL}"
|
||||
BAILIAN_TTS_WSS_BASE_URL: "${BAILIAN_TTS_WSS_BASE_URL:-}"
|
||||
BAILIAN_TTS_MODEL: "${BAILIAN_TTS_MODEL:-cosyvoice-v3.5-plus}"
|
||||
BAILIAN_TTS_VOICE: "${BAILIAN_TTS_VOICE:?Set BAILIAN_TTS_VOICE}"
|
||||
BAILIAN_ASR_MODEL: "${BAILIAN_ASR_MODEL:-fun-asr-realtime}"
|
||||
CELL_ARI_URL: "${CELL_ARI_URL:-http://127.0.0.1:8088}"
|
||||
CELL_ARI_USERNAME: "${CELL_ARI_USERNAME:-outbound}"
|
||||
CELL_ARI_PASSWORD: "${CELL_ARI_PASSWORD:?Set CELL_ARI_PASSWORD}"
|
||||
CELL_ARI_APP: "${CELL_ARI_APP:-agent-call}"
|
||||
CELL_SIP_TRUNK_ID: "${CELL_SIP_TRUNK_ID:?Set CELL_SIP_TRUNK_ID}"
|
||||
CELL_CALLER_ID: "${CELL_CALLER_ID:?Set CELL_CALLER_ID}"
|
||||
CELL_RTP_BIND_HOST: "${CELL_RTP_BIND_HOST:-127.0.0.1}"
|
||||
CELL_RECORDING_DIR: "${CELL_RECORDING_DIR:-/data/recordings}"
|
||||
volumes:
|
||||
- agent_call_data:/data
|
||||
tmpfs:
|
||||
- /tmp:rw,noexec,nosuid,size=64m
|
||||
read_only: false
|
||||
cap_drop: [ALL]
|
||||
security_opt: [no-new-privileges:true]
|
||||
pids_limit: 256
|
||||
mem_limit: 1g
|
||||
cpus: 2
|
||||
logging:
|
||||
driver: json-file
|
||||
options: {max-size: "10m", max-file: "3"}
|
||||
|
||||
sip-management:
|
||||
build:
|
||||
context: .
|
||||
|
||||
Reference in New Issue
Block a user