| """
|
| CRANE AI Sistem Yapılandırması
|
| """
|
|
|
| import os
|
| from typing import Dict, Any
|
|
|
|
|
| HF_TOKEN = os.getenv("HF_TOKEN", "")
|
|
|
|
|
| MODELS = {
|
| "code_module": {
|
| "model_id": "deepseek-ai/deepseek-coder-1.3b-instruct",
|
| "task": "code_generation",
|
| "max_tokens": 2048,
|
| "temperature": 0.1,
|
| "priority": 1
|
| },
|
| "chat_module": {
|
| "model_id": "Qwen/Qwen2.5-1.5B-Instruct",
|
| "task": "chat",
|
| "max_tokens": 1024,
|
| "temperature": 0.7,
|
| "priority": 2
|
| },
|
| "reason_module": {
|
| "model_id": "microsoft/Phi-3-mini-4k-instruct",
|
| "task": "reasoning",
|
| "max_tokens": 1024,
|
| "temperature": 0.3,
|
| "priority": 3
|
| },
|
| "fast_module": {
|
| "model_id": "TinyLlama/TinyLlama-1.1B-Chat-v1.0",
|
| "task": "quick_response",
|
| "max_tokens": 512,
|
| "temperature": 0.8,
|
| "priority": 4
|
| }
|
| }
|
|
|
|
|
| ROUTER_CONFIG = {
|
| "confidence_threshold": 0.6,
|
| "max_concurrent_requests": 4,
|
| "timeout": 30,
|
| "fallback_model": "fast_module"
|
| }
|
|
|
|
|
| MEMORY_CONFIG = {
|
| "max_slots": 10,
|
| "slot_size": 1024,
|
| "cleanup_interval": 300
|
| }
|
|
|
|
|
| API_CONFIG = {
|
| "host": "0.0.0.0",
|
| "port": 8000,
|
| "workers": 1
|
| }
|
|
|
|
|
| SYSTEM_LIMITS = {
|
| "max_input_length": 4096,
|
| "max_output_length": 2048,
|
| "max_concurrent_users": 10
|
| }
|
|
|
|
|
| LOGGING_CONFIG = {
|
| "level": "INFO",
|
| "format": "%(asctime)s - %(name)s - %(levelname)s - %(message)s",
|
| "file": "logs/crane_ai.log"
|
| }
|
|
|
| def get_model_config(model_name: str) -> Dict[str, Any]:
|
| """Belirli bir model için yapılandırma döndürür"""
|
| return MODELS.get(model_name, MODELS["fast_module"])
|
|
|
| def get_device():
|
| """Kullanılacak cihazı belirler"""
|
| try:
|
| import torch
|
| if torch.cuda.is_available():
|
| return "cuda"
|
| elif torch.backends.mps.is_available():
|
| return "mps"
|
| else:
|
| return "cpu"
|
| except ImportError:
|
| return "cpu"
|
|
|
|
|
| DEVICE = get_device() |