CoolFace
Apppublic

Chittrarasu/Cricket-match-prediction-FastAPI

sourceHugging Faceupdated 2y agoView on Hugging Face
0likes
services.cpython-310.pyc69 linesDownload Raw Back to __pycache__
1o

2�k�gO6�@sFddlZddlZddlmZddlmZmZddl	m3Z4dZe5ed�Ze�
d�Zejedd	d6�ed<ej
ddd
�Ze�d�d�dd����Zdd�Zdd�Zd2dededefdd�Zd3dedefdd�Zd3ded edefd!d"�Zded#efd$d%�Zded efd&d'�Zd(d)�Zd*d+�Zd,d-�Zdefd.d/�Z d4dedefd0d1�Z!dS)5�N)�
HTTPException)�predict_player_score�predict_team_performance)�GroqZ8gsk_kODnx0tcrMsJZdvK8bggWGdyb3FY2omeF33rGwUBqXAMB3ndY4Qt)�api_keyzdata/cleaned_match_data.csv�dateZcoerce)�errorszdata/cleaned_ball_data.csvF)Z7low_memory�strikerZbatting_teamcCs t|���dkr|��dSdS)Nr)�len�mode��x�r�2C:\chitu\Cricket_match_outcome\backend\services.py�<lambda>s rcCs�t|t�rdd�|��D�St|t�rdd�|D�St|t�r-t�|�s)t�|�r+dS|St�|�r4dSt|tj	�rFt�8|�rD|�d�SdSt|tt
f�rO|St|�S)NcSsi|]	\}}|t|��qSr��9clean_json)�.0�k�vrrr�10<dictcomp>szclean_json.<locals>.<dictcomp>cSsg|]}t|��qSrr)rrrrr�11<listcomp>szclean_json.<locals>.<listcomp>��%Y-%m-%d)�12isinstance�dict�items�list�float�pdZisna�np�isinfZ	Timestamp�notna�strftime�int�bool�str)�datarrrrs13141516rc17Cs�d}|dkrd|��}n3|dkrd|��}n)|dkr,d|d�d	|d18�d|d��}n|d
kr6d|��}n	|dkr?d|��}ztjjjdddd�d|d�gddd�}|jdjj��}|WStyw}z
dt	|���WYd}~Sd}~ww)N��player_statsz,Summarize this player data in one sentence: �19team_statsz*Summarize this team data in one sentence: �
match_historyz%Summarize this match history between �team1� and �team2z in one sentence: �matches�prediction_scorez+Summarize this prediction in one sentence: �prediction_teamz0Summarize this team prediction in one sentence: zmixtral-8x7b-32768�systemz"You are a concise cricket analyst.)�role�content�user�2gffffff�?)�model�messagesZ20max_tokensZtemperaturerz"Summary unavailable due to error: )21�clientZchat�completions�create�choices�messager4�strip�	Exceptionr&)r'Zcontext_type�promptZchat_completion�summary�errr�generate_summary$s4$22��	��rC�Batting�player_name�seasonr3c23Cst|����}||�dd�d�t|����g}ttd�|�td�|�B}|r5dtjvr5||d|k}|j	rDt24dd|�d|��d	��|d25kr�||d�|�}t|d���}t|j
d�}t|dkrk||d
nd�}tt|d����}	||||||	|r�|ndd�}26t|27d�|28d<t|29�S|dk�r8||d�|�}gd�}||d��|d�|�@}
t|
j
d�}t|d���}t|j
d�}t|d�}|dkr�t||�ntd�}|dkr�t||�nd}|dkr�t||�ntd�}tt|d����}|||t�|��rdnt|d�t|d�t�|��rdnt|d�t|d�||�r)|ndd�	}30t|31d�|32d<t|33�SdS)N� r(r	�bowlerrF��Player 'z' not found. Variations tried: ��status_code�detailrD�runs_off_batr�d�match_id�All Seasons)rEr3�34total_runs�balls_faced�strike_rate�matches_playedrFr)rA�Bowling)ZcaughtZbowledZlbwzcaught and bowledz35hit wicketZplayer_dismissed�wicket_typerR��infr��)	rEr3�
total_wickets�bowling_average�economy_rate�bowling_strike_rateZovers_bowled�bowling_matchesrF)r>�title�replace�join�reversed�split�ball_df�isin�columns�emptyrr$�sum�shaperr36�uniquerCrr"r r!�round)rErFr3�name_variations�player_dataZbatting_datarRrSrTrU�statsZbowling_dataZbowler_wicket_typesZwickets_datar\�total_runs_concededZtotal_balls_bowled�total_overs_bowledr]r^r_r`rrr�get_player_statsAsd  37�	38���rs�	team_namecCs�|����}ttd|ktd|kB}|r#dtjvr#||d|k}|jr,tddd��t||d|kjd�}t|jd�}||||t|dkrP||d	nd�|rV|nd39d�}t	|d�|d
<t40|�S)Nr,r.rFrI�Team not foundrK�winnerrrOrQ)�
total_matches�winsZlosses�win_percentagerFr*rA)r>ra�match_dfrhrirr$rkrrCr)rtrF�team_matchesrxrwrprrr�get_team_statszs 41�r|r,r.cCsj|����}|����}ttd����td�����}||vs&||vr6tdd||vr/|n|�d�d��ttd|ktd|k@td|ktd|k@B��}|radtjvra||d|k}|j	rqtdd|�d	|�d42�d��|d�43dd
��|d<|d�d�|d<dD]
}||�44dd
��||<q�|gd�jdd�}|||r�|nd|d�}t
|d�|d<t|�S)Nr,r.rIzTeam z not found.rKrFzNo match history found between r-�.rcSst�|�r45|�d�SdS)Nr)rr"r#rrrrr�sz#get_match_history.<locals>.<lambda>rvZDraw)r,r.rvcSst�|�r	t|�SdS�N)rr"r&rrrrr�s)rr,r.rv�records)ZorientrQ)r,r.rFr/r+rA)r>ra�setrzrl�tolistr�copyrhri�applyZfillna�to_dictrCr)r,r.rFZavailable_teamsr{�column�history�responserrr�get_match_history�s8$ ���46�r��opposition_teamcCszd|���dd���}||�dd�d�t|����g}d}|D]}|tvr-t|}|}q.q|s8td|�d���td|�d|�d|���t	|||ddddd	�}||||d47d�}t48|d�|d
<t|�WSty�}zt
dd|�d|�dt|���d��d}~ww)N�+rGr(zPlayer z not found in historical dataz*Calling predict_player_score with: player=z, team=z, opponent=)�player�teamZopponentZvenueZcityZtoss_winnerZ
toss_decisionZexpected_score)r�r�Z49opposition�predicted_runsr0rAi�zError predicting score for z	 against z: rK)r>rbrarcrdre�player_team_mapping�50ValueError�printrrCrr?rr&)rEr�rnZplayer_team�namer�rprBrrr�
predict_score�sB ��51�52"��r�cCs t||�}t|d�|d<t|�S)Nr1rA)rrCr)r,r.Z53predictionrrr�predict_team_outcome�s54r�cCs0tdtttd����td������i�S)N�teamsr,r.)r�sortedr�rzrlr�rrrr�	get_teams�s0r�cCs(tttd��������}td|i�S)Nr	�players)r�r�rf�dropnarlr�r)Zunique_playersrrr�get_players�sr�cCs&tddgttd�������i�S)N�seasonsrQrF)rr�rzr�rlr�rrrr�get_seasons�s&r�cCs�|����}ttd|ktd|kB}|jrtddd��g}td��D]3}||d|k}|jsX||d|kjd}|jd}|dkrL||d	nd}|�||||d55��q%||d�S)Nr,r.rIrurKrFrvrrO)rFrxrwry)rt�trends)r>rarzrirrlrk�append)rtr{r�rFZseason_matchesrxrwryrrr�get_team_trends�s&56��57r�c	Cs�|����}||�dd�d�t|����g}ttd�|�td�|�B}|jr3t	dd|�d�d��g}td	�58�D]�}||d	|k}|js�|d59kr~t|d���}t|j
d�}t|dkrf||d
nd�}	tt|d�60���}61|�|||	|62d��q;|dkr�t||d��j
d�}t|d���}t|j
dd�}
|dkr�t||�ntd�}|
dkr�t||
�nd}tt|d�63���}64|�|||||65d��q;|||d�S)NrGr(r	rHrIrJz' not foundrKrFrDrNrrOrP)rFrRrTrUrVrWrRrXrY)rFr\r]r^rU)rEr3r�)r>rarbrcrdrerfrgrirrlr$rjrkrr66r�r")rEr3rnror�rFZseason_datarRrSrTrUr\rqrrr]r^rrr�get_player_trends�sH  67���r�)NrDr~)rD)"Zpandasr�numpyr �fastapirZmodels.train_modelrrZgroqrZGROQ_API_KEYr9Zread_csvrzZto_datetimerf�groupbyZaggr�r�rrCr&rsr|r�r�r�r�r�r�r�r�rrrr�<module>s.68699 %