Spaces:
Sleeping
Sleeping
from src.manual_entry import ManualEntry | |
import streamlit as st | |
from generate_questions.questions_generator import QuestionGenerator | |
import google.generativeai as genai | |
import os | |
from src.feedback import feed_back | |
from src.greetings import end_conversation, home_greetings | |
import json | |
genai.configure(api_key=os.getenv("GOOGLE_API_KEY")) | |
model = genai.GenerativeModel("gemini-pro") | |
chat = model.start_chat(history=[]) | |
manual_entry = ManualEntry() | |
questions_generator= QuestionGenerator() | |
class EnterManually: | |
def manual_entry(self): | |
tech_stack = manual_entry.manual_entry_form() | |
if tech_stack: | |
st.session_state.tech_stack = tech_stack | |
if "questions" not in st.session_state: | |
st.session_state.questions = {} | |
if "answers" not in st.session_state: | |
st.session_state.answers = {} | |
if st.session_state.tech_stack: | |
if st.button("Generate Questions"): | |
for tech in st.session_state.tech_stack: | |
if tech.strip() not in st.session_state.questions: | |
questions = questions_generator.generate_questions(chat, tech) | |
st.session_state.questions[tech] = questions.split("\n") | |
st.session_state.answers[tech] = [""] * len(st.session_state.questions[tech]) | |
if st.session_state.questions: | |
for tech, questions in st.session_state.questions.items(): | |
st.write(f"### Technical Questions for {tech}") | |
for idx, question in enumerate(questions): | |
st.write(f"{idx + 1}. {question}") | |
st.session_state.answers[tech][idx] = st.text_area( | |
f"Answer for Q{idx + 1} ({tech})", | |
value=st.session_state.answers[tech][idx], | |
key=f"answer_{tech}_{idx}", | |
) | |
if st.button("Submit Answers"): | |
greets = end_conversation() | |
st.write(greets) | |
output_data = [] | |
for tech, questions in st.session_state.questions.items(): | |
for idx, question in enumerate(questions): | |
output_data.append({ | |
"tech": tech, | |
"question": question, | |
"answer": st.session_state.answers[tech][idx] | |
}) | |
# Save as JSON file | |
json_filename = "questions_answers.json" | |
with open(json_filename, "w") as json_file: | |
json.dump(output_data, json_file, indent=4) | |
feed_back() | |