parasmech commited on
Commit
b4f02cd
·
verified ·
1 Parent(s): 492d697

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +79 -0
app.py ADDED
@@ -0,0 +1,79 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Generics
2
+ import os
3
+ import keyfile
4
+ import warnings
5
+ import streamlit as st
6
+ from pydantic import BaseModel
7
+ warnings.filterwarnings("ignore")
8
+
9
+ # Langchain packages
10
+ from langchain.document_loaders import TextLoader
11
+ from langchain.text_splitter import CharacterTextSplitter
12
+ from langchain.embeddings import HuggingFaceEmbeddings
13
+
14
+ loader = TextLoader("/content/drive/MyDrive/Intelli_GenAI/RAG/Machine Learning Operations.txt")
15
+ documents = loader.load()
16
+ text_splitter = CharacterTextSplitter(chunk_size = 1000, chunk_overlap = 4)
17
+ docs = text_splitter.split_documents(documents)
18
+
19
+
20
+
21
+
22
+ class AIMessage(BaseModel):
23
+ content: str
24
+
25
+ # initializing the sessionMessages
26
+ if "sessionMessages" not in st.session_state:
27
+ st.session_state["sessionMessages"] = []
28
+ # General Instruction
29
+ if "sessionMessages" not in st.session_state:
30
+ st.session_state.sessionMessage = [
31
+ SystemMessage(content = "You are a medieval magical healer known for your peculiar sarcasm")
32
+ ]
33
+
34
+ # Configuring the key
35
+ os.environ["GOOGLE_API_KEY"] = keyfile.GOOGLEKEY
36
+
37
+ # Create a model
38
+ llm = ChatGoogleGenerativeAI(
39
+ model="gemini-1.5-pro",
40
+ temperature=0.7,
41
+ convert_system_message_to_human= True
42
+ )
43
+
44
+
45
+ # Response function
46
+ def load_answer(question):
47
+ st.session_state.sessionMessages.append(HumanMessage(content=question))
48
+ assistant_response = llm.invoke(st.session_state.sessionMessages)
49
+
50
+ # Assuming assistant_response is an object with a 'content' attribute
51
+ if hasattr(assistant_response, 'content') and isinstance(assistant_response.content, str):
52
+ processed_content = assistant_response.content
53
+ st.session_state.sessionMessages.append(AIMessage(content=processed_content))
54
+ else:
55
+ st.error("Invalid response received from AI.")
56
+ processed_content = "Sorry, I couldn't process your request."
57
+
58
+ return processed_content
59
+
60
+ # def load_answer(question):
61
+ # st.session_state.sessionMessages.append(HumanMessage(content = question))
62
+ # assistant_answer = llm.invoke(st.session_state.sessionMessages)
63
+ # st.session_state.sessionMessages.append(AIMessage(content = assistant_answer))
64
+ # return assistant_answer.content
65
+
66
+ # User message
67
+ def get_text():
68
+ input_text = st.text_input("You: ", key = input)
69
+ return input_text
70
+
71
+
72
+ # Implementation
73
+ user_input = get_text()
74
+ submit = st.button("Generate")
75
+
76
+ if submit:
77
+ resp = load_answer(user_input)
78
+ st.subheader("Answer: ")
79
+ st.write(resp, key = 1)