67Ayush87 commited on
Commit
d1cbe41
·
verified ·
1 Parent(s): 533a537

Create gen_ai.py

Browse files
Files changed (1) hide show
  1. pages/gen_ai.py +75 -0
pages/gen_ai.py ADDED
@@ -0,0 +1,75 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import os
3
+ from langchain_huggingface import HuggingFaceEndpoint, ChatHuggingFace
4
+ from langchain_core.messages import HumanMessage, AIMessage, SystemMessage
5
+
6
+
7
+
8
+ hf = os.getenv('hf')
9
+ os.environ['HUGGINGFACEHUB_API_TOKEN'] = hf
10
+ os.environ['HF_TOKEN'] = hf
11
+ # --- Config ---
12
+ st.set_page_config(page_title="AI Mentor Chat", layout="centered")
13
+ st.title("🤖 AI Mentor Chat")
14
+
15
+ # --- Sidebar for selections ---
16
+ st.sidebar.title("Mentor Preferences")
17
+ sub = st.sidebar.text_input("Enter subject:", value="Python")
18
+ exp1 = ['<1', '1', '2', '3', '4', '5', '5+']
19
+ exp = st.sidebar.selectbox("Select experience:", exp1)
20
+
21
+ # Map experience to label
22
+ experience_map = {
23
+ '<1': 'New bie mentor',
24
+ '1': '1', '2': '2', '3': '3', '4': '4', '5': '5',
25
+ '5+': 'Professional'
26
+ }
27
+ experience_label = experience_map[exp]
28
+
29
+ # --- Initialize Chat Model ---
30
+ deep_seek_skeleton = HuggingFaceEndpoint(
31
+ repo_id='google/gemma-2-9b-it',
32
+ provider='nebius',
33
+ temperature=0.7,
34
+ max_new_tokens=150,
35
+ task='conversational'
36
+ )
37
+
38
+ deep_seek = ChatHuggingFace(
39
+ llm=deep_seek_skeleton,
40
+ repo_id='google/gemma-2-9b-it',
41
+ provider='nebius',
42
+ temperature=0.7,
43
+ max_new_tokens=150,
44
+ task='conversational'
45
+ )
46
+
47
+ # --- Session State ---
48
+ if "chat_history" not in st.session_state:
49
+ st.session_state.chat_history = []
50
+
51
+ # --- Chat Form ---
52
+ with st.form(key="chat_form"):
53
+ user_input = st.text_input("Ask your question:")
54
+ submit = st.form_submit_button("Send")
55
+
56
+ # --- Chat Logic ---
57
+ if submit and user_input:
58
+ # Add system context
59
+ system_prompt = f"Act as a microsoft excel mentor who has {experience_label} years of experience who teaches in a very friendly manner and also tells everything in within 150 words. If any question is asked other than microsoft excel tell politely that this is out of the topic question"
60
+
61
+ # Create message list
62
+ messages = [SystemMessage(content=system_prompt), HumanMessage(content=user_input)]
63
+
64
+ # Get model response
65
+ result = deep_seek.invoke(messages)
66
+
67
+ # Append to history
68
+ st.session_state.chat_history.append((user_input, result.content))
69
+
70
+ # --- Display Chat History ---
71
+ st.subheader("🗨️ Chat History")
72
+ for i, (user, bot) in enumerate(st.session_state.chat_history):
73
+ st.markdown(f"**You:** {user}")
74
+ st.markdown(f"**Mentor:** {bot}")
75
+ st.markdown("---")