File size: 4,869 Bytes
395f1d2
 
127b405
395f1d2
127b405
 
 
 
395f1d2
d88b8cd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1e4c863
d88b8cd
eda8825
 
1e4c863
eda8825
1e4c863
eda8825
d88b8cd
 
eda8825
1e4c863
d88b8cd
eda8825
 
1e4c863
eda8825
 
 
d88b8cd
 
eda8825
1e4c863
d88b8cd
127b405
 
1e4c863
127b405
eda8825
395f1d2
d88b8cd
 
395f1d2
eda8825
d88b8cd
eda8825
 
 
 
 
 
d88b8cd
 
0e6321c
eda8825
395f1d2
 
d88b8cd
395f1d2
eda8825
1e4c863
d88b8cd
 
 
1e4c863
d88b8cd
 
 
395f1d2
eda8825
1e4c863
d88b8cd
 
 
eda8825
d88b8cd
 
 
 
 
1e4c863
 
 
d88b8cd
 
 
1e4c863
d88b8cd
 
 
 
 
eda8825
 
 
 
 
d88b8cd
 
 
eda8825
d88b8cd
 
 
 
 
eda8825
 
395f1d2
eda8825
395f1d2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
import gradio as gr
import os
from groq import Groq

# Set up Groq API client
client = Groq(
    api_key=os.getenv("GROQ_API_KEY"),  # Ensure you add this key to your environment variables
)

# Supported languages
LANGUAGES = {
    "English": "en",
    "Spanish": "es",
    "Japanese": "ja",
    "Urdu": "ur",
}

# Function to translate text
def translate_text(text, language_code):
    chat_completion = client.chat.completions.create(
        messages=[
            {"role": "user", "content": f"Translate this text to {language_code}: {text}"}
        ],
        model="llama-3.3-70b-versatile",
    )
    return chat_completion.choices[0].message.content.strip()

# Function to fetch team overview
def get_team_overview(team, language):
    chat_completion = client.chat.completions.create(
        messages=[
            {"role": "user", "content": f"Provide an overview of the {team} MLB team, including recent performance and standings."}
        ],
        model="llama-3.3-70b-versatile",
    )
    result = chat_completion.choices[0].message.content.strip()
    return translate_text(result, LANGUAGES[language])

# Function to predict season outcomes
def predict_season_outcomes(team, language):
    chat_completion = client.chat.completions.create(
        messages=[
            {"role": "user", "content": f"Predict the potential season outcomes for the {team} based on their current performance."}
        ],
        model="llama-3.3-70b-versatile",
    )
    result = chat_completion.choices[0].message.content.strip()
    return translate_text(result, LANGUAGES[language])

# Function for player wildcards
def get_player_wildcards(player, language):
    chat_completion = client.chat.completions.create(
        messages=[
            {"role": "user", "content": f"Describe any standout performances or recent achievements for the player {player} in MLB."}
        ],
        model="llama-3.3-70b-versatile",
    )
    result = chat_completion.choices[0].message.content.strip()
    return translate_text(result, LANGUAGES[language])

# Function for real-time strategy insights
def real_time_tooltips(game_event, language):
    chat_completion = client.chat.completions.create(
        messages=[
            {"role": "user", "content": f"Explain the strategy behind the following baseball play: {game_event}"}
        ],
        model="llama-3.3-70b-versatile",
    )
    result = chat_completion.choices[0].message.content.strip()
    return translate_text(result, LANGUAGES[language])

# Gradio app interface
def create_gradio_interface():
    with gr.Blocks() as demo:
        gr.Markdown("#MLB Fantasy World")
        
        with gr.Tab("Team Overview"):
            team_input = gr.Textbox(label="Enter Team Name")
            language_selector = gr.Dropdown(
                label="Select Language", choices=list(LANGUAGES.keys()), value="English"
            )
            team_output = gr.Textbox(label="Team Overview")
            team_input.submit(
                get_team_overview, inputs=[team_input, language_selector], outputs=team_output
            )
        
        with gr.Tab("Season Predictions"):
            team_input_pred = gr.Textbox(label="Enter Team Name")
            language_selector_pred = gr.Dropdown(
                label="Select Language", choices=list(LANGUAGES.keys()), value="English"
            )
            predictions_output = gr.Textbox(label="Season Predictions")
            team_input_pred.submit(
                predict_season_outcomes,
                inputs=[team_input_pred, language_selector_pred],
                outputs=predictions_output,
            )
        
        with gr.Tab("Player Wildcards"):
            player_input = gr.Textbox(label="Enter Player Name")
            language_selector_player = gr.Dropdown(
                label="Select Language", choices=list(LANGUAGES.keys()), value="English"
            )
            player_output = gr.Textbox(label="Player Highlights")
            player_input.submit(
                get_player_wildcards,
                inputs=[player_input, language_selector_player],
                outputs=player_output,
            )
        
        with gr.Tab("Real-Time Strategy Insights"):
            game_event_input = gr.Textbox(
                label="Describe the game event (e.g., 'Why did the batter bunt in the 8th inning?')"
            )
            language_selector_event = gr.Dropdown(
                label="Select Language", choices=list(LANGUAGES.keys()), value="English"
            )
            strategy_output = gr.Textbox(label="Strategy Explanation")
            game_event_input.submit(
                real_time_tooltips,
                inputs=[game_event_input, language_selector_event],
                outputs=strategy_output,
            )
        
        demo.launch()

# Run the app
create_gradio_interface()