/ src / __pycache__ / config.cpython-314.pyc
config.cpython-314.pyc
 1  +
 2  �ii��.�Rt^RIt^RIHt^RIHt^RIHt^RIH	t	]!4!RR4t
 3  ]
 4  P4]!R]
 5  PR	]
 6  P424R# ]d%t^RIt]P$!R
 7  ]24RtAR#RtAii;i)z1
 8  Configuration Management with Multi-LLM Support
 9  N)�Path)�load_dotenv)�Optional)�	SecretStrc�a�]tRt^toRt]P!RR4P4t]P!RR4t	]P!RR4t
10  ]P!RR4t]P!R	R
11  4t]P!R4;'g]P!RR4t
]P!R
R4t]P!RR4t]P!RR4t]!]P!RR44t]!]P!RR44t]!]P!RR44t]P!RR4t]!]4P14P2P2t]P6P9]]P!RR44t]P!RR4t]P!RR4t]P!RR4t Rt!]P!R R4t"]P!R!R"4t#]$!]P!R#R$44t%]P!R%R&4P4R'8Ht&]P!R(R&4P4R'8Ht']$!]P!R)R*44t(]$!]P!R+R,44t)]P!R-4t*]P!R.4t+]P!R/R04t,]-V3R1lR2l4t.]-V3R3lR4l4t/]-V3R5lR6l4t0]-V3R7lR8l4t1V3R9lt2R:t3Vt4R;#)<�Configz9Application configuration with multi-LLM provider support�LLM_PROVIDER�openai�OPENAI_API_KEY��OPENAI_MODELzgpt-4o-mini�ANTHROPIC_API_KEY�ANTHROPIC_MODELzclaude-3-5-sonnet-20241022�GEMINI_API_KEY�GOOGLE_API_KEY�GEMINI_MODELzgemini-2.5-pro�OLLAMA_MODELzqwen3:8b�OLLAMA_BASE_URLzhttp://localhost:11434�EXTRACTION_TEMPz0.2�SUMMARY_TEMPz0.5�EVALUATION_TEMPz0.4�LLAMA_CLOUD_API_KEY�GOOGLE_CREDENTIALS_JSON_FILEz'google-service-account-credentials.json�GOOGLE_DRIVE_FOLDER_ID�GOOGLE_SHEET_ID�GOOGLE_FORM_ID�Sheet1�GOOGLE_CLOUD_STORAGE_BUCKET�HOSTz0.0.0.0�PORT�8000�RELOAD�false�true�DEBUG�WORKERS�4�
POLL_INTERVAL�60�WEBHOOK_URL�	API_TOKEN�
IDEAL_PROFILEa<
12      Full-stack developer with 3+ years experience in PHP, Python, JavaScript (React/Vue).
13      Strong knowledge of MySQL/PostgreSQL, RESTful APIs, Git.
14      Docker and CI/CD experience preferred.
15      Location: Northern Italy (Milan, Turin, Bologna).
16      Bachelor's in Computer Science or related field preferred.
17      c�0<�V^8�dQhRS[S[,/#���return)r�str)�format�
__classdict__s"�چ/Users/furqan/Documents/AI HR Automation/LangGraph Solution/AI HR Automation - LangGraph Python Project/ai-hr-automation/src/config.py�__annotate__�Config.__annotate__ms�������
��c��VPP4pVR8Xd
VP#VR8Xd
VP#VR8Xd
VP#VR9dR#R#)zK
18  Get API key for current LLM provider
19  
20  Returns:
21      API key string or None
22  r	�	anthropic�geminiN)�ollama�mock)r�lowerr
23  r
r��cls�providers& r3�get_llm_api_key�Config.get_llm_api_keylsc���#�#�)�)�+���x���%�%�%�
��
$��(�(�(�
��
!��%�%�%�
�+�
+��r6c� <�V^8�dQhRS[/#r-)r0)r1r2s"�r3r4r5�s�����c�r6c���VPP4pVR8Xd
VP#VR8Xd
VP#VR8Xd
VP#VR8Xd
VP
24  #R#)zI
25  Get model name for current LLM provider
26  
27  Returns:
28      Model name string
29  r	r8r9r:r;)rr<rrrrr=s& r3�
get_llm_model�Config.get_llm_model�sk���#�#�)�)�+���x���#�#�#�
��
$��&�&�&�
��
!��#�#�#�
��
!��#�#�#�r6c� <�V^8�dQhRS[/#r-)�bool)r1r2s"�r3r4r5�s������r6c���.pVPR8XdVPRVP34M]VPR8XdVPRVP34M.VPR8XdVPRVP34\
30  PPVP4'dRVP'g^RI
31  pVP!R4VP'g^RI
32  pVP!R	4M$^RI
33  pVP!R
34  VPR24VUUu.uFwr4V'dKVNK	pppV'd\RR
PV424hR#uuppi)zValidate required configurationr	r
35  r8r
r9rNzGGOOGLE_DRIVE_FOLDER_ID not set. CV files will not be uploaded to Drive.z=GOOGLE_SHEET_ID not set. Results will not be saved to Sheets.z Google credentials not found at z/. Google Drive and Sheets integration disabled.z Missing required configuration: z, T)r�appendr
36  r
r�os�path�exists�GOOGLE_CREDENTIALS_PATHr�warnings�warnr�
37  ValueError�join)r>�required_fieldsrN�name�value�missings&     r3�validate�Config.validate�sE�������x�'��"�"�$4�c�6H�6H�#I�J�
�
�
��
,��"�"�$7��9N�9N�#O�P�
�
�
��
)��"�"�$4�c�6H�6H�#I�J��7�7�>�>�#�5�5�6�6��-�-�-���
�
�g�h��&�&�&���
�
�]�^����M�M�<�S�=X�=X�<Y�ZI�J�
K�+:�H�?�K�D�%�4�4�?��H���?��	�	�'�@R�?S�T�U�U���Is�8E9�	E9c� <�V^8�dQhRS[/#r-)�dict)r1r2s"�r3r4r5�s���
38  �
39  �$�
40  r6c	�p�RVPRVP4R\VP44/#)z$Get current LLM provider informationr?�model�has_api_key)rrDrGr@)r>s&r3�get_provider_info�Config.get_provider_info�s:��
��(�(��S�&�&�(��4�� 3� 3� 5�6�
41  �	
42  r6c�~<�V^8�dQh/S[;R&S[;R&S[;R&S[;R&S[;R&S[;R&S[;R&S[;R&S[;R	&S[;R
43  &S[;R&S[;R&S[;R
&S[;R&S[;R&S[;R&S[;R&S[;R&S[;R&S[;R&S[;R&S[;R&S[;R&S[;R&S[S[,;R&S[S[,;R&S[;R&#)r.rr
44  rr
rrrrrrrrrrrr�
45  SHEET_NAMErrrr!r$r%r'r)r*r+)r0�float�intrGr)r1r2s"�r3r4r5s������C���9���@���?�� �U�!�&�X�'�(�C�)�.�=�/�0�Q�1�6�G�7�8�A�9�:�G�;�B�C�C�\ �I�]�^�;�_�`�9�a�b��c�f"%�S�g�t�,�u�v�.�w�x
�A�y�z�?�{�|�1�}�H�>�I�J�#��9�K�V��}�5�W�b�	�cr6�N)5�__name__�
46  __module__�__qualname__�__firstlineno__�__doc__rJ�getenvr<rr
47  rr
rrrrrrarrrrr�__file__�resolve�parent�BASE_DIRrKrQrMrrrr`rrrbrr!r$r%r'r)r*r+�classmethodr@rDrVr]�__annotate_func__�__static_attributes__�__classdictcell__)r2s@r3rrs�����C��	�	�.�(�;�A�A�C�L��)�)�$4�b�9�N��	�	�.�-�@�L� �Y�Y�':�B�?���9�9�%6�8T�U�O��)�)�$4�5�X�X����CS�UW�9X�N��	�	�.�2B�C�L��	�	�.�*�=�L��9�9�%6�8P�Q�O�#�2�9�9�->��#F�G�O���	�	�.�%� @�A�L�"�2�9�9�->��#F�G�O� "�y�y�)>��C���H�~�%�%�'�.�.�5�5�H� �g�g�l�l��
48  �	�	�0�2[�\���#%�)�)�,D�b�"I���9�9�%6��;�O��)�)�$4�b�9�N��J�')�y�y�1N�PR�'S���	�	�&�)�,�D��B�I�I�f�f�-�.�D��9�9�X�w�/�5�5�7�6�A�F��)�)�G�W�-�3�3�5��?�E��r�y�y��C�0�1�G��R�Y�Y���=�>�M�!#���=�!9�K� "�y�y��5�I����?�5�	�M�����(����(����@�
49  ��
50  �S�r6ru$✅ Configuration validated - Using z with z!Configuration validation failed: )rhrJ�pathlibr�dotenvr�typingr�pydanticrrrV�printrrDrP�erNrOrcr6r3�<module>rxs����
51  ������
�o
52  �o
53  �f;�
54  �O�O��	�0��1D�1D�0E�V�F�L`�L`�Lb�Kc�
55  d�e���;���M�M�5�a�S�9�:�:��;�s�6A)�)B�0B�B