aakashaldankar commited on
Commit
caa66e0
·
verified ·
1 Parent(s): 6428896

Upload 71 files

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +34 -0
  2. Dataset/Drama/Broken_images.pdf +3 -0
  3. Dataset/Drama/Chandalika.pdf +3 -0
  4. Dataset/Poems/A_lecture_upon_the_shadow.pdf +3 -0
  5. Dataset/Poems/Blood.pdf +3 -0
  6. Dataset/Poems/Kubla_khan.pdf +3 -0
  7. Dataset/Poems/On_time.pdf +3 -0
  8. Dataset/Poems/The_divine_image.pdf +3 -0
  9. Dataset/Poems/The_wild_swans_at_coole.pdf +3 -0
  10. Dataset/Poems/Time_and_time_again.pdf +3 -0
  11. Dataset/Poems/Trees_emily_dickinson.pdf +3 -0
  12. Dataset/Stories/A_wedding_in_brownsville.pdf +3 -0
  13. Dataset/Stories/I_sell_my_dreams.pdf +3 -0
  14. Dataset/Stories/One_centimetre.pdf +3 -0
  15. Dataset/Stories/Tomorrow.pdf +3 -0
  16. Dataset/Stories/eveline.pdf +3 -0
  17. Dataset/non_fiction/Flim_making.pdf +3 -0
  18. Dataset/non_fiction/Freedom_freedom.pdf +3 -0
  19. Dataset/non_fiction/On_science_fiction.pdf +3 -0
  20. Dataset/non_fiction/The_argumentative_indian.pdf +3 -0
  21. Dataset/non_fiction/The_mark_on_the_wall.pdf +3 -0
  22. Dataset/non_fiction/Why_the_novel_matters.pdf +3 -0
  23. app.py +182 -0
  24. chapter_index.pkl +3 -0
  25. chat_engine.py +45 -0
  26. custom_prompt.pkl +3 -0
  27. index_dict.pkl +3 -0
  28. prompt_engg.pkl +3 -0
  29. qdrant/a_lecture_upon_the_shadow/collection/A Lecture Upon The Shadow/storage.sqlite +0 -0
  30. qdrant/a_lecture_upon_the_shadow/meta.json +1 -0
  31. qdrant/a_wedding_in_brownsville/collection/A Wedding In Brownsville/storage.sqlite +3 -0
  32. qdrant/a_wedding_in_brownsville/meta.json +1 -0
  33. qdrant/blood/collection/Blood/storage.sqlite +0 -0
  34. qdrant/blood/meta.json +1 -0
  35. qdrant/broken_images/collection/Broken Images/storage.sqlite +3 -0
  36. qdrant/broken_images/meta.json +1 -0
  37. qdrant/chandalika/collection/Chandalika/storage.sqlite +3 -0
  38. qdrant/chandalika/meta.json +1 -0
  39. qdrant/eveline/collection/Eveline/storage.sqlite +3 -0
  40. qdrant/eveline/meta.json +1 -0
  41. qdrant/film_making/collection/Flim Making/storage.sqlite +3 -0
  42. qdrant/film_making/meta.json +1 -0
  43. qdrant/freedom/collection/Freedom/storage.sqlite +3 -0
  44. qdrant/freedom/meta.json +1 -0
  45. qdrant/i_sell_my_dreams/collection/I Sell My Dreams/storage.sqlite +3 -0
  46. qdrant/i_sell_my_dreams/meta.json +1 -0
  47. qdrant/kubla_khan/collection/Kubla Khan/storage.sqlite +0 -0
  48. qdrant/kubla_khan/meta.json +1 -0
  49. qdrant/on_science_fiction/collection/On Science Fiction/storage.sqlite +3 -0
  50. qdrant/on_science_fiction/meta.json +1 -0
.gitattributes CHANGED
@@ -33,3 +33,37 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ Dataset/Drama/Broken_images.pdf filter=lfs diff=lfs merge=lfs -text
37
+ Dataset/Drama/Chandalika.pdf filter=lfs diff=lfs merge=lfs -text
38
+ Dataset/non_fiction/Flim_making.pdf filter=lfs diff=lfs merge=lfs -text
39
+ Dataset/non_fiction/Freedom_freedom.pdf filter=lfs diff=lfs merge=lfs -text
40
+ Dataset/non_fiction/On_science_fiction.pdf filter=lfs diff=lfs merge=lfs -text
41
+ Dataset/non_fiction/The_argumentative_indian.pdf filter=lfs diff=lfs merge=lfs -text
42
+ Dataset/non_fiction/The_mark_on_the_wall.pdf filter=lfs diff=lfs merge=lfs -text
43
+ Dataset/non_fiction/Why_the_novel_matters.pdf filter=lfs diff=lfs merge=lfs -text
44
+ Dataset/Poems/A_lecture_upon_the_shadow.pdf filter=lfs diff=lfs merge=lfs -text
45
+ Dataset/Poems/Blood.pdf filter=lfs diff=lfs merge=lfs -text
46
+ Dataset/Poems/Kubla_khan.pdf filter=lfs diff=lfs merge=lfs -text
47
+ Dataset/Poems/On_time.pdf filter=lfs diff=lfs merge=lfs -text
48
+ Dataset/Poems/The_divine_image.pdf filter=lfs diff=lfs merge=lfs -text
49
+ Dataset/Poems/The_wild_swans_at_coole.pdf filter=lfs diff=lfs merge=lfs -text
50
+ Dataset/Poems/Time_and_time_again.pdf filter=lfs diff=lfs merge=lfs -text
51
+ Dataset/Poems/Trees_emily_dickinson.pdf filter=lfs diff=lfs merge=lfs -text
52
+ Dataset/Stories/A_wedding_in_brownsville.pdf filter=lfs diff=lfs merge=lfs -text
53
+ Dataset/Stories/eveline.pdf filter=lfs diff=lfs merge=lfs -text
54
+ Dataset/Stories/I_sell_my_dreams.pdf filter=lfs diff=lfs merge=lfs -text
55
+ Dataset/Stories/One_centimetre.pdf filter=lfs diff=lfs merge=lfs -text
56
+ Dataset/Stories/Tomorrow.pdf filter=lfs diff=lfs merge=lfs -text
57
+ qdrant/a_wedding_in_brownsville/collection/A[[:space:]]Wedding[[:space:]]In[[:space:]]Brownsville/storage.sqlite filter=lfs diff=lfs merge=lfs -text
58
+ qdrant/broken_images/collection/Broken[[:space:]]Images/storage.sqlite filter=lfs diff=lfs merge=lfs -text
59
+ qdrant/chandalika/collection/Chandalika/storage.sqlite filter=lfs diff=lfs merge=lfs -text
60
+ qdrant/eveline/collection/Eveline/storage.sqlite filter=lfs diff=lfs merge=lfs -text
61
+ qdrant/film_making/collection/Flim[[:space:]]Making/storage.sqlite filter=lfs diff=lfs merge=lfs -text
62
+ qdrant/freedom/collection/Freedom/storage.sqlite filter=lfs diff=lfs merge=lfs -text
63
+ qdrant/i_sell_my_dreams/collection/I[[:space:]]Sell[[:space:]]My[[:space:]]Dreams/storage.sqlite filter=lfs diff=lfs merge=lfs -text
64
+ qdrant/on_science_fiction/collection/On[[:space:]]Science[[:space:]]Fiction/storage.sqlite filter=lfs diff=lfs merge=lfs -text
65
+ qdrant/one_centimeter/collection/One[[:space:]]Centimeter/storage.sqlite filter=lfs diff=lfs merge=lfs -text
66
+ qdrant/the_argumentative_indian/collection/The[[:space:]]Argumentative[[:space:]]Indian/storage.sqlite filter=lfs diff=lfs merge=lfs -text
67
+ qdrant/the_mark_on_the_wall/collection/The[[:space:]]Mark[[:space:]]On[[:space:]]The[[:space:]]Wall/storage.sqlite filter=lfs diff=lfs merge=lfs -text
68
+ qdrant/tomorrow/collection/Tomorrow/storage.sqlite filter=lfs diff=lfs merge=lfs -text
69
+ qdrant/why_the_novel_matters/collection/Why[[:space:]]The[[:space:]]Novel[[:space:]]Matters/storage.sqlite filter=lfs diff=lfs merge=lfs -text
Dataset/Drama/Broken_images.pdf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:eb3d1033a5062055b07e220b953bef98c826325053a98071f752032cb05d2151
3
+ size 1205904
Dataset/Drama/Chandalika.pdf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3b799d4ecd66890c86b731bfe4cc7509dcce80f2b6ca58ab38ca6d670a14c668
3
+ size 1503804
Dataset/Poems/A_lecture_upon_the_shadow.pdf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4d3dad7ab79d04266074f1b81dff5b2d92ebb62e68bfb25f739cbe5bb6e94565
3
+ size 427016
Dataset/Poems/Blood.pdf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ee043a03370a5363fc8c48e259efd80dcc93374dcb55ed4cd1f5765e26503344
3
+ size 445656
Dataset/Poems/Kubla_khan.pdf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:25fad91d337387e3a918877bb1e6984b2d54c6b85f35c726b3717fb0a3238caa
3
+ size 395237
Dataset/Poems/On_time.pdf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d489a5656a33fba7a730d36d38f119ca68982a830bc7aa7fa2258cdcf59a2ed6
3
+ size 326945
Dataset/Poems/The_divine_image.pdf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:67b9b33ef53a427b0738d4e14da9ec2a91ad78c4c13862d6a55d7d1ba4166766
3
+ size 2087736
Dataset/Poems/The_wild_swans_at_coole.pdf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1348796ce97323c2ab35a30e9c5d6e76659e8b564adfcc6903b44884e39c6d18
3
+ size 244804
Dataset/Poems/Time_and_time_again.pdf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:093d7857e04e73576ae5bc806ea4610a67c0a863b01284408d0b610acfb2ce43
3
+ size 286347
Dataset/Poems/Trees_emily_dickinson.pdf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:feda4a8cf83af6ab8ae30dfc37d9e287cee8b7bd7846098dbf07b3e5d2e73eef
3
+ size 282261
Dataset/Stories/A_wedding_in_brownsville.pdf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d823be10f9ec9371998980df5f9c95ba5f6c5df623bfdf709d2d1bb8fa05f320
3
+ size 1320450
Dataset/Stories/I_sell_my_dreams.pdf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d1b5dbf330b6c2f0521e29527490f4703c6a9828202f6caac66ed3cef51f3c58
3
+ size 866980
Dataset/Stories/One_centimetre.pdf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3cf42598f64075f8a798884163521e2d5a2d261f7c42a5a59bf3ccffe67363a3
3
+ size 1514845
Dataset/Stories/Tomorrow.pdf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d8402b929756b19fd4b00711e08d402c8d7c06510d9b96f398d52a762494413a
3
+ size 2223787
Dataset/Stories/eveline.pdf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:de6561016ab5f2ce4539f6fb482e5e1b4fbb49071e839e81d79aa33304566420
3
+ size 811025
Dataset/non_fiction/Flim_making.pdf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c831a45de18aac2a1c91e5927771afe88149dcee0f52a122acee62d60c12237c
3
+ size 1310774
Dataset/non_fiction/Freedom_freedom.pdf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ab53c4540e908cc3b5ba5873eeed3e583dab169f45c0ed3599be132c85a36927
3
+ size 1303640
Dataset/non_fiction/On_science_fiction.pdf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e41d663560cba7602e4a474340f5749b1946f6a059249ac1ae7e741aa4381ca2
3
+ size 925262
Dataset/non_fiction/The_argumentative_indian.pdf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f7c23fafb8b3a9bc0ebcc917b0a1fc391eee2a1d23483a449b40c15270bb1c21
3
+ size 1114494
Dataset/non_fiction/The_mark_on_the_wall.pdf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4563eec7df95e63ac35b5df0532000f323df9b2b41d526e07464e0ed740cf5ad
3
+ size 954787
Dataset/non_fiction/Why_the_novel_matters.pdf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:aa82bf32a32b8a6c92a496c7d240eff83e1262c32475899b53ae28c9abf323bb
3
+ size 864079
app.py ADDED
@@ -0,0 +1,182 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import gradio as gr
3
+ #from langchain_openai import ChatOpenAI
4
+ from langchain_groq import ChatGroq
5
+ from langchain_core.runnables import Runnable
6
+ from chat_engine import conversation_prompt
7
+ from chat_engine import chapter_index
8
+ from chat_engine import tree_index_list
9
+ from chat_engine import select_index
10
+ from langchain_core.messages import SystemMessage, HumanMessage, AIMessage
11
+ from pathlib import Path
12
+ from chat_engine import prompt_query
13
+
14
+ groq_llm = ChatGroq(
15
+ model_name="llama-3.1-8b-instant",
16
+ temperature=0.1,
17
+ api_key=os.getenv('GROQ_API_KEY')
18
+ )
19
+
20
+ response_chain: Runnable = conversation_prompt | groq_llm
21
+
22
+ groq_user_engg=ChatGroq(
23
+ model_name="llama3-70b-8192",
24
+ temperature=0,
25
+ api_key=os.getenv("GROQ_API")
26
+ )
27
+
28
+ query_chain: Runnable = prompt_query | groq_user_engg
29
+
30
+ def gradio_chat(user_query, chat_history, index, tree_index_list=tree_index_list, chapter_index=chapter_index,response_chain=response_chain):
31
+
32
+ if chat_history is None:
33
+ chat_history=[]
34
+
35
+ if user_query=="":
36
+ chat_history.append(HumanMessage(user_query))
37
+ chat_history.append(AIMessage("Kindly ask a question from the selected chapter."))
38
+ return "Kindly ask a question from the selected chapter", chat_history
39
+
40
+ vector_index=select_index(index)
41
+ retriever1=vector_index.as_retriever(similarity_top_k=3)
42
+ retrieved_nodes1=retriever1.retrieve(user_query)
43
+
44
+ tree_index=tree_index_list[chapter_index[retrieved_nodes1[0].metadata["chapter"]]]
45
+ if retrieved_nodes1[0].metadata["section"]=="poem":
46
+ retriever = tree_index.as_retriever(similarity_top_k=6, retriever_mode="all_leaf")
47
+ retrieved_nodes3=retriever.retrieve("summarize the poem")
48
+ #answer = response_synthesizer.synthesize(query=user_query, nodes=retrieved_nodes3)
49
+ pext=""
50
+ for content in retrieved_nodes3:
51
+ pext=pext+' '+content.text.strip()
52
+ context='Author: '+retrieved_nodes1[0].metadata['author']+'\nSection: '+retrieved_nodes1[0].metadata['section']+'\nChapter: '+retrieved_nodes1[0].metadata['chapter']+'\nContext: '+pext
53
+
54
+ else:
55
+ contextt=[]
56
+ for text in retrieved_nodes1:
57
+ contextt.append((text.metadata['page'], text.text))
58
+ contextt.sort(key=lambda x:x[0])
59
+ context1=[x[1] for x in contextt]
60
+
61
+ retriever = tree_index.as_retriever(similarity_top_k=1,retriever_mode="root",
62
+ search_kwargs={"num_children":4})
63
+
64
+ retrieved_nodes2=retriever.retrieve("summarize this chapter")
65
+
66
+ for text in retrieved_nodes2:
67
+ context1.append(text.text.strip())
68
+ context="\n".join(context1)
69
+ context='Author: '+retrieved_nodes1[0].metadata['author']+'\nSection: '+retrieved_nodes1[0].metadata['section']+'\nChapter: '+retrieved_nodes1[0].metadata['chapter']+'\nContext: '+context
70
+
71
+ chat_history.append(HumanMessage(user_query))
72
+ response=response_chain.invoke({"chat_history":chat_history[-12:], "user_query":user_query, "document_context":context})
73
+ chat_history.append(AIMessage(response.content))
74
+
75
+ return response.content, chat_history
76
+
77
+ def prompt_engg(message, chain_history, index, previous_index="Broken Images"):
78
+
79
+ if previous_index == index:
80
+ index_change=0
81
+ else:
82
+ index_change=1
83
+ question=query_chain.invoke({"user_query":message, "chat_history":chain_history, "index":index, "index_change":index_change})
84
+
85
+ return question
86
+
87
+ def respond(message, chain_history, ui_history, index):
88
+
89
+ message=prompt_engg(message, chain_history, index)
90
+ response_text, updated_history = gradio_chat(message, chain_history, index=index)
91
+
92
+ if ui_history is None:
93
+ ui_history = []
94
+
95
+ ui_history.append({"role": "user", "content": message})
96
+ ui_history.append({"role": "assistant", "content": response_text})
97
+ #print(ui_history)
98
+ return "", updated_history, ui_history
99
+
100
+ def download_file(index):
101
+ filepath=chapter_dir[index]
102
+ return filepath
103
+
104
+ custom_css = """
105
+ #chatbot_interface {
106
+ background: #f0f0f0;
107
+ padding: 20px;
108
+ border-radius: 10px;
109
+ }
110
+
111
+ /* Center the markdown text */
112
+ #welcome_markdown {
113
+ text-align: center;
114
+ margin: auto;
115
+ }
116
+ """
117
+
118
+ with gr.Blocks(css=custom_css,fill_width=True) as demo:
119
+ gr.Markdown("""
120
+ # I’m Deekshitha ☺️
121
+ ### Your Literature Guide, Always in Step with Words ✨
122
+
123
+ Welcome to *Kaleidoscope* —
124
+ Where verses twirl, stories sway, and questions take the spotlight.
125
+ With a heart in metaphors and a mind that pirouettes through prose,
126
+ I’ll help you find the rhythm in every poem, every tale.
127
+
128
+ Have a question from the 12th NCERT English textbook "Kaleidoscope"? Ask away — And I’ll glide in with an answer, clear and on beat.📖
129
+ ---
130
+ **Let the learning dance begin:**
131
+ 1. Choose your chapter from the dropdown below.
132
+ 2. Step into the text with your question.
133
+ 3. I’ll twirl in with the answer, just in time. 💫
134
+ """,elem_id="welcome_markdown")
135
+
136
+ chapter_dir={"Broken Images":"Dataset/Drama/Broken_images.pdf",
137
+ "Blood":"Dataset/Poems/Blood.pdf",
138
+ "Flim Making":"Dataset/non_fiction/Flim_making.pdf",
139
+ "Kubla Khan":"Dataset/Poems/Kubla_khan.pdf",
140
+ "One Centimeter":"Dataset/Stories/One_centimetre.pdf",
141
+ "I Sell My Dreams":"Dataset/Stories/I_sell_my_dreams.pdf",
142
+ "Poems By Blake":"Dataset/Poems/The_divine_image.pdf",
143
+ "Time And Time Again":"Dataset/Poems/Time_and_time_again.pdf",
144
+ "On Time":"Dataset/Poems/On_time.pdf",
145
+ "Trees":"Dataset/Poems/Trees_emily_dickinson.pdf",
146
+ "On Science Fiction":"Dataset/non_fiction/On_science_fiction.pdf",
147
+ "The Argumentative Indian":"Dataset/non_fiction/The_argumentative_indian.pdf",
148
+ "Why The Novel Matters":"Dataset/non_fiction/Why_the_novel_matters.pdf",
149
+ "Tomorrow":"Dataset/Stories/Tomorrow.pdf",
150
+ "A lecture Upon The Shadow":"Dataset/Poems/A_lecture_upon_the_shadow.pdf",
151
+ "Freedom":"Dataset/non_fiction/Freedom_freedom.pdf",
152
+ "A Wedding In Brownsville":"Dataset/Stories/A_wedding_in_brownsville.pdf",
153
+ "Eveline":"Dataset/Stories/eveline.pdf",
154
+ "Chandalika":"Dataset/Drama/Chandalika.pdf",
155
+ "The Wild Swans At Coole":"Dataset/Poems/The_wild_swans_at_coole.pdf",
156
+ "The Mark On The Wall":"Dataset/non_fiction/The_mark_on_the_wall.pdf"}
157
+
158
+ chatbot = gr.Chatbot(label="Chat Interface", elem_id="chatbot_interface", type="messages")
159
+
160
+ index=gr.State()
161
+ with gr.Row():
162
+ index=gr.Dropdown(
163
+ choices=list(chapter_dir.keys()),
164
+ label="Select Chapter",
165
+ info="Select the chapter on which you would like to ask questions."
166
+ )
167
+ msg = gr.Textbox(label="Enter your query:", placeholder="Type your question here...", lines=2)
168
+
169
+ d = gr.DownloadButton("Download selected chapter", visible=True)
170
+ index.change(fn=download_file, inputs=index, outputs=d)
171
+ #d.click(download_file, index, [d])
172
+
173
+ chain_history = gr.State([]) # For LangChain message objects
174
+ ui_history = gr.State([]) # For display, a list of dictionaries
175
+
176
+ gr.Button("Enter").click(respond, [msg, chain_history, ui_history, index], [msg, chain_history, chatbot])
177
+
178
+ #clear = gr.ClearButton([msg, chatbot], size="sm")
179
+ msg.submit(fn=respond, inputs=[msg, chain_history, ui_history, index], outputs=[msg, chain_history, chatbot])
180
+
181
+ demo.launch(allowed_paths=["Dataset/Stories","Dataset/Drama",
182
+ "Dataset/Poems","Dataset/non_fiction"])
chapter_index.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:db5aa614d3f7abb13495c6962141cc5ab32dfc470950c3fbeae0c75fc5b6a1af
3
+ size 478
chat_engine.py ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import pickle
2
+ from langchain_core.prompts import ChatPromptTemplate
3
+ from langchain_core.runnables import Runnable
4
+ from langchain_openai import ChatOpenAI
5
+ from timeit import default_timer as timer
6
+ from llama_index.embeddings.huggingface import HuggingFaceEmbedding
7
+ from qdrant_client import QdrantClient
8
+ from llama_index.vector_stores.qdrant import QdrantVectorStore
9
+ from llama_index.core import StorageContext, VectorStoreIndex
10
+
11
+ with open("custom_prompt.pkl", "rb") as file:
12
+ custom_template=pickle.load(file)
13
+
14
+ with open("tree_index_list.pkl","rb") as f:
15
+ tree_index_list=pickle.load(f)
16
+
17
+ with open("chapter_index.pkl","rb") as f:
18
+ chapter_index=pickle.load(f)
19
+
20
+ with open("index_dict.pkl", "rb") as file:
21
+ index_dict=pickle.load(file)
22
+
23
+ conversation_prompt=ChatPromptTemplate.from_template(template=custom_template)
24
+
25
+ with open("prompt_engg.pkl", "rb") as file:
26
+ prompt_engg=pickle.load(file)
27
+
28
+ prompt_query=ChatPromptTemplate.from_template(template=prompt_engg)
29
+
30
+ embedding_function = HuggingFaceEmbedding(model_name="sentence-transformers/all-roberta-large-v1")
31
+
32
+ def select_index(index, index_dict=index_dict, embedding_function=embedding_function):
33
+ for key in index_dict:
34
+ if index==key:
35
+
36
+ qdrant_local_path = index_dict[key]
37
+ qdrant_client = QdrantClient(path=qdrant_local_path)
38
+ collection_name = key
39
+ vector_size = 1024
40
+ qdrant_vector_store = QdrantVectorStore(client=qdrant_client, collection_name=collection_name)
41
+ storage_context = StorageContext.from_defaults(vector_store=qdrant_vector_store)
42
+ vector_index = VectorStoreIndex.from_vector_store(vector_store=qdrant_vector_store, embed_model=embedding_function)
43
+
44
+ return vector_index
45
+
custom_prompt.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2f2db078191c14c0eadf16e6513c227ceeae19ef50d1a6f8b34d8363c0c89439
3
+ size 2845
index_dict.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f25c1f2ade45f3d6505ce7d14de2a53a78fa15ea2391403914acc74083a76ee8
3
+ size 891
prompt_engg.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4ccd94080b83096f686978ab69762ea7afe671e8f4b442b782f177210408a0d1
3
+ size 2738
qdrant/a_lecture_upon_the_shadow/collection/A Lecture Upon The Shadow/storage.sqlite ADDED
Binary file (73.7 kB). View file
 
qdrant/a_lecture_upon_the_shadow/meta.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"collections": {"A Lecture Upon The Shadow": {"vectors": {"size": 1024, "distance": "Cosine", "hnsw_config": null, "quantization_config": null, "on_disk": null, "datatype": null, "multivector_config": null}, "shard_number": null, "sharding_method": null, "replication_factor": null, "write_consistency_factor": null, "on_disk_payload": null, "hnsw_config": null, "wal_config": null, "optimizers_config": null, "init_from": null, "quantization_config": null, "sparse_vectors": null, "strict_mode_config": null}}, "aliases": {}}
qdrant/a_wedding_in_brownsville/collection/A Wedding In Brownsville/storage.sqlite ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f8679d7531ef82317bdd021eca23e36c786f7b37449d87fd7284bb87fac3cc3b
3
+ size 249856
qdrant/a_wedding_in_brownsville/meta.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"collections": {"A Wedding In Brownsville": {"vectors": {"size": 1024, "distance": "Cosine", "hnsw_config": null, "quantization_config": null, "on_disk": null, "datatype": null, "multivector_config": null}, "shard_number": null, "sharding_method": null, "replication_factor": null, "write_consistency_factor": null, "on_disk_payload": null, "hnsw_config": null, "wal_config": null, "optimizers_config": null, "init_from": null, "quantization_config": null, "sparse_vectors": null, "strict_mode_config": null}}, "aliases": {}}
qdrant/blood/collection/Blood/storage.sqlite ADDED
Binary file (86 kB). View file
 
qdrant/blood/meta.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"collections": {"Blood": {"vectors": {"size": 1024, "distance": "Cosine", "hnsw_config": null, "quantization_config": null, "on_disk": null, "datatype": null, "multivector_config": null}, "shard_number": null, "sharding_method": null, "replication_factor": null, "write_consistency_factor": null, "on_disk_payload": null, "hnsw_config": null, "wal_config": null, "optimizers_config": null, "init_from": null, "quantization_config": null, "sparse_vectors": null, "strict_mode_config": null}}, "aliases": {}}
qdrant/broken_images/collection/Broken Images/storage.sqlite ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6b05cde8cb5b216ba57c4d90bc9fce675267a067589937e5b578cd71f2277e04
3
+ size 192512
qdrant/broken_images/meta.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"collections": {"Broken Images": {"vectors": {"size": 1024, "distance": "Cosine", "hnsw_config": null, "quantization_config": null, "on_disk": null, "datatype": null, "multivector_config": null}, "shard_number": null, "sharding_method": null, "replication_factor": null, "write_consistency_factor": null, "on_disk_payload": null, "hnsw_config": null, "wal_config": null, "optimizers_config": null, "init_from": null, "quantization_config": null, "sparse_vectors": null, "strict_mode_config": null}}, "aliases": {}}
qdrant/chandalika/collection/Chandalika/storage.sqlite ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3095aba29f6f65cdd96fb1b7242c804c5fd731e435e8cedcb8204a8ef339ce83
3
+ size 278528
qdrant/chandalika/meta.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"collections": {"Chandalika": {"vectors": {"size": 1024, "distance": "Cosine", "hnsw_config": null, "quantization_config": null, "on_disk": null, "datatype": null, "multivector_config": null}, "shard_number": null, "sharding_method": null, "replication_factor": null, "write_consistency_factor": null, "on_disk_payload": null, "hnsw_config": null, "wal_config": null, "optimizers_config": null, "init_from": null, "quantization_config": null, "sparse_vectors": null, "strict_mode_config": null}}, "aliases": {}}
qdrant/eveline/collection/Eveline/storage.sqlite ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:10fcd809f3656f1541c21e8c1746fea89c65e8aa67faceabd8e028d58f4c48bf
3
+ size 126976
qdrant/eveline/meta.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"collections": {"Eveline": {"vectors": {"size": 1024, "distance": "Cosine", "hnsw_config": null, "quantization_config": null, "on_disk": null, "datatype": null, "multivector_config": null}, "shard_number": null, "sharding_method": null, "replication_factor": null, "write_consistency_factor": null, "on_disk_payload": null, "hnsw_config": null, "wal_config": null, "optimizers_config": null, "init_from": null, "quantization_config": null, "sparse_vectors": null, "strict_mode_config": null}}, "aliases": {}}
qdrant/film_making/collection/Flim Making/storage.sqlite ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d2568eae30c5faa4b19c259958638603cacc0866d4ebb64cd4592e321b0ed9e2
3
+ size 217088
qdrant/film_making/meta.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"collections": {"Flim Making": {"vectors": {"size": 1024, "distance": "Cosine", "hnsw_config": null, "quantization_config": null, "on_disk": null, "datatype": null, "multivector_config": null}, "shard_number": null, "sharding_method": null, "replication_factor": null, "write_consistency_factor": null, "on_disk_payload": null, "hnsw_config": null, "wal_config": null, "optimizers_config": null, "init_from": null, "quantization_config": null, "sparse_vectors": null, "strict_mode_config": null}}, "aliases": {}}
qdrant/freedom/collection/Freedom/storage.sqlite ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7502afa6ac1315c1a4c55bacc7c69ecdf2b44df82cd02007d13d783c22824057
3
+ size 245760
qdrant/freedom/meta.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"collections": {"Freedom": {"vectors": {"size": 1024, "distance": "Cosine", "hnsw_config": null, "quantization_config": null, "on_disk": null, "datatype": null, "multivector_config": null}, "shard_number": null, "sharding_method": null, "replication_factor": null, "write_consistency_factor": null, "on_disk_payload": null, "hnsw_config": null, "wal_config": null, "optimizers_config": null, "init_from": null, "quantization_config": null, "sparse_vectors": null, "strict_mode_config": null}}, "aliases": {}}
qdrant/i_sell_my_dreams/collection/I Sell My Dreams/storage.sqlite ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:aeef7afad2458147d6657b0aec74455be1277e42f722491c408615024929b30d
3
+ size 155648
qdrant/i_sell_my_dreams/meta.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"collections": {"I Sell My Dreams": {"vectors": {"size": 1024, "distance": "Cosine", "hnsw_config": null, "quantization_config": null, "on_disk": null, "datatype": null, "multivector_config": null}, "shard_number": null, "sharding_method": null, "replication_factor": null, "write_consistency_factor": null, "on_disk_payload": null, "hnsw_config": null, "wal_config": null, "optimizers_config": null, "init_from": null, "quantization_config": null, "sparse_vectors": null, "strict_mode_config": null}}, "aliases": {}}
qdrant/kubla_khan/collection/Kubla Khan/storage.sqlite ADDED
Binary file (86 kB). View file
 
qdrant/kubla_khan/meta.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"collections": {"Kubla Khan": {"vectors": {"size": 1024, "distance": "Cosine", "hnsw_config": null, "quantization_config": null, "on_disk": null, "datatype": null, "multivector_config": null}, "shard_number": null, "sharding_method": null, "replication_factor": null, "write_consistency_factor": null, "on_disk_payload": null, "hnsw_config": null, "wal_config": null, "optimizers_config": null, "init_from": null, "quantization_config": null, "sparse_vectors": null, "strict_mode_config": null}}, "aliases": {}}
qdrant/on_science_fiction/collection/On Science Fiction/storage.sqlite ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d860e2d76c3939b7234fa0fd4a18181722af218cc6d6afef54dede3ac5ab08fe
3
+ size 167936
qdrant/on_science_fiction/meta.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"collections": {"On Science Fiction": {"vectors": {"size": 1024, "distance": "Cosine", "hnsw_config": null, "quantization_config": null, "on_disk": null, "datatype": null, "multivector_config": null}, "shard_number": null, "sharding_method": null, "replication_factor": null, "write_consistency_factor": null, "on_disk_payload": null, "hnsw_config": null, "wal_config": null, "optimizers_config": null, "init_from": null, "quantization_config": null, "sparse_vectors": null, "strict_mode_config": null}}, "aliases": {}}