42 lines
3.3 KiB
PHP
42 lines
3.3 KiB
PHP
<?php
|
|
|
|
/**
|
|
* 医助服务模块。菜单和人工任务可用,AI调用按独立开关开放。
|
|
* 沿用 prescription_ai 服务端凭据;不复制或下发模型密钥。
|
|
*/
|
|
return [
|
|
// 今日核查独立于 AI 开关;只绑定显式授权主管,默认不开启。
|
|
'daily_contact_enabled' => filter_var(env('assistant_service.DAILY_CONTACT_ENABLED', false), FILTER_VALIDATE_BOOLEAN),
|
|
'daily_contact_actor_id' => max(0, (int) env('assistant_service.DAILY_CONTACT_ACTOR_ID', 0)),
|
|
'daily_contact_interval_seconds' => max(5, min(3600, (int) env('assistant_service.DAILY_CONTACT_INTERVAL_SECONDS', 60))),
|
|
'daily_contact_batch_size' => max(1, min(1000, (int) env('assistant_service.DAILY_CONTACT_BATCH_SIZE', 500))),
|
|
// 行为预警独立于 AI 和今日联系。关闭时只停止扫描,已有预警仍可复核。
|
|
'alert_enabled' => filter_var(env('assistant_service.ALERT_ENABLED', false), FILTER_VALIDATE_BOOLEAN),
|
|
'alert_interval_seconds' => max(5, min(3600, (int) env('assistant_service.ALERT_INTERVAL_SECONDS', 60))),
|
|
'alert_batch_size' => max(1, min(500, (int) env('assistant_service.ALERT_BATCH_SIZE', 200))),
|
|
// 企微客服归档(im.zhenyangtang.cn)。只拉员工发出且已绑定患者的文字。
|
|
'wecom_archive_sqlite' => (string) env('assistant_service.WECOM_ARCHIVE_SQLITE', ''),
|
|
'wecom_archive_base_url' => rtrim((string) env('assistant_service.WECOM_ARCHIVE_BASE_URL', ''), '/'),
|
|
'wecom_archive_token' => (string) env('assistant_service.WECOM_ARCHIVE_TOKEN', ''),
|
|
'wecom_wording_enabled' => filter_var(env('assistant_service.WECOM_WORDING_ENABLED', false), FILTER_VALIDATE_BOOLEAN),
|
|
'wecom_wording_interval_seconds' => max(60, min(86400, (int) env('assistant_service.WECOM_WORDING_INTERVAL_SECONDS', 600))),
|
|
'wecom_wording_batch_size' => max(1, min(20, (int) env('assistant_service.WECOM_WORDING_BATCH_SIZE', 6))),
|
|
// 仅显式绑定的现存主管可调度;默认关闭,不自动挑选管理员账号。
|
|
'auto_enabled' => filter_var(env('assistant_service.AUTO_ENABLED', false), FILTER_VALIDATE_BOOLEAN),
|
|
'auto_actor_id' => max(0, (int) env('assistant_service.AUTO_ACTOR_ID', 0)),
|
|
'auto_interval_seconds' => max(5, min(3600, (int) env('assistant_service.AUTO_INTERVAL_SECONDS', 60))),
|
|
'auto_quiet_seconds' => max(0, min(86400, (int) env('assistant_service.AUTO_QUIET_SECONDS', 300))),
|
|
'auto_batch_size' => max(1, min(10, (int) env('assistant_service.AUTO_BATCH_SIZE', 10))),
|
|
'enabled' => filter_var(env('assistant_service.ENABLED', false), FILTER_VALIDATE_BOOLEAN),
|
|
'profile' => (string) env('assistant_service.PROFILE', 'qwen'),
|
|
'timeout' => max(10, min(240, (int) env('assistant_service.TIMEOUT', 120))),
|
|
// 大于模型请求预算;过期任务进入待核对,不自动重复调用上游。
|
|
'lease_seconds' => max(300, (int) env('assistant_service.LEASE_SECONDS', 300)),
|
|
'max_source_rows' => max(1, min(1000, (int) env('assistant_service.MAX_SOURCE_ROWS', 200))),
|
|
'max_source_chars' => max(1000, min(100000, (int) env('assistant_service.MAX_SOURCE_CHARS', 30000))),
|
|
'max_manual_chars' => 10000,
|
|
'max_question_chars' => 1000,
|
|
'max_knowledge_rows' => max(1, min(100, (int) env('assistant_service.MAX_KNOWLEDGE_ROWS', 40))),
|
|
'daily_job_limit' => max(1, min(1000, (int) env('assistant_service.DAILY_JOB_LIMIT', 100))),
|
|
];
|