Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -17,15 +17,15 @@ scope = ["https://www.googleapis.com/auth/spreadsheets", "https://www.googleapis
|
|
| 17 |
service_account_info = json.loads(GOOGLE_SERVICE_ACCOUNT_JSON)
|
| 18 |
creds = ServiceAccountCredentials.from_json_keyfile_dict(service_account_info, scope)
|
| 19 |
client = gspread.authorize(creds)
|
| 20 |
-
|
| 21 |
-
sheet = client.open_by_key(
|
| 22 |
|
| 23 |
-
# Function to save feedback to Google Sheets
|
| 24 |
def save_feedback(user_input, bot_response, rating, comment):
|
| 25 |
feedback = [user_input, bot_response, rating, comment]
|
| 26 |
sheet.append_row(feedback)
|
| 27 |
|
| 28 |
-
#
|
| 29 |
from huggingface_hub import login
|
| 30 |
login(token=st.secrets["HF_TOKEN"])
|
| 31 |
|
|
@@ -41,6 +41,7 @@ Answer in french only
|
|
| 41 |
|
| 42 |
{context}
|
| 43 |
Vous devez répondre aux questions en français.
|
|
|
|
| 44 |
### QUESTION:
|
| 45 |
{question}
|
| 46 |
[/INST]
|
|
@@ -71,10 +72,10 @@ qa = RetrievalQA.from_chain_type(
|
|
| 71 |
chain_type_kwargs={"prompt": prompt},
|
| 72 |
)
|
| 73 |
|
| 74 |
-
# Streamlit interface
|
| 75 |
st.set_page_config(page_title="Alter-IA Chat", page_icon="🤖")
|
| 76 |
|
| 77 |
-
#
|
| 78 |
def chatbot_response(user_input):
|
| 79 |
response = qa.run(user_input)
|
| 80 |
return response
|
|
@@ -104,30 +105,29 @@ st.markdown("""
|
|
| 104 |
st.markdown('<h3 class="centered-text">🤖 AlteriaChat 🤖</h3>', unsafe_allow_html=True)
|
| 105 |
st.markdown('<p class="centered-orange-text">"Votre Réponse à Chaque Défi Méthodologique"</p>', unsafe_allow_html=True)
|
| 106 |
|
| 107 |
-
#
|
| 108 |
with st.form(key='feedback_form'):
|
| 109 |
user_input = st.text_input("You:")
|
| 110 |
submit_button = st.form_submit_button("Ask 📨")
|
| 111 |
|
| 112 |
-
if submit_button:
|
| 113 |
-
|
| 114 |
-
|
| 115 |
-
|
| 116 |
-
st.text_area("", value=bot_response, height=600)
|
| 117 |
|
| 118 |
-
|
| 119 |
-
|
| 120 |
-
|
| 121 |
|
| 122 |
-
|
| 123 |
-
|
| 124 |
|
| 125 |
-
|
| 126 |
-
|
| 127 |
|
| 128 |
-
|
| 129 |
-
|
| 130 |
-
|
| 131 |
-
|
| 132 |
-
|
| 133 |
-
|
|
|
|
| 17 |
service_account_info = json.loads(GOOGLE_SERVICE_ACCOUNT_JSON)
|
| 18 |
creds = ServiceAccountCredentials.from_json_keyfile_dict(service_account_info, scope)
|
| 19 |
client = gspread.authorize(creds)
|
| 20 |
+
spreadsheet_id = '1A2B3C4D5E6F7G8H9I0J' # Replace with your Google Sheet ID
|
| 21 |
+
sheet = client.open_by_key(spreadsheet_id).sheet1
|
| 22 |
|
| 23 |
+
# Function to save user feedback to Google Sheets
|
| 24 |
def save_feedback(user_input, bot_response, rating, comment):
|
| 25 |
feedback = [user_input, bot_response, rating, comment]
|
| 26 |
sheet.append_row(feedback)
|
| 27 |
|
| 28 |
+
# Hugging Face API login
|
| 29 |
from huggingface_hub import login
|
| 30 |
login(token=st.secrets["HF_TOKEN"])
|
| 31 |
|
|
|
|
| 41 |
|
| 42 |
{context}
|
| 43 |
Vous devez répondre aux questions en français.
|
| 44 |
+
|
| 45 |
### QUESTION:
|
| 46 |
{question}
|
| 47 |
[/INST]
|
|
|
|
| 72 |
chain_type_kwargs={"prompt": prompt},
|
| 73 |
)
|
| 74 |
|
| 75 |
+
# Streamlit interface with improved aesthetics
|
| 76 |
st.set_page_config(page_title="Alter-IA Chat", page_icon="🤖")
|
| 77 |
|
| 78 |
+
# Define function to handle user input and display chatbot response
|
| 79 |
def chatbot_response(user_input):
|
| 80 |
response = qa.run(user_input)
|
| 81 |
return response
|
|
|
|
| 105 |
st.markdown('<h3 class="centered-text">🤖 AlteriaChat 🤖</h3>', unsafe_allow_html=True)
|
| 106 |
st.markdown('<p class="centered-orange-text">"Votre Réponse à Chaque Défi Méthodologique"</p>', unsafe_allow_html=True)
|
| 107 |
|
| 108 |
+
# Input and button for user interaction
|
| 109 |
with st.form(key='feedback_form'):
|
| 110 |
user_input = st.text_input("You:")
|
| 111 |
submit_button = st.form_submit_button("Ask 📨")
|
| 112 |
|
| 113 |
+
if submit_button and user_input.strip() != "":
|
| 114 |
+
bot_response = chatbot_response(user_input)
|
| 115 |
+
st.markdown("### Bot:")
|
| 116 |
+
st.text_area("", value=bot_response, height=600)
|
|
|
|
| 117 |
|
| 118 |
+
# Feedback form
|
| 119 |
+
st.markdown("### Rate the response:")
|
| 120 |
+
rating = st.slider("Select a rating:", min_value=1, max_value=5, value=1)
|
| 121 |
|
| 122 |
+
st.markdown("### Leave a comment:")
|
| 123 |
+
comment = st.text_area("")
|
| 124 |
|
| 125 |
+
# Feedback submission
|
| 126 |
+
feedback_submit_button = st.form_submit_button("Submit Feedback")
|
| 127 |
|
| 128 |
+
if feedback_submit_button:
|
| 129 |
+
if comment.strip() and rating:
|
| 130 |
+
save_feedback(user_input, bot_response, rating, comment)
|
| 131 |
+
st.success("Thank you for your feedback!")
|
| 132 |
+
else:
|
| 133 |
+
st.warning("⚠️ Please provide a comment and a rating.")
|