import streamlit as st import google.generativeai as genai import ast import time import os import re st.title('Verified Interseting fact geneartor') secret_key = os.getenv("SECRET_KEY") genai.configure(api_key=secret_key) def extract_python_code(text): pattern = r"```python\n(.*?)```" match = re.search(pattern, text, re.DOTALL) if match: return match.group(1).strip() else: return None def get_gemini_response(input): prompt2='''you are an fact checker,you will get an text. you will respond with two thing- 1.true false or unsure(if you are unsure or knowledge cutoff) 2.evidence in support or knowledge cutoff you will respond in this format - ['true','false','unsure'],['evidence','knowledge cut off'] example-'dbhfv company founded in 2024' response-['Unsure','knowledge cut off'] Now give response in the exact described format of the following text - ''' old=prompt2+input model = genai.GenerativeModel('gemini-1.5-flash') response1 = model.generate_content(old) return response1.text text=st.text_input('Write something to generate interseting facts. Like - Elephant , Bears') prompt1='''Your work is to generate interseting facts. important - generate fact and append it in a python list. example- text-india your response-['india got independence in 1947','india first prime minister was nehru'] text - earth your response-['earth look blue from space','earth is 3 planet in our solar system'] now generate upto 10 intersesting fact for the later text in correct specified format text - ''' def check(x): try: y=ast.literal_eval(x) return y except: y='' st.warning('rerun code not splitted correctly') return y submit=st.button('submit') if text and submit: try: new = prompt1 + text model = genai.GenerativeModel('gemini-1.5-flash') response = model.generate_content(new) a = response.text b = extract_python_code(a) my_list = check(b) if isinstance(my_list, list): for i in my_list: c = get_gemini_response(i) new_list = check(c) if new_list[0] == 'True': st.write(i) st.write(c) time.sleep(2) else: st.warning('Error in checking.If error remains reload the page') except Exception as e: st.error(f"Error: {e}") st.write("Please try again!If error remains reload the page")