216 lines
8.5 KiB
PHP
216 lines
8.5 KiB
PHP
<?php
|
||
|
||
return [
|
||
/*
|
||
|--------------------------------------------------------------------------
|
||
| AI Service Configuration
|
||
|--------------------------------------------------------------------------
|
||
|
|
||
| 配置AI服务提供商和参数
|
||
|
|
||
*/
|
||
|
||
'default' => env('AI_SERVICE', 'openai'),
|
||
|
||
'services' => [
|
||
'openai' => [
|
||
'api_key' => env('OPENAI_API_KEY', ''),
|
||
'api_url' => env('OPENAI_API_URL', 'https://api.openai.com/v1/chat/completions'),
|
||
'model' => env('OPENAI_MODEL', 'gpt-3.5-turbo'),
|
||
'max_tokens' => env('OPENAI_MAX_TOKENS', 2000),
|
||
'temperature' => env('OPENAI_TEMPERATURE', 0.7),
|
||
'timeout' => env('OPENAI_TIMEOUT', 30),
|
||
],
|
||
|
||
'azure_openai' => [
|
||
'api_key' => env('AZURE_OPENAI_API_KEY', ''),
|
||
'api_url' => env('AZURE_OPENAI_API_URL', ''),
|
||
'deployment_name' => env('AZURE_OPENAI_DEPLOYMENT_NAME', ''),
|
||
'api_version' => env('AZURE_OPENAI_API_VERSION', '2023-05-15'),
|
||
'max_tokens' => env('AZURE_OPENAI_MAX_TOKENS', 2000),
|
||
'temperature' => env('AZURE_OPENAI_TEMPERATURE', 0.7),
|
||
'timeout' => env('AZURE_OPENAI_TIMEOUT', 30),
|
||
],
|
||
|
||
'anthropic' => [
|
||
'api_key' => env('ANTHROPIC_API_KEY', ''),
|
||
'api_url' => env('ANTHROPIC_API_URL', 'https://api.anthropic.com/v1/messages'),
|
||
'model' => env('ANTHROPIC_MODEL', 'claude-3-haiku-20240307'),
|
||
'max_tokens' => env('ANTHROPIC_MAX_TOKENS', 2000),
|
||
'temperature' => env('ANTHROPIC_TEMPERATURE', 0.7),
|
||
'timeout' => env('ANTHROPIC_TIMEOUT', 30),
|
||
],
|
||
|
||
'local' => [
|
||
'api_url' => env('LOCAL_AI_API_URL', 'http://localhost:8080/v1/chat/completions'),
|
||
'model' => env('LOCAL_AI_MODEL', 'local-model'),
|
||
'max_tokens' => env('LOCAL_AI_MAX_TOKENS', 2000),
|
||
'temperature' => env('LOCAL_AI_TEMPERATURE', 0.7),
|
||
'timeout' => env('LOCAL_AI_TIMEOUT', 30),
|
||
],
|
||
|
||
'aliyun_qwen' => [
|
||
'api_key' => env('ALIYUN_QWEN_API_KEY', ''),
|
||
'api_url' => env('ALIYUN_QWEN_API_URL', 'https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions'),
|
||
'model' => env('ALIYUN_QWEN_MODEL', 'qwen-max'),
|
||
'max_tokens' => env('ALIYUN_QWEN_MAX_TOKENS', 2000),
|
||
'temperature' => env('ALIYUN_QWEN_TEMPERATURE', 0.7),
|
||
'timeout' => env('ALIYUN_QWEN_TIMEOUT', 30),
|
||
],
|
||
],
|
||
|
||
/*
|
||
|--------------------------------------------------------------------------
|
||
| AI Assistant Settings
|
||
|--------------------------------------------------------------------------
|
||
|
|
||
| AI助手功能配置
|
||
|
|
||
*/
|
||
|
||
'assistant' => [
|
||
// 系统提示词模板
|
||
'system_prompt' => env('AI_SYSTEM_PROMPT', '你是一个专业的ERP系统AI助手,专门帮助用户处理企业资源管理相关的问题。'),
|
||
|
||
// 对话设置
|
||
'max_conversation_messages' => env('AI_MAX_CONVERSATION_MESSAGES', 50),
|
||
'max_message_length' => env('AI_MAX_MESSAGE_LENGTH', 2000),
|
||
'max_history_messages' => env('AI_MAX_HISTORY_MESSAGES', 10),
|
||
|
||
// 功能开关
|
||
'enable_chat' => env('AI_ENABLE_CHAT', true),
|
||
'enable_data_analysis' => env('AI_ENABLE_DATA_ANALYSIS', true),
|
||
'enable_report_generation' => env('AI_ENABLE_REPORT_GENERATION', true),
|
||
'enable_prediction' => env('AI_ENABLE_PREDICTION', true),
|
||
'enable_recommendation' => env('AI_ENABLE_RECOMMENDATION', true),
|
||
'enable_document_summary' => env('AI_ENABLE_DOCUMENT_SUMMARY', true),
|
||
|
||
// 使用限制
|
||
'daily_message_limit' => env('AI_DAILY_MESSAGE_LIMIT', 100),
|
||
'daily_token_limit' => env('AI_DAILY_TOKEN_LIMIT', 100000),
|
||
'conversation_timeout_hours' => env('AI_CONVERSATION_TIMEOUT_HOURS', 24),
|
||
],
|
||
|
||
/*
|
||
|--------------------------------------------------------------------------
|
||
| Module-specific Prompts
|
||
|--------------------------------------------------------------------------
|
||
|
|
||
| 各模块专用提示词
|
||
|
|
||
*/
|
||
|
||
'module_prompts' => [
|
||
'goods' => '你现在正在处理商品管理模块的问题。你可以帮助用户:查询商品信息、添加新商品、更新商品库存、设置商品价格、管理商品分类等。',
|
||
'orders' => '你现在正在处理订单管理模块的问题。你可以帮助用户:查看订单状态、处理新订单、发货操作、订单统计、退款处理等。',
|
||
'purchase' => '你现在正在处理采购管理模块的问题。你可以帮助用户:创建采购单、供应商管理、采购审批流程、收货入库、采购统计等。',
|
||
'inventory' => '你现在正在处理库存管理模块的问题。你可以帮助用户:库存查询、库存预警、盘点管理、出入库记录、库存调拨等。',
|
||
'finance' => '你现在正在处理财务管理模块的问题。你可以帮助用户:收支记录、财务报表、发票管理、对账处理、预算控制等。',
|
||
'system' => '你现在正在处理系统管理模块的问题。你可以帮助用户:用户管理、权限设置、系统配置、日志查看、数据备份等。',
|
||
],
|
||
|
||
/*
|
||
|--------------------------------------------------------------------------
|
||
| Task-specific Settings
|
||
|--------------------------------------------------------------------------
|
||
|
|
||
| 特定任务配置
|
||
|
|
||
*/
|
||
|
||
'tasks' => [
|
||
'data_analysis' => [
|
||
'enabled' => true,
|
||
'max_data_points' => 1000,
|
||
'supported_types' => ['sales', 'inventory', 'finance', 'customer'],
|
||
],
|
||
'report_generation' => [
|
||
'enabled' => true,
|
||
'max_report_length' => 5000,
|
||
'supported_formats' => ['text', 'markdown', 'html'],
|
||
],
|
||
'prediction' => [
|
||
'enabled' => true,
|
||
'max_periods' => 12,
|
||
'confidence_threshold' => 0.7,
|
||
],
|
||
'recommendation' => [
|
||
'enabled' => true,
|
||
'max_recommendations' => 10,
|
||
'supported_areas' => ['inventory', 'sales', 'purchase', 'finance'],
|
||
],
|
||
'document_summary' => [
|
||
'enabled' => true,
|
||
'max_document_length' => 10000,
|
||
'min_summary_length' => 50,
|
||
'max_summary_length' => 1000,
|
||
],
|
||
],
|
||
|
||
/*
|
||
|--------------------------------------------------------------------------
|
||
| Security Settings
|
||
|--------------------------------------------------------------------------
|
||
|
|
||
| 安全配置
|
||
|
|
||
*/
|
||
|
||
'security' => [
|
||
'filter_sensitive_data' => env('AI_FILTER_SENSITIVE_DATA', true),
|
||
'sensitive_keywords' => [
|
||
'password', 'token', 'secret', 'key', 'credit_card', 'ssn',
|
||
'身份证', '密码', '密钥', '令牌', '银行卡',
|
||
],
|
||
'content_moderation' => env('AI_CONTENT_MODERATION', true),
|
||
'rate_limit' => env('AI_RATE_LIMIT', 60), // 每分钟请求数
|
||
],
|
||
|
||
/*
|
||
|--------------------------------------------------------------------------
|
||
| Cache Settings
|
||
|--------------------------------------------------------------------------
|
||
|
|
||
| 缓存配置
|
||
|
|
||
*/
|
||
|
||
'cache' => [
|
||
'enabled' => env('AI_CACHE_ENABLED', true),
|
||
'ttl' => env('AI_CACHE_TTL', 3600), // 缓存时间(秒)
|
||
'prefix' => env('AI_CACHE_PREFIX', 'ai_'),
|
||
],
|
||
|
||
/*
|
||
|--------------------------------------------------------------------------
|
||
| Logging Settings
|
||
|--------------------------------------------------------------------------
|
||
|
|
||
| 日志配置
|
||
|
|
||
*/
|
||
|
||
'logging' => [
|
||
'enabled' => env('AI_LOGGING_ENABLED', true),
|
||
'level' => env('AI_LOGGING_LEVEL', 'info'),
|
||
'log_requests' => env('AI_LOG_REQUESTS', true),
|
||
'log_responses' => env('AI_LOG_RESPONSES', false), // 注意:记录响应可能包含敏感信息
|
||
'log_errors' => env('AI_LOG_ERRORS', true),
|
||
],
|
||
|
||
/*
|
||
|--------------------------------------------------------------------------
|
||
| Fallback Settings
|
||
|--------------------------------------------------------------------------
|
||
|
|
||
| 降级配置
|
||
|
|
||
*/
|
||
|
||
'fallback' => [
|
||
'enabled' => env('AI_FALLBACK_ENABLED', true),
|
||
'service_order' => ['openai', 'azure_openai', 'anthropic', 'aliyun_qwen', 'local'],
|
||
'max_retries' => env('AI_MAX_RETRIES', 3),
|
||
'retry_delay' => env('AI_RETRY_DELAY', 1000), // 毫秒
|
||
],
|
||
]; |