Update app.py
Browse files
app.py
CHANGED
@@ -229,28 +229,6 @@ def load_models_and_components(show_spinner="Loading models..."):
|
|
229 |
batch_size=32
|
230 |
)
|
231 |
|
232 |
-
return llm, dense_model, sparse_model
|
233 |
-
|
234 |
-
def chunk_documents(docs, dense_model, sparse_model, show_spinner="Parsing and chunking texts..."):
|
235 |
-
text_splitter = SemanticChunker(
|
236 |
-
dense_model,
|
237 |
-
breakpoint_threshold_type='standard_deviation'
|
238 |
-
)
|
239 |
-
|
240 |
-
documents = [doc.page_content for doc in text_splitter.transform_documents(list(docs))]
|
241 |
-
|
242 |
-
dense_embeddings = dense_model.embed_documents(stqdm(documents,desc='Generate dense embeddings...', backend=True), 32)
|
243 |
-
sparse_embeddings = list(sparse_model.embed(stqdm(documents, desc='Generate sparse embeddings...', backend=True), 32))
|
244 |
-
|
245 |
-
return documents, dense_embeddings, sparse_embeddings
|
246 |
-
|
247 |
-
if __name__ == '__main__':
|
248 |
-
st.set_page_config(page_title="Video Game Assistant",
|
249 |
-
layout="wide"
|
250 |
-
)
|
251 |
-
|
252 |
-
llm, dense_model, sparse_model = load_models_and_components()
|
253 |
-
|
254 |
client = QdrantClient(":memory:")
|
255 |
collection_name = 'collection_demo'
|
256 |
|
@@ -304,6 +282,29 @@ if __name__ == '__main__':
|
|
304 |
optimizer_config=models.OptimizersConfigDiff(indexing_threshold=20000)
|
305 |
)
|
306 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
307 |
st.title("Video Game Assistant")
|
308 |
|
309 |
if "messages" not in st.session_state:
|
@@ -317,6 +318,12 @@ if __name__ == '__main__':
|
|
317 |
st.chat_message("user").markdown(prompt)
|
318 |
st.session_state.messages.append({"role": "user", "content": prompt})
|
319 |
|
|
|
|
|
|
|
|
|
|
|
|
|
320 |
ai_response = main(prompt, client, collection_name, llm, dense_model, sparse_model)
|
321 |
response = f"Echo: {ai_response}"
|
322 |
with st.chat_message("assistant"):
|
|
|
229 |
batch_size=32
|
230 |
)
|
231 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
232 |
client = QdrantClient(":memory:")
|
233 |
collection_name = 'collection_demo'
|
234 |
|
|
|
282 |
optimizer_config=models.OptimizersConfigDiff(indexing_threshold=20000)
|
283 |
)
|
284 |
|
285 |
+
return client, collection_name, llm, dense_model, sparse_model
|
286 |
+
|
287 |
+
def chunk_documents(docs, dense_model, sparse_model, show_spinner="Parsing and chunking texts..."):
|
288 |
+
text_splitter = SemanticChunker(
|
289 |
+
dense_model,
|
290 |
+
breakpoint_threshold_type='standard_deviation'
|
291 |
+
)
|
292 |
+
|
293 |
+
documents = [doc.page_content for doc in text_splitter.transform_documents(list(docs))]
|
294 |
+
|
295 |
+
dense_embeddings = dense_model.embed_documents(stqdm(documents,desc='Generate dense embeddings...', backend=True), 32)
|
296 |
+
sparse_embeddings = list(sparse_model.embed(stqdm(documents, desc='Generate sparse embeddings...', backend=True), 32))
|
297 |
+
|
298 |
+
return documents, dense_embeddings, sparse_embeddings
|
299 |
+
|
300 |
+
if __name__ == '__main__':
|
301 |
+
st.set_page_config(page_title="Video Game Assistant",
|
302 |
+
layout="wide"
|
303 |
+
)
|
304 |
+
if 'models_loaded' not in st.session_state:
|
305 |
+
st.session_state.client, st.session_state.collection_name, st.session_state.llm, st.session_state.dense_model, st.session_state.sparse_model = load_models_and_components()
|
306 |
+
st.session_state.models_loaded = True
|
307 |
+
|
308 |
st.title("Video Game Assistant")
|
309 |
|
310 |
if "messages" not in st.session_state:
|
|
|
318 |
st.chat_message("user").markdown(prompt)
|
319 |
st.session_state.messages.append({"role": "user", "content": prompt})
|
320 |
|
321 |
+
client = st.session_state.client
|
322 |
+
collection_name = st.session_state.collection_name
|
323 |
+
llm = st.session_state.llm
|
324 |
+
dense_model = st.session_state.dense_model
|
325 |
+
sparse_model = st.session_state.sparse_model
|
326 |
+
|
327 |
ai_response = main(prompt, client, collection_name, llm, dense_model, sparse_model)
|
328 |
response = f"Echo: {ai_response}"
|
329 |
with st.chat_message("assistant"):
|