52 lines
1.3 KiB
Python
52 lines
1.3 KiB
Python
"""
|
|
Configuration settings for Foxus Backend
|
|
"""
|
|
|
|
import os
|
|
from typing import List
|
|
from pydantic_settings import BaseSettings
|
|
|
|
class Settings(BaseSettings):
|
|
"""Application settings with environment variable support"""
|
|
|
|
# App settings
|
|
APP_NAME: str = "Foxus API"
|
|
VERSION: str = "1.0.0"
|
|
DEBUG: bool = True
|
|
|
|
# Server settings
|
|
HOST: str = "127.0.0.1"
|
|
PORT: int = 8000
|
|
|
|
# Ollama settings
|
|
OLLAMA_BASE_URL: str = "http://localhost:11434"
|
|
DEFAULT_MODEL: str = "codellama:7b-code"
|
|
|
|
# Supported models
|
|
SUPPORTED_MODELS: List[str] = [
|
|
"codellama:7b-code",
|
|
"codellama:13b-code",
|
|
"deepseek-coder:6.7b",
|
|
"starcoder:7b",
|
|
"codegemma:7b"
|
|
]
|
|
|
|
# File processing
|
|
MAX_FILE_SIZE: int = 10 * 1024 * 1024 # 10MB
|
|
SUPPORTED_EXTENSIONS: List[str] = [
|
|
".py", ".js", ".ts", ".jsx", ".tsx", ".go", ".java", ".cpp", ".c", ".h",
|
|
".rs", ".php", ".rb", ".swift", ".kt", ".cs", ".scala", ".sh", ".bash",
|
|
".yaml", ".yml", ".json", ".xml", ".html", ".css", ".sql", ".md"
|
|
]
|
|
|
|
# AI settings
|
|
MAX_TOKENS: int = 4096
|
|
TEMPERATURE: float = 0.1
|
|
TOP_P: float = 0.9
|
|
|
|
class Config:
|
|
env_file = ".env"
|
|
case_sensitive = True
|
|
|
|
# Create global settings instance
|
|
settings = Settings() |