Spaces:
Sleeping
Sleeping
import os | |
from dotenv import load_dotenv | |
from enum import Enum | |
from openai import OpenAI | |
from pathlib import Path | |
# Carica le variabili d'ambiente dal file .env | |
load_dotenv() | |
# Configurazione del modello | |
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY") | |
DEEPSEEK_API_KEY = os.getenv("DEEPSEEK_API_KEY") | |
if not OPENAI_API_KEY: | |
raise ValueError("OPENAI_API_KEY non trovata. Verifica il file .env") | |
if not DEEPSEEK_API_KEY: | |
raise ValueError("DEEPSEEK_API_KEY non trovata. Verifica il file .env") | |
class LLMType(Enum): | |
OPENAI_GPT_4O_MINI = "openai - GPT-4o-mini" | |
LOCAL_QWEN = "local - Qwen 7B" | |
LOCAL_PHI = "local - Phi-3 Mini" | |
DEEPSEEK = "deepseek - DeepSeek Chat" | |
# Configurazione modelli | |
LLM_CONFIGS = { | |
LLMType.OPENAI_GPT_4O_MINI: { | |
"client": lambda: OpenAI(api_key=OPENAI_API_KEY), | |
"model": "gpt-4o-mini", | |
"base_url": None | |
}, | |
LLMType.LOCAL_QWEN: { | |
"client": lambda: OpenAI(base_url="http://192.168.43.199:1234/v1", api_key="not-needed"), | |
"model": "qwen2.5-coder-7b-instruct", | |
"base_url": "http://192.168.43.199:1234/v1" | |
}, | |
LLMType.LOCAL_PHI: { | |
"client": lambda: OpenAI(base_url="http://192.168.43.199:1234/v1", api_key="not-needed"), | |
"model": "phi-3.5-mini-ita", | |
"base_url": "http://192.168.43.199:1234/v1" | |
}, | |
LLMType.DEEPSEEK: { | |
"client": lambda: OpenAI(api_key=DEEPSEEK_API_KEY, base_url="https://api.deepseek.com/v1"), | |
"model": "deepseek-chat", | |
"base_url": "https://api.deepseek.com/v1" | |
} | |
} | |
EMBEDDING_CONFIG = { | |
"model_name": "sentence-transformers/multi-qa-mpnet-base-dot-v1", | |
"chunk_size": 2000, | |
"chunk_overlap": 100, | |
"min_similarity": 0.7 | |
} | |
LLM_CONFIGS_EXTENDED = { | |
"temperature": 0.7, | |
"max_tokens": 2048 | |
} | |
# Aggiungi questa costante | |
EMBEDDING_MODEL = "sentence-transformers/multi-qa-mpnet-base-dot-v1" | |
# Definisci il percorso base per i database | |
BASE_DB_PATH = "db" | |
# Voci italiane edge-tts | |
VOICE_USER = "it-IT-DiegoNeural" # Voce maschile utente | |
VOICE_ASSISTANT = "it-IT-ElsaNeural" # Voce femminile assistente | |