import streamlit as st import google.generativeai as genai import ast import time import os # import re # import json st.title('Verified Interseting fact geneartor') secret_key = os.getenv("SECRET_KEY") genai.configure(api_key=secret_key) 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('paste the text to fact check') 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) print(y) return y except: y='' st.warning('rerun code not splitted correctly') return y # if text: # new=prompt1+text # model=genai.GenerativeModel('gemini-1.5-flash') # response=model.generate_content(new) # a=response.text # print(a) # b=a[10:-5] # print(b) # # try: # # my_list = ast.literal_eval(b) # # print(my_list) # # except: # # my_list='' # # st.warning('rerun code not splitted correctly') # 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('rerun code error in checking') 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 = a[10:-5] 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")