File size: 2,346 Bytes
c09dbef
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import streamlit as st

if "login_state" not in st.session_state:
    st.session_state.login_state = False
if "api" not in st.session_state:
    st.session_state.api = ""

def main():
    if not st.session_state.login_state:
        from note import regester, notes

        st.subheader("Interact with AI models through SiliconFlow API key", anchor=False)

        st.markdown(regester, unsafe_allow_html=True)

        api_key = st.text_input("API KEY", st.session_state.api, key="api_key", type="password", placeholder="sk-...")
        st.session_state.api = api_key
        submit_btn = st.button("Submit", key="submit_btn", type="primary", disabled=not api_key)

        st.markdown("---")

        with st.container(border=True, key="note_container"):
            st.markdown(notes, unsafe_allow_html=True)
        
        if submit_btn and st.session_state.api:
            st.session_state.login_state = True
            st.rerun()
        elif submit_btn and not st.session_state.api:
            st.error("Please enter your SiliconFlow API key!")
    else:
        siliconflow()

def siliconflow():
    function_list = ["General Chat", "Visual Chat", "Reasoning Chat", "Image Generation", "Audio to Text"]
    function_item = st.sidebar.selectbox("Function", function_list, index=0, key="func_")

    st.subheader(function_item, anchor=False)

    if function_item == "General Chat":
        from general_chat import generalChat
        generalChat(api_key=st.session_state.api)
    elif function_item == "Visual Chat":
        from visual_chat import visualChat
        visualChat(api_key=st.session_state.api)
    elif function_item == "Reasoning Chat":
        from reasoning_chat import reasoningChat
        reasoningChat(api_key=st.session_state.api)
    elif function_item == "Image Generation":
        from image_generation import imageGeneration
        imageGeneration(api_key=st.session_state.api)
    elif function_item == "Audio to Text":
        from audio_text import audioText
        audioText(api_key=st.session_state.api)
    
    st.sidebar.markdown("---")

    if st.sidebar.button("Log Out", key="logout_btn"):
        st.session_state.login_state = False
        st.session_state.api = ""
        st.rerun()

if __name__ == "__main__":
    main()