File size: 3,065 Bytes
bc14905
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
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")