shikharyashmaurya's picture
Create app.py
bc14905 verified
raw
history blame
3.07 kB
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")