filter_var( env('prescription_ai.ENABLE', env('prescription_ai.enable', false)), FILTER_VALIDATE_BOOLEAN ), 'base_url' => rtrim((string) env( 'prescription_ai.BASE_URL', env('prescription_ai.base_url', '') ), '/'), 'timeout' => (int) env( 'prescription_ai.TIMEOUT', env('prescription_ai.timeout', 90) ), /** * 单次请求可随附的附件总数上限。Dify 应用的 file_upload.number_limits 超限时 * 直接返回 400 invalid_param 拒绝整单,患者纵向资料的附件数量又不可控, * 因此这里必须与上游应用配置保持一致(默认 3),超出的附件改以清单形式送达。 */ 'max_files' => (int) env( 'prescription_ai.MAX_FILES', env('prescription_ai.max_files', 3) ), 'models' => [ 'qwen' => [ 'name' => 'qwen3.6-35b', 'label' => '千问', 'api_key' => (string) env( 'prescription_ai.QWEN_API_KEY', env('prescription_ai.qwen_api_key', '') ), ], 'openai' => [ 'name' => 'gpt-5.6-sol', 'label' => 'OpenAI', 'api_key' => (string) env( 'prescription_ai.OPENAI_API_KEY', env('prescription_ai.openai_api_key', '') ), ], ], ];