Spaces:
Runtime error
Runtime error
# Q&A Chatbot | |
from utils import * | |
from ui_files import * | |
# Headers of the app | |
initial_headers() | |
# Handle media upload | |
media_content, media_type = handle_media_upload() | |
# Handle JSON file upload for authentication | |
api_key = handle_credentials(media_type=media_type) | |
# Handle input fields | |
prompts = manage_input_fields() | |
submit = st.button(f"Tell me about the {media_type}") | |
# Configure generation and safety settings | |
generation_config, safety_settings = configure_generation_and_safety( | |
SAFETY_SETTINGS, THRESHOLD_OPTIONS | |
) | |
## If ask button is clicked | |
if submit: | |
print(f"Response being generated...") | |
st.subheader("The Response as follows...") | |
start_time = time.time() | |
if media_type == "video": | |
final_safety_settings = {} | |
for setting in safety_settings: | |
final_safety_settings[ | |
SAFETY_SETTINGS_VIDEO_LABELS[setting["category"]] | |
] = THRESHOLD_OPTIONS_VIDEO_LABELS[setting["threshold"]] | |
else: | |
final_safety_settings = safety_settings | |
response = get_gemini_response( | |
prompts, | |
media_content=media_content, | |
generation_config=generation_config, | |
media_type=media_type, | |
safety_settings=final_safety_settings, | |
api_key=api_key, | |
) | |
for chunk in response: | |
print(chunk.text) # For Debugging | |
st.write(chunk.text) | |
if os.path.exists("tmp/json_data.json"): | |
os.remove("tmp/json_data.json") | |
st.write(f"Time taken to generate results: {time.time() - start_time:.2f} seconds.") | |