nkcong206 commited on
Commit
26305ff
·
verified ·
1 Parent(s): f321a77

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -8
app.py CHANGED
@@ -7,7 +7,8 @@ from langchain_huggingface import HuggingFaceEmbeddings
7
  from langchain.prompts import PromptTemplate
8
  from langchain_core.output_parsers import StrOutputParser
9
  from langchain_core.runnables import RunnablePassthrough
10
- from langchain_chroma import Chroma
 
11
  from langchain_text_splitters import RecursiveCharacterTextSplitter
12
 
13
  # Tiêu đề ứng dụng
@@ -54,7 +55,7 @@ def format_docs(docs):
54
  def get_chat_google_model(api_key):
55
  os.environ["GOOGLE_API_KEY"] = api_key
56
  return ChatGoogleGenerativeAI(
57
- model="gemini-1.5-flash",
58
  temperature=0,
59
  max_tokens=None,
60
  timeout=None,
@@ -77,8 +78,6 @@ def get_embedding_model():
77
 
78
  # Hàm tạo RAG Chain
79
  @st.cache_resource
80
- # Hàm tạo RAG Chain với xử lý lưu trữ Chroma
81
- @st.cache_resource
82
  def compute_rag_chain(_model, _embd, docs_texts):
83
  if not docs_texts:
84
  raise ValueError("Không có tài liệu nào để xử lý. Vui lòng tải lên các tệp hợp lệ.")
@@ -95,9 +94,11 @@ def compute_rag_chain(_model, _embd, docs_texts):
95
  if not os.path.exists(persist_dir):
96
  os.makedirs(persist_dir)
97
 
 
 
 
98
  # Khởi tạo Chroma và lưu dữ liệu
99
- vectorstore = Chroma.from_texts(texts=texts, embedding=_embd, persist_directory=persist_dir)
100
- vectorstore.persist() # Lưu dữ liệu vào thư mục persist_dir
101
  retriever = vectorstore.as_retriever()
102
 
103
  # Template cho prompt
@@ -120,8 +121,6 @@ def compute_rag_chain(_model, _embd, docs_texts):
120
  )
121
  return rag_chain
122
 
123
-
124
-
125
  # Dialog cài đặt Google Gemini
126
  @st.dialog("Setup Gemini")
127
  def setup_gemini():
 
7
  from langchain.prompts import PromptTemplate
8
  from langchain_core.output_parsers import StrOutputParser
9
  from langchain_core.runnables import RunnablePassthrough
10
+ from langchain.vectorstores import Chroma
11
+ from chromadb.config import Settings
12
  from langchain_text_splitters import RecursiveCharacterTextSplitter
13
 
14
  # Tiêu đề ứng dụng
 
55
  def get_chat_google_model(api_key):
56
  os.environ["GOOGLE_API_KEY"] = api_key
57
  return ChatGoogleGenerativeAI(
58
+ model="gemini-1.5-pro",
59
  temperature=0,
60
  max_tokens=None,
61
  timeout=None,
 
78
 
79
  # Hàm tạo RAG Chain
80
  @st.cache_resource
 
 
81
  def compute_rag_chain(_model, _embd, docs_texts):
82
  if not docs_texts:
83
  raise ValueError("Không có tài liệu nào để xử lý. Vui lòng tải lên các tệp hợp lệ.")
 
94
  if not os.path.exists(persist_dir):
95
  os.makedirs(persist_dir)
96
 
97
+ # Khởi tạo Chroma với cấu hình lưu trữ
98
+ settings = Settings(persist_directory=persist_dir)
99
+
100
  # Khởi tạo Chroma và lưu dữ liệu
101
+ vectorstore = Chroma.from_texts(texts=texts, embedding=_embd, client_settings=settings)
 
102
  retriever = vectorstore.as_retriever()
103
 
104
  # Template cho prompt
 
121
  )
122
  return rag_chain
123
 
 
 
124
  # Dialog cài đặt Google Gemini
125
  @st.dialog("Setup Gemini")
126
  def setup_gemini():