CoolFace
Apppublic

kumar6591/data-quality-env

sourceHugging Faceupdated 6mo agoView on Hugging Face
0likes
app.cpython-311.pyc49 linesDownload Raw Back to __pycache__
12���i4%��x�UddlmZddlZddlmZddlmZmZddlm	Z	ddl3mZddlm
Z
mZmZmZmZddlmZdd	lmZdd4lmZddlmZed�
��Zej��Ze��e��e��e��d�ZdZdZda de!d<da"de!d<ia#de!d<ga$de!d<e�%d��d:d���Z&e�'d��d;d ���Z(e�'d!��d;d"���Z)e�%d#��d$���Z*d<d+�Z+d=d/�Z,d>d?d4�Z-d@d9�Z.dS)A�)�annotationsN)�Any)�FastAPI�
HTTPException)�generate_dataset)�	SQLEngine)�Action�EpisodeState�Observation�Reward�RewardBreakdown)�Task1)�Task2)�Task3)�Task4�DataQualityEnv)�title)�����rzEpisodeState | None�statezSQLEngine | None�engine�dict[str, Any]�gold�	list[str]�table_namesz/health�return�dict[str, str]c��dddd�S)N�okrz2.0.0)�status�env�version�r&��4/Users/hemanthkunta/meta/data-quality-env/env/app.py�healthr)s���#3��H�H�Hr'z/reset�payload�dictc5���t|�dd����}t|�dd����}|tvrtdd|�����t5t6rt7���t��at||��\}a	t89|��t|�����a
t||ttt ���at|}t%|t"t10tddd��}|���cddd��S#1swxYwYdS)N�task_idr�seed�*�ztask_id must be 1-4, got )r-r.�gold_faults�	max_steps�fix_steps_remaining)�int�get�TASKSr�_lockr�closerrr�load_tables�list�keysrr11�	MAX_STEPS�	FIX_STEPSr�_make_observation�12model_dump)r*r-r.�tables�task�obss      r(�resetrC#sn���'�+�+�i��+�+�,�,�G��w�{�{�6�2�&�&�'�'�D��e��H��C�!F�W�!F�!F�G�G�G�	� � ��	��L�L�N�N�N�����'���6�6�������6�"�"�"��6�;�;�=�=�)�)���W�4�T�U^�t}�~�~�~���W�~����e�V�[�$��d�S�S���~�~��� � � � � � � � � � � � ���� � � � � � s�*C$E�E�"Ez/stepc�h�t�tjrtdd���	td&i|�d|����}n%#t13$r}tdd|�����d}~wwxYwttj}t�J�t5txj14dz
c_15tj16tkr�dt_ttdtjtjz��d��}t!tjd	d	ttjd��|�17��}t#|ttt$ddd��}t'|t)||dddi�
����cddd��S|jdk�r=tjdkr_t#|ttt$ddd��}t)d	t/��di�
��}t'||��cddd��Stjdkr_t#|ttt$ddd��}t)d	t/��di�
��}t'||��cddd��S|jstdd���t�|j��}t7|t8��r]|�d��rHt#|ttt$d|d��}t)dt/d���dd|i�
��}n�txjdzc_t#|ttt$t7|t<��r|nddd��}t?|jt7|t<��r|nd��}	t)|	t/��di�
��}t'||��cddd��S|jdk�r^|j �tdd���tj!rtdd���|�"|j tF��\}18}ttdtjdz��d��}ttd|19|z��d��}|t_dt_!dt_t!tI|20��d	|d	|�21��}tj%dk}
|
rdt_t#|ttt$ddd��}t'|t)|||
|tLd��
����cddd��S|jd k�rItj!stdd!���|jstdd"���tj%dkr�dt_ttdtjtjz��d��}t!tjd	d	ttjd��|�22��}t#|ttt$ddd	��}t'|t)||di�
����cddd��St�'|jtF��}td#tj|d$zz��t_txj%dzc_%tj%dk}
|
rdt_ttdtjtjz��d��}t!tjd	d	ttjd��|�23��}t#|ttt$dd|��}t'|t)|||
i�
����cddd��Stdd%|j�����#1swxYwYdS)'Nr0zCall /reset first.�actionzInvalid action: rTg�?r���base_audit_score�confidence_brier_adjustment�budget_efficiency_bonus�fix_verification_bonus�totalr2�reason)�value�	breakdown�done�info�query�fixz+Use fix_sql action in fix phase, not query.FrzNo query credits remaining.z sql is required for query action�ERRORg����������destructive�error�
submit_reportz$report is required for submit_reportz/Report already submitted. Use fix_sql or reset.皙�����?�{�G�z�?g�?)�score_breakdown�fix_steps_available�fix_sqlz#Submit report before using fix_sql.zsql is required for fix_sqlg�?g{�G�z�?zUnsupported action_type: r&)(rrPrr	r5�	Exceptionr6r-rr7�stepr<�round�min�audit_score�	fix_bonusr
r>r�_step_responser�action_type�phase�_zero_breakdown�
query_credits�sql�execute�24isinstance�str�25startswithr:�
_query_reward�report�report_submitted�grader�floatr3r=�run_fix_sql)r*rE�erArL�rbrB�reward�result�query_reward�26base_scorer[�budget_bonusrP�	fix_scores               r(r_r_:s���
�7��27�7��C�!5�6�6�6�9��9�9�'�+�+�h��8�8�9�9�����9�9�9��C�!7�A�!7�!7�8�8�8�����9��������D�����	�hS�hS�
�2829�a��3031��:�	�!�	s��E�J��#�d�E�$5���$G�H�H�!�L�L�E� �!&�!2�,/�(+�',�U�_�a�'@�'@�����B�$�D�%���d�K�Y]�^�^�C�!�#�v�E�R�d�Zb�do�Yp�'q�'q�'q�r�r�hS�hS�hS�hS�hS�hS�hS�hS� ���(�	/��{�e�#�
3�'��e�V�[�$�P}�@D�E�E���c�_�5F�5F�U�Y[�\�\�\��%�c�6�2�2�)hS�hS�hS�hS�hS�hS�hS�hS�*�"�a�'�
3�'��e�V�[�$�Pm�os�t�t���c�_�5F�5F�U�Y[�\�\�\��%�c�6�2�2�1hS�hS�hS�hS�hS�hS�hS�hS�2�:�
M�#�C�)K�L�L�L��^�^�F�J�/�/�F��&�#�&�&�
f�6�+<�+<�W�+E�+E�
f�'��e�V�[�$�PV�X\�]�]���d�o�RV�6W�6W�6W�^c�kr�tz�j{�|�|�|����#�#�q�(�#�#�'��e�V�[�T^�_e�gk�Tl�Tl�Jv�&�&�rv�x|�C�D�D��,�V�Z�:�f�VZ�C[�C[�9e���ae�f�f���l�o�>O�>O�V[�bd�e�e�e��!�#�v�.�.�KhS�hS�hS�hS�hS�hS�hS�hS�N���0�	b��}�
Q�#�C�)O�P�P�P��%�
\�#�C�)Z�[�[�[�*.�*�*�V�]�D�*I�*I�'�J�� ��T�5�+>��+E�!F�!F��J�J�L��#�c�:��#<�=�=�q�A�A�E� %�E��%)�E�"��E�K� �!&�z�!2�!2�,/�(4�'*�����B��,��1�D��
"�!��32�#�D�%���d�D�RV�W�W�C�!�#�v�E�R�d�m|�V_�Z`�Z`�(a�(a�(a�b�b�ChS�hS�hS�hS�hS�hS�hS�hS�F���*�#	^��)�
P�#�C�)N�O�O�O��:�
H�#�C�)F�G�G�G��(�A�-�
b�!��33��c�$��(9�E�O�(K�L�L�a�P�P��$�%*�%6�03�,/�+0���!�+D�+D������(��e�V�[�$�PT�VY�Z�Z��%�c�6���RV�]_�+`�+`�+`�a�a�ihS�hS�hS�hS�hS�hS�hS�hS�l�*�*�6�:�t�<�<�I�!�$���)�d�:J�(J�K�K�E�O��%�%��*�%�%��,��1�D��
"�!��34��#�d�E�$5���$G�H�H�!�L�L�E� �!&�!2�,/�(+�',�U�_�a�'@�'@�����B�$�D�%���d�D�R[�\�\�C�!�#�v�E�R�d�Y[�'\�'\�'\�]�]�MhS�hS�hS�hS�hS�hS�hS�hS�P�C�!Q�V�=O�!Q�!Q�R�R�R�QhS�hS�hS�hS����hS�hS�hS�hS�hS�hSsZ� A�35A(�A#�#A(�C(^'�A.^'�A"^'�1E^'�E^'�:D36^'�D1^'�^'�'^+�.^+z/statec�b�t�tdd���t���S)Nr0zNo active episode.)rrr?r&r'r(�	get_stater}�s-���7��C�!5�6�6�6������r'�str37�engrr@rc
�"�|�|��}|�|��}t|t��r38|dd�nd}	t	|j|���|||jt|j	|j39|	||���S)N�2)r-�task_descriptionr@�40row_countsr_r2�query_credits_remainingrf�last_query_result�last_action_error�last_fix_score)�get_table_schemas�get_row_countsrkr:rr-�get_descriptionr_r<rhrf)41rAr~rr@�query_resultrWr��schemasr��trimmeds42          r(r>r>�s����#�#�F�+�+�G��#�#�F�+�+�J�#-�l�D�#A�#A�K�l�3�B�3���t�G���43��-�-�/�/���
�W�� "� 0��h�!��%����r'rBrvrc�T�|���|���d�S)N)�observationrv)r?)rBrvs  r(rdrd�s&���>�>�+�+�v�7H�7H�7J�7J�K�K�Kr'rFrVrrr
c�*�tddd||���S)NrFrG)r
rUs r(rgrg�s(����$'� #�*�����r'rirlrw�list[dict[str, Any]] | Nonec�����|pg}|sdS|pd����t�fd�dD����}dd	��|rt�fd44�|D����rdSdS)
zdProvide small positive rewards for valid exploration and stronger credit for finding obvious issues.rZ�c3� �K�|]}|�vV��	dS�Nr&)�.0�keyword�	sql_lowers  �r(�	<genexpr>z _query_reward.<locals>.<genexpr>�s@�����A�A�W�G�y�(�A�A�A�A�A�Ar')�null�dup�	duplicatezgroup by�havingzcount(zis null�rowrr�boolc��|���D]l}|�dSt|ttf��r	|dkrdSt|t��r+|������dvrdS�mdS)NTr>�n/ar��na�noner��unknown�-F)�valuesrkr4rrrl�strip�lower)r�rNs  r(�row_has_signalz%_query_reward.<locals>.row_has_signal�s����Z�Z�\�\�	�	�E��
��t�t��%�#�u��.�.�
�5�1�9�
��t�t��%��%�%�
�%�+�+�-�-�*=�*=�*?�*?�Ct�*t�
��t�t���ur'c3�.�K�|]}�|��V��dSr�r&)r�r�r�s  �r(r�z _query_reward.<locals>.<genexpr>�s-�����=�=�����,�,�=�=�=�=�=�=r'rY)r�rrr�)r��any)rirw�rows�	hot_queryr�r�s    @@r(rnrn�s������<�R�D����t����!�!�#�#�I��A�A�A�A�8�A�A�A�A�A�I�������S�=�=�=�=��=�=�=�=�=���s��4r')rr )r*r+)r~r45rrr@rrr)rBrrvrrr)rF)rVrrrr
)rirlrwr�rrr)/�46__future__r�	threading�typingr�fastapirr�env.dataset_genr�47env.enginer�48env.modelsr	r49rrr
�tasks.task1_nullsr�tasks.task2_schemar�tasks.task3_driftr�tasks.task4_relationalr�app�Lockr7r6r<r=r�__annotations__rrrr5r)�postrCr_r}r>rdrgrnr&r'r(�<module>r�s���"�"�"�"�"�"�"�����������*�*�*�*�*�*�*�*�,�,�,�,�,�,� � � � � � �Q�Q�Q�Q�Q�Q�Q�Q�Q�Q�Q�Q�Q�Q�#�#�#�#�#�#�$�$�$�$�$�$�#�#�#�#�#�#�(�(�(�(�(�(�
�g�$�%�%�%���	������E�G�G�����E�E�G�G�����8�8���	�
�	�!��!�!�!�!�������������������������I�I�I���I����(��� � � ��� �,���'���uS�uS�uS���uS�p���������������&L�L�L�L�����������r'