TarunEnma commited on
Commit
dd91c48
·
verified ·
1 Parent(s): 6c3331a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -60
app.py CHANGED
@@ -1,87 +1,43 @@
1
- # import streamlit as st
2
- # from langchain.text_splitter import CharacterTextSplitter
3
- # from langchain_community.document_loaders import TextLoader
4
- # from langchain.embeddings import OpenAIEmbeddings
5
- # from langchain.vectorstores import Chroma
6
- # from langchain.chains import RetrievalQA
7
- # from langchain.embeddings.sentence_transformer import SentenceTransformerEmbeddings
8
-
9
- # def get_text():
10
- # input_text = st.text_input("You: ", key="input")
11
- # return input_text
12
-
13
-
14
- # user_input = get_text()
15
- # submit = st.button('Get Answer')
16
-
17
-
18
- # loader = TextLoader('India.txt')
19
- # documents =loader.load()
20
-
21
- # text_splitter = CharacterTextSplitter (chunk_size=200,
22
- # chunk_overlap=0)
23
-
24
- # texts= text_splitter.split_documents(documents)
25
-
26
-
27
-
28
- # embeddings = SentenceTransformerEmbeddings(model_name="all-MiniLM-L6-v2")
29
- # db = Chroma.from_documents(texts, embeddings)
30
- # db._collection.get(include=['embeddings'])
31
- # retriever = db.as_retriever(search_kwargs={"k": 1})
32
-
33
- # if user_input and submit:
34
-
35
- # docs = retriever.get_relevant_documents(user_input)
36
- # st.write("Answer")
37
- # document = docs[0]
38
- # page_content = document.page_content
39
-
40
- # st.write(page_content)
41
- # # st.text(file_content)
42
-
43
  import streamlit as st
44
  from langchain.text_splitter import CharacterTextSplitter
45
  from langchain_community.document_loaders import TextLoader
 
46
  from langchain.vectorstores import Chroma
47
- from langchain.embeddings.base import Embeddings
48
- import numpy as np
49
-
50
- class CharLevelEmbeddings(Embeddings):
51
- def embed_documents(self, texts):
52
- return [self.embed_text(text) for text in texts]
53
-
54
- def embed_text(self, text):
55
- # Example: Simple character-level embedding by converting characters to their ASCII values.
56
- # In practice, use a more sophisticated method or pretrained model.
57
- return np.array([ord(char) for char in text])
58
-
59
- def embed_query(self, text):
60
- return self.embed_text(text)
61
 
62
  def get_text():
63
  input_text = st.text_input("You: ", key="input")
64
  return input_text
65
 
 
66
  user_input = get_text()
67
  submit = st.button('Get Answer')
68
 
 
69
  loader = TextLoader('India.txt')
70
- documents = loader.load()
 
 
 
 
 
71
 
72
- text_splitter = CharacterTextSplitter(chunk_size=200, chunk_overlap=0)
73
- texts = text_splitter.split_documents(documents)
74
 
75
- embeddings = CharLevelEmbeddings()
 
76
  db = Chroma.from_documents(texts, embeddings)
77
  db._collection.get(include=['embeddings'])
78
  retriever = db.as_retriever(search_kwargs={"k": 1})
79
 
80
  if user_input and submit:
 
81
  docs = retriever.get_relevant_documents(user_input)
82
  st.write("Answer")
83
  document = docs[0]
84
  page_content = document.page_content
85
 
86
  st.write(page_content)
 
 
87
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  import streamlit as st
2
  from langchain.text_splitter import CharacterTextSplitter
3
  from langchain_community.document_loaders import TextLoader
4
+ from langchain.embeddings import OpenAIEmbeddings
5
  from langchain.vectorstores import Chroma
6
+ from langchain.chains import RetrievalQA
7
+ from langchain.embeddings.sentence_transformer import SentenceTransformerEmbeddings
 
 
 
 
 
 
 
 
 
 
 
 
8
 
9
  def get_text():
10
  input_text = st.text_input("You: ", key="input")
11
  return input_text
12
 
13
+
14
  user_input = get_text()
15
  submit = st.button('Get Answer')
16
 
17
+
18
  loader = TextLoader('India.txt')
19
+ documents =loader.load()
20
+
21
+ text_splitter = CharacterTextSplitter (chunk_size=200,
22
+ chunk_overlap=0)
23
+
24
+ texts= text_splitter.split_documents(documents)
25
 
 
 
26
 
27
+
28
+ embeddings = SentenceTransformerEmbeddings(model_name="all-MiniLM-L6-v2")
29
  db = Chroma.from_documents(texts, embeddings)
30
  db._collection.get(include=['embeddings'])
31
  retriever = db.as_retriever(search_kwargs={"k": 1})
32
 
33
  if user_input and submit:
34
+
35
  docs = retriever.get_relevant_documents(user_input)
36
  st.write("Answer")
37
  document = docs[0]
38
  page_content = document.page_content
39
 
40
  st.write(page_content)
41
+ # st.text(file_content)
42
+
43