File size: 2,387 Bytes
89ea4f1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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

import streamlit as st
from utils2 import chat_model, Guidlines

# def home():
#     st.title("Home Page")
#     st.write("Welcome to the multi-screen Streamlit app. Use the sidebar to navigate between different screens.")

def prompt_response_screen():
    st.title("Evalution Input App")

    def respon(prompt, response):
        input_data = Guidlines.format(prompt= prompt, response= response)
        return chat_model.invoke(input_data).content

    def display_results(result):
        # Unpack and format the result dictionary
        st.write(result)
        
    # Collecting the Evalutions
    prompt = st.text_area("Enter the user prompt:", "")
    st.subheader("Model Response")
    response1 = st.text_area("Enter the response model:", "")
    
    # Process and display results
    if st.button("Submit"):
        if all([prompt, response1]):
            # Process the responses
            res1 = respon(prompt, response1)
            
            st.subheader("Evalution")
            st.write(res1)
            
        else:
            st.error("Please fill in all the fields.")

# def settings():
#     st.title("Prompt Page")
#     metadata = st.text_area("Enter the metadata:", "")
#     if st.button("Submit"):
#         data = f''' generate user prompt for below meta data. prompt should looks like it was written by user and it should be easy and in 2-3 lenght.

#                 METADATA: {metadata}'''

#         response = chat_model.invoke(data).content
#         st.write(f"**Prompt:**")
#         st.write(f"**----------------------------**")
#         st.write(f"{response}")
        
#         followup_promp = f"please generate list of easy relatable follow up question for given prompt: {response} Note: it should only be questions and it should looks like it is written by user and it's should related to the given input prompt. question length should be 3-4 lines."
#         response = chat_model.invoke(followup_promp).content
#         st.write(f"**FollowUp questions:**")
#         st.write(f"**----------------------------**")
#         st.write(f"{response}")

def main():
    st.sidebar.title("Navigation")
    page = st.sidebar.radio("Select a page:", ["Evalution", "Prompt Page"])

    if page == "Evalution":
        prompt_response_screen()
    # elif page == "Prompt Page":
    #     settings()

if __name__ == "__main__":
    main()