CoolFace
Apppublic

vinayaknandi05/sql-optimization-openenv

sourceHugging Faceupdated 6mo agoView on Hugging Face
0likes
inference.cpython-313.pyc76 linesDownload Raw Back to __pycache__
12�=�i$ ����%SrSSKrSSKrSSKrSSKrSSKrSSKJr SSKJ	r	 \RRSS5r\
\S'\RRSS5r\
\S'\RRS	S35r\
\S	'\RRSS5r\
\S'\RRS
S5r\
\S
'Sr\
\S'Sr\
\S'Sr\\S'Sr\\S'Sr\\S'S\
S\
S\
4SjrS\S\S\S \S!\44S"jrS\
S#\S$\S%\4S&jr"S'S(5r"S)S*5r "S+S,5r!"S-S.5r"S/\	S\S0\
S1\S2\#\
S3\
4S4jr$S7S5jr%\&S6:Xa\RN"\%"55 gg)8u�5Baseline Inference Script — SQL Optimization OpenEnv6=====================================================7Reads API credentials from environment variables:8  API_BASE_URL  - LLM endpoint (OpenAI-compatible)9  API_KEY       - API key10  MODEL_NAME    - model identifier11  HF_TOKEN      - Hugging Face token (for Space access)12 13Produces structured [START] / [STEP] / [END] stdout logs as required.14�N)�Optional)�AsyncOpenAI�API_BASE_URLzhttps://api.openai.com/v1�API_KEYzsk-placeholder�15MODEL_NAMEzgpt-4o-mini�HF_TOKEN��16IMAGE_NAMEzsql-optimization-openenv:latest�sql_optimization�	TASK_NAMEzsql-openenv�	BENCHMARK�17�	MAX_STEPS��TEMPERATUREi�18MAX_TOKENS�task�env�modelc	�H�[[R"SXUS.5SS9 g)N�START)�typerrrT��flush��print�json�dumps�rrrs   � C:\Projects\openenv\inference.py�	log_startr!&s��	�$�*�*�g�t�%�P�19Q�Y]�^��step�action�observation�reward�donec�N�[[R"SUUUUUS.5SS9 g)N�STEP)rr#r$r%r&r'Trr�r#r$r%r&r's     r �log_stepr+)s1��	�$�*�*����"���
���r"�score�steps�successc20�L�[[R"SUUUUS.5SS9 g)N�END)rrr,r-r.Trr�rr,r-r.s    r �log_endr23s.��	�$�*�*���������
r"c�*�\rSrSrSrSrSrSrSrg)�21MyEnvV4Env�>z?Thin wrapper around the local environment for baseline testing.c��[RRS[RR	[2255 SSKJnJn U"5Ul	X l23g)Nr)�SQLOptimizationEnv�	SQLAction)�sys�path�insert�os�dirname�__file__�env.environmentr7r8�_env�24_SQLAction)�selfr7rAs   r �__init__�MyEnvV4Env.__init__@s3��������2�7�7�?�?�8�4�5�O�&�(��	�$�r"c��T# �URR5n[U5$7f�N)r@�reset�_ObsWrapper�rB�obss  r rG�MyEnvV4Env.resetFs ����i�i�o�o����3���s�&(c��^# �URRU5up#pE[X#XE5$7frF)r@r#�_StepResult)rBr$rJr&r'�infos      r r#�MyEnvV4Env.stepJs)���"&�)�)�.�.��"8���T��3��3�3�s�+-)rAr@N)	�__name__�25__module__�__qualname__�__firstlineno__�__doc__rCrGr#�__static_attributes__�r"r r4r4>s��I�%� �4r"r4c��\rSrSrSrSrg)rH�Oc��XlgrF�r%rIs  r rC�_ObsWrapper.__init__Ps���r"rZN�rPrQrRrSrCrUrVr"r rHrHOs��r"rHc��\rSrSrSrSrg)rM�Tc�4�XlX lX0lX@lgrF)r%r&r'rN)rBrJr&r'rNs     r rC�_StepResult.__init__Us�������	��	r")r'rNr%r&Nr\rVr"r rMrMTs��r"rMc�4�\rSrSrSrS\4SjrS\4SjrSrg)�
MyEnvV4Action�\z2Compatibility shim matching competition interface.�messagec��[RRS[RR	[2655 SSKJn [R"U5nU"S0UD6Ul27g![a U"USS9Ul28gf=f)Nr�r8r	��queryrdrV)r9r:r;r<r=r>r?r8r�loads�_action�	Exception)rBrdr8�datas    r rC�MyEnvV4Action.__init__^sf��������2�7�7�?�?�8�4�5�-�	@��:�:�g�&�D�$�,�t�,�D�L���	@�$�7�B�?�D�L�	@�s�	#A-�-B�Bc�f�[RU5nURU5 UR$rF)�object�__new__rCrj)�clsrd�objs   r rp�MyEnvV4Action.__new__hs&���n�n�S�!�����W���{�{�r")rjN)	rPrQrRrSrT�strrCrprUrVr"r rbrb\s��<�@��@��c�r"rb�client�last_echoed�last_reward�history�returnc	���# �SnSUS./nUHnURSUS.5 M URSSUSUSU3S.5 URRR[U[29[SS	9IShv�NnURS30RR=(d SR5n	U	(aU	$S$NI![an31[S
U323SS9 Sn33A34gSn35A36ff=f7f)NaRYou are an expert SQL optimization agent. You will be given a poorly written SQL query and a database schema. Your job is to rewrite the query to be correct, efficient, and follow best practices. Respond ONLY with a JSON object: {"query": "<optimized SQL>", "message": "<brief explanation>"}. No markdown, no explanation outside the JSON.�system)�role�content�userzStep z. Last observation: z37Last reward: F)r�messages�temperature�38max_tokens�streamrr	z,{"query": "SELECT 1", "message": "fallback"}z[DEBUG] Model request failed: Trz2{"query": "SELECT 1", "message": "error fallback"})
�append�chat�completions�createrrr�choicesrdr}�striprkr)rur#rvrwrx�
system_promptr�h�39completion�text�excs           r �get_model_messager�ps���	8���m�4��H�������A�6�7���O�O�V�%��v�=Q�R]�Q^�^m�ny�mz�0{�|�}�D�!�;�;�2�2�9�9���#�!��:�40�4142��"�"�1�%�-�-�5�5�;��B�B�D���t�O�!O�O�43���D�
�.�s�e�4�D�A�C��D�sO�AC,�6C�<C�=AC�C,�C�C,�C�44C)�
C$�C,�$C)�)C,c��T# �[[[S9n/SQn/nUGH\n[5n/n/nSnSnSn	[	[45SU3[[S9 UR5IShv�Nn46U47RnURSURS	URS48UR35 URnSn
[S[ S-5GH{n[#US5(aUR$(a GOW['XX�U5IShv�NnSS
KJn [,R."U5nU"S0UD6nUR3U5IShv�Nn49U50RnU51R4nU52R$nUnURU5 UR6nURnUn
URSUR35 UR8(aURSUR835 UR:(aURSUR:35 [=UUR?5UR?5UUS9 U(dGM| O US:�n	URU5 [C[53SU3X�U	S9 GM_ [A[,RD"S[G[IX55[K[MU5[OU5-S5S.5SS9 gGNmGN�![0a U"USS9nGN�f=fGN�![0a(n[ASU3SS9 URS5 SnAN�SnAff=f7f)N)�base_url�api_key)�	task_easy�task_medium�	task_hardrrF�/rzTask: z54 55Original Query:56z57 58 59Schema:60�r'rfr	rgz
Observation: zQuery result (first 5 rows): z
Query error: r*g�������?z[DEBUG] Episode error: Trr1�SUMMARY�)r�scores�meanrV)(rrrr4r!rr
rrGr%r��task_description�original_query�schema_info�echoed_message�ranger�hasattrr'r�r?r8rrirkr#r&r,�last_query_result�last_query_errorr+�61model_dumprr2r�dict�zip�round�sum�len)ru�task_ids�62all_scores�task_idrrx�rewards�steps_takenr,r.�resultrJrvrwr#rdr8�action_datar$r&r'r�s                      r �mainr��s���
�,��
@�F�9�H��J����l����!���������)��A�g�Y�/�Y�j�Q�8	#��9�9�;�&�F��$�$�C��N�N���-�-�.�.C�C�DV�DV�CW�Wd�eh�et�et�du�v�
��,�,�K��K��a��Q��/���3��'�'�C�H�H�� 1�&��Za� b�b��5�B�"&�*�*�W�"5�K�&�5��5�F� #�x�x��/�/���(�(�������{�{��"�����v�&��	�	��!�0�0��$������s�/A�/A�.B�C�D��(�(��N�N�%B�3�CX�CX�BY�#Z�[��'�'��N�N�]�3�3G�3G�2H�#I�J���!�,�,�.� #��� 0�!����4��O0�R�t�m�G����e�$�	�	�{�!�G�9�-�U�W^�_�K�N63�$�*�*�i�4��H�8Q�3R�\a�be�fp�bq�ru�wA�sB�cB�DE�]F�G�H�PT�U�w'�c��!�B�&�W�b�A�F�B��0��>�	#��+�C�5�1��>����c�"�"��	#�s��AL(�K3�%K�&B"K3�K�	64K3�K�2K3�K0�C?K3�K3�%A-L(�K3�K3�K-�)K3�,K-�-K3�365L%�=L �L(� L%�%L(�__main__)ryN)(rT�asynciorr<r9�time�typingr�openair�environ�getrrt�__annotations__rrrr66rr
r�intr�floatrr!r��boolr+r2r4rHrMrb�listr�r�rP�runrVr"r �<module>r�s���67���	�68�����J�J�N�N�>�3N�O��c�O��z�z�~�~�i�)9�:���:��*�*�.�.��}�=�69�C�=��7071���z�2�.��#�.��*�*�.�.��/P�Q�72�C�Q�#�	�3�#��	�3���	�3����U���73�C��_�C�_�c�_�#�_��3����4����d���#��e��C��$��4�4�"��74����(!D��!D�75
�!D��!D��	!D�76�#�Y�!D�	�
!D�LNU�b�z���K�K����r"