o
    \…ÿi   ã                   @   st   d dl Z d dlmZ eƒ  G dd„ dƒZG dd„ deƒZG dd„ deƒZG d	d
„ d
eƒZeeeedœZddd„ZdS )é    N)Úload_dotenvc                   @   s.  e Zd ZdZe dd¡Ze dd¡dkZe dd¡Ze	e d	d
¡ƒZ
e dd¡Ze dd¡Ze	e dd¡ƒZe dd¡Ze dd¡Ze dd¡Ze d¡Ze	e dd¡ƒZe d¡Ze d¡Ze d¡Ze dd¡ d¡Ze	e dd ¡ƒZe	e d!d"¡ƒZe d#d$¡Ze d%d&¡Ze d'd¡dkZe d(d)¡Ze d*d¡dkZe d+d,¡Ze d-d.¡Z e	e d/d0¡ƒZ!e	e d1d2¡ƒZ"e d3d¡dkZ#e d4d¡dkZ$e d5d¡dkZ%e d6d7¡Z&e d8d9¡Z'e d:d9¡Z(e d;d<¡Z)e d=e)¡Z*e d>d?¡Z+e d@dA¡Z,e	e dBdC¡ƒZ-e dDdE¡Z.e	e dFdG¡ƒZ/e0e dHdI¡ƒZ1e	e dJdK¡ƒZ2e	e dLdM¡ƒZ3e0e dNdI¡ƒZ4e0e dOdP¡ƒZ5e dQd¡dkZ6e dRd¡Z7e	e dSdT¡ƒZ8e dUdV¡Z9e dWd9¡Z:e dXd¡dkZ;e dYd¡dkZ<e	e dZd[¡ƒZ=e	e d\d2¡ƒZ>e d]d9¡Z?e d^d9¡Z@e d_d9¡ZAe d`da¡ZBdbS )cÚConfigzApplication configurationÚ	FLASK_ENVÚ
productionÚFLASK_DEBUGÚFalseÚTrueÚ
FLASK_HOSTz0.0.0.0Ú
FLASK_PORTiA  Ú
SECRET_KEYz#dev-secret-key-change-in-productionÚDB_HOSTz	127.0.0.1ÚDB_PORTiê  ÚDB_USERÚadminÚDB_PASSWORDzmcube@admin123ÚDB_NAMEÚvoicebot_clusterÚSYNC_SOURCE_DB_HOSTÚSYNC_SOURCE_DB_PORTÚSYNC_SOURCE_DB_USERÚSYNC_SOURCE_DB_PASSWORDÚSYNC_SOURCE_DB_NAMEÚCORS_ORIGINSzWhttp://localhost:6173,http://localhost:6174,http://localhost:3000,http://127.0.0.1:6174ú,ÚDEFAULT_PAGE_SIZEéd   ÚMAX_PAGE_SIZEiè  Ú	LOG_LEVELÚINFOÚLOG_FILEzdashboard_api.logÚRATE_LIMIT_ENABLEDÚRATE_LIMIT_DEFAULTz100 per minuteÚCACHE_ENABLEDÚ
CACHE_TYPEÚsimpleÚCACHE_REDIS_HOSTÚ	localhostÚCACHE_REDIS_PORTië  ÚCACHE_DEFAULT_TIMEOUTi,  ÚENABLE_WEBHOOKSÚENABLE_EXPORTÚENABLE_ANALYTICSÚ
AWS_REGIONz	us-east-1ÚAWS_ACCESS_KEY_IDÚ ÚAWS_SECRET_ACCESS_KEYÚAWS_NOVA_MODELzamazon.nova-lite-v1:0ÚRAG_CHAT_MODELÚRAG_CHAT_PROVIDERÚbedrockÚOLLAMA_BASE_URLzhttp://127.0.0.1:11434ÚOLLAMA_TIMEOUT_SECONDSé´   ÚRAG_EMBEDDING_MODELzamazon.titan-embed-text-v2:0Ú	RAG_TOP_Ké   ÚRAG_SIMILARITY_THRESHOLDgš™™™™™É?ÚRAG_MEMORY_MESSAGESé   ÚRAG_MAX_TOKENSiX  ÚRAG_TEMPERATUREÚ	RAG_TOP_PgÍÌÌÌÌÌì?ÚRAG_USE_QDRANTÚRAG_QDRANT_HOSTÚRAG_QDRANT_PORTi½  ÚRAG_QDRANT_COLLECTION_PREFIXÚrag_chunks_ÚRAG_QDRANT_API_KEYÚRAG_QDRANT_HTTPSÚRAG_USE_REDIS_CACHEÚRAG_EMBED_CACHE_TTL_SECONDSi€Q ÚRAG_RETRIEVAL_CACHE_TTL_SECONDSÚDEEPGRAM_API_KEYÚSARVAM_SUBSCRIPTION_KEYÚANTHROPIC_API_KEYÚEMBED_BASE_URLzhttp://localhost:6174N)CÚ__name__Ú
__module__Ú__qualname__Ú__doc__ÚosÚgetenvÚENVÚDEBUGÚHOSTÚintÚPORTr   r   r   r   r   r   r   r   r   r   r   Úsplitr   r   r   r   r   r    r!   r"   r#   r%   r'   r(   r)   r*   r+   r,   r-   r/   r0   r1   r2   r4   r5   r7   r8   Úfloatr:   r;   r=   r>   r?   r@   rA   rB   rC   rE   rF   rG   rH   rI   rJ   rK   rL   rM   © r[   r[   ú1/home/aiteam/pcaa-dev/dashboard-backend/config.pyr      s‚    



þýr   c                   @   ó   e Zd ZdZdZdZdS )ÚDevelopmentConfigzDevelopment configurationÚdevelopmentTN©rN   rO   rP   rQ   rT   rU   r[   r[   r[   r\   r^   a   ó    r^   c                   @   r]   )ÚProductionConfigzProduction configurationr   FNr`   r[   r[   r[   r\   rb   g   ra   rb   c                   @   s   e Zd ZdZdZdZdZdS )ÚTestingConfigzTesting configurationÚtestingTN)rN   rO   rP   rQ   rT   rU   ÚTESTINGr[   r[   r[   r\   rc   m   s
    rc   )r_   r   rd   Údefaultc                 C   s$   | du r
t  dd¡} t | td ¡S )z&Get configuration based on environmentNr   r_   rf   )rR   rS   ÚconfigÚget)Úenvr[   r[   r\   Ú
get_config}   s   rj   )N)	rR   Údotenvr   r   r^   rb   rc   rg   rj   r[   r[   r[   r\   Ú<module>   s    Y	ü