File size: 2,305 Bytes
3fa5046
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import streamlit as st
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch

# Load pre-trained model and tokenizer
model_name = "gpt2"  # You can replace this with any other suitable model
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)

# Streamlit app
st.title("Interactive Chatbot with Games and Apps")

# Chat interface
user_input = st.text_input("You:", "")
if st.button("Send"):
    # Generate response
    input_ids = tokenizer.encode(user_input, return_tensors="pt")
    output = model.generate(input_ids, max_length=100, num_return_sequences=1)
    response = tokenizer.decode(output[0], skip_special_tokens=True)
    
    st.text_area("Chatbot:", value=response, height=200)

    # Check for special commands
    if "play game" in user_input.lower():
        st.subheader("Interactive Game")
        st.write("Here's a simple game:")
        game_choice = st.selectbox("Choose your move:", ["Rock", "Paper", "Scissors"])
        if st.button("Play"):
            import random
            computer_choice = random.choice(["Rock", "Paper", "Scissors"])
            st.write(f"Computer chose: {computer_choice}")
            if game_choice == computer_choice:
                st.write("It's a tie!")
            elif (game_choice == "Rock" and computer_choice == "Scissors") or \
                 (game_choice == "Paper" and computer_choice == "Rock") or \
                 (game_choice == "Scissors" and computer_choice == "Paper"):
                st.write("You win!")
            else:
                st.write("Computer wins!")

    elif "show presentation" in user_input.lower():
        st.subheader("Interactive Presentation")
        st.write("Here's a simple presentation:")
        slide_number = st.slider("Select slide", 1, 5)
        st.write(f"Slide {slide_number} content goes here.")

    elif "launch web app" in user_input.lower():
        st.subheader("Interactive Web App")
        st.write("Here's a simple web app:")
        name = st.text_input("Enter your name:")
        age = st.number_input("Enter your age:", min_value=0, max_value=120)
        if st.button("Submit"):
            st.write(f"Hello, {name}! You are {age} years old.")

# Run the app using: streamlit run chatbot_app.py