feat: add durable ASR-to-patient extraction and guarded review
This commit is contained in:
@@ -26,6 +26,10 @@ return [
|
||||
'ffmpeg' => (string) env('followup_audio.FFMPEG', 'ffmpeg'),
|
||||
'ffprobe' => (string) env('followup_audio.FFPROBE', 'ffprobe'),
|
||||
'max_response_bytes' => 8388608,
|
||||
'asr_chunk_seconds' => (int) env('followup_audio.ASR_CHUNK_SECONDS', 120),
|
||||
'asr_max_chunk_bytes' => 4194304,
|
||||
'asr_request_timeout' => (int) env('followup_audio.ASR_REQUEST_TIMEOUT', 240),
|
||||
'extraction_request_timeout' => (int) env('followup_audio.EXTRACTION_REQUEST_TIMEOUT', 240),
|
||||
// HTTP is permitted only for explicitly acknowledged synthetic probes, never patient requests.
|
||||
'allow_insecure_synthetic' => filter_var(env('followup_audio.ALLOW_INSECURE_SYNTHETIC', false), FILTER_VALIDATE_BOOLEAN),
|
||||
// Stable logical slots preserve task schema. No model identifier or supplier is hardcoded.
|
||||
@@ -38,6 +42,23 @@ return [
|
||||
'api_key' => (string) env($prefix . 'API_KEY', ''),
|
||||
'model' => (string) env($prefix . 'MODEL', ''),
|
||||
'label' => (string) env($prefix . 'LABEL', $profile),
|
||||
// Explicit server-only two-stage identities; no fallback to prescription_ai or another slot.
|
||||
'allow_loopback_tunnel' => filter_var(env($prefix . 'ALLOW_LOOPBACK_TUNNEL', false), FILTER_VALIDATE_BOOLEAN),
|
||||
'asr' => [
|
||||
'base_url' => (string) env($prefix . 'ASR_BASE_URL', ''),
|
||||
'api_key' => (string) env($prefix . 'ASR_API_KEY', ''),
|
||||
'model' => (string) env($prefix . 'ASR_MODEL', ''),
|
||||
],
|
||||
'extraction' => [
|
||||
'base_url' => (string) env($prefix . 'EXTRACTION_BASE_URL', ''),
|
||||
'api_key' => (string) env($prefix . 'EXTRACTION_API_KEY', ''),
|
||||
'model' => (string) env($prefix . 'EXTRACTION_MODEL', ''),
|
||||
'response_format' => (string) env($prefix . 'EXTRACTION_RESPONSE_FORMAT', 'json_schema'),
|
||||
'max_tokens' => (int) env($prefix . 'EXTRACTION_MAX_TOKENS', 8192),
|
||||
// Unset is portable; explicit true/false opts into the provider's Qwen chat-template extension.
|
||||
'enable_thinking' => env($prefix . 'EXTRACTION_ENABLE_THINKING', null) === null ? null
|
||||
: (filter_var(env($prefix . 'EXTRACTION_ENABLE_THINKING'), FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE) ?? 'invalid'),
|
||||
],
|
||||
'verified_fingerprint' => (string) env($prefix . 'VERIFIED_FINGERPRINT', ''),
|
||||
];
|
||||
}, ['qwen', 'openai'])),
|
||||
|
||||
Reference in New Issue
Block a user