nkcong206 commited on
Commit
65657aa
·
1 Parent(s): 4bb00c2
Files changed (1) hide show
  1. app.py +33 -32
app.py CHANGED
@@ -309,42 +309,43 @@ with st.sidebar:
309
 
310
  if st.session_state.uploaded_files:
311
  if st.session_state.gemini_api is not None:
312
- if st.session_state.rag is None:
313
- docs_texts = [d.page_content for d in documents]
 
314
 
315
- results = recursive_embed_cluster_summarize(st.session_state.model, st.session_state.embd, docs_texts, level=1, n_levels=3)
316
 
317
- all_texts = docs_texts.copy()
318
 
319
- for level in sorted(results.keys()):
320
- summaries = results[level][1]["summaries"].tolist()
321
- all_texts.extend(summaries)
322
 
323
- vectorstore = Chroma.from_texts(texts=all_texts, embedding=st.session_state.embd)
324
-
325
- retriever = vectorstore.as_retriever()
326
-
327
- def format_docs(docs):
328
- return "\n\n".join(doc.page_content for doc in docs)
329
-
330
- template = """
331
- Bạn là một trợ lí AI hỗ trợ tuyển sinh và sinh viên. \n
332
- Hãy trả lời câu hỏi chính xác, tập trung vào thông tin liên quan đến câu hỏi. \n
333
- Nếu bạn không biết câu trả lời, hãy nói không biết, đừng cố tạo ra câu trả lời.\n
334
- Dưới đây là thông tin liên quan mà bạn cần sử dụng tới:\n
335
- {context}\n
336
- hãy trả lời:\n
337
- {question}
338
- """
339
- prompt = PromptTemplate(template = template, input_variables=["context", "question"])
340
- rag_chain = (
341
- {"context": retriever | format_docs, "question": RunnablePassthrough()}
342
- | prompt
343
- | st.session_state.model
344
- | StrOutputParser()
345
- )
346
- st.session_state.rag = rag_chain
347
-
348
  if st.session_state.gemini_api is not None:
349
  if st.session_state.llm is None:
350
  mess = ChatPromptTemplate.from_messages(
 
309
 
310
  if st.session_state.uploaded_files:
311
  if st.session_state.gemini_api is not None:
312
+ with st.spinner("Đang xử lý, vui lòng đợi..."):
313
+ if st.session_state.rag is None:
314
+ docs_texts = [d.page_content for d in documents]
315
 
316
+ results = recursive_embed_cluster_summarize(st.session_state.model, st.session_state.embd, docs_texts, level=1, n_levels=3)
317
 
318
+ all_texts = docs_texts.copy()
319
 
320
+ for level in sorted(results.keys()):
321
+ summaries = results[level][1]["summaries"].tolist()
322
+ all_texts.extend(summaries)
323
 
324
+ vectorstore = Chroma.from_texts(texts=all_texts, embedding=st.session_state.embd)
325
+
326
+ retriever = vectorstore.as_retriever()
327
+
328
+ def format_docs(docs):
329
+ return "\n\n".join(doc.page_content for doc in docs)
330
+
331
+ template = """
332
+ Bạn là một trợ lí AI hỗ trợ tuyển sinh và sinh viên. \n
333
+ Hãy trả lời câu hỏi chính xác, tập trung vào thông tin liên quan đến câu hỏi. \n
334
+ Nếu bạn không biết câu trả lời, hãy nói không biết, đừng cố tạo ra câu trả lời.\n
335
+ Dưới đây là thông tin liên quan mà bạn cần sử dụng tới:\n
336
+ {context}\n
337
+ hãy trả lời:\n
338
+ {question}
339
+ """
340
+ prompt = PromptTemplate(template = template, input_variables=["context", "question"])
341
+ rag_chain = (
342
+ {"context": retriever | format_docs, "question": RunnablePassthrough()}
343
+ | prompt
344
+ | st.session_state.model
345
+ | StrOutputParser()
346
+ )
347
+ st.session_state.rag = rag_chain
348
+
349
  if st.session_state.gemini_api is not None:
350
  if st.session_state.llm is None:
351
  mess = ChatPromptTemplate.from_messages(