WaysAhead Global commited on
Commit
5da7db6
Β·
verified Β·
1 Parent(s): d73c387

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -10
app.py CHANGED
@@ -64,6 +64,8 @@ for mall, file_name in competitor_files.items():
64
 
65
  # βœ… Load Data into ChromaDB Vector Store with File Error Handling
66
  st.info("πŸ”„ Training AI embeddings on KPI and Competitor data...")
 
 
67
  try:
68
  loader_kpi = UnstructuredExcelLoader(kpi_file, mode="elements")
69
  kpi_docs = loader_kpi.load()
@@ -79,15 +81,17 @@ try:
79
 
80
  all_docs = kpi_docs + competitor_docs
81
 
82
- # βœ… Use RecursiveCharacterTextSplitter for better chunking
83
- text_splitter = RecursiveCharacterTextSplitter(chunk_size=1000, chunk_overlap=100)
84
- split_docs = text_splitter.split_documents(all_docs)
 
85
 
86
- # βœ… Store in ChromaDB
87
- embeddings = OpenAIEmbeddings(api_key=openai_api_key)
88
- vectorstore = Chroma.from_documents(split_docs, embeddings)
89
-
90
- st.success("βœ… AI embeddings trained and stored in ChromaDB successfully!")
 
91
  except Exception as e:
92
  st.error(f"❌ Error training AI embeddings with ChromaDB: {e}")
93
 
@@ -133,8 +137,11 @@ if selected_mall:
133
  st.success(f"βœ… Retrieved {len(competitor_list)} competitors from dataset.")
134
  else:
135
  st.warning("⚠️ No competitor data found. Using AI embeddings to predict competitors.")
136
- search_results = vectorstore.similarity_search(f"Find competitors for {store_category} in {selected_mall}")
137
- competitor_list = [doc.page_content for doc in search_results]
 
 
 
138
 
139
  st.subheader("πŸ”Ž Competitors in This Mall")
140
  for competitor in competitor_list:
 
64
 
65
  # βœ… Load Data into ChromaDB Vector Store with File Error Handling
66
  st.info("πŸ”„ Training AI embeddings on KPI and Competitor data...")
67
+ vectorstore = None # Initialize vectorstore to prevent NameError
68
+
69
  try:
70
  loader_kpi = UnstructuredExcelLoader(kpi_file, mode="elements")
71
  kpi_docs = loader_kpi.load()
 
81
 
82
  all_docs = kpi_docs + competitor_docs
83
 
84
+ if len(all_docs) > 0:
85
+ # βœ… Use RecursiveCharacterTextSplitter for better chunking
86
+ text_splitter = RecursiveCharacterTextSplitter(chunk_size=1000, chunk_overlap=100)
87
+ split_docs = text_splitter.split_documents(all_docs)
88
 
89
+ # βœ… Store in ChromaDB
90
+ embeddings = OpenAIEmbeddings(api_key=openai_api_key)
91
+ vectorstore = Chroma.from_documents(split_docs, embeddings)
92
+ st.success("βœ… AI embeddings trained and stored in ChromaDB successfully!")
93
+ else:
94
+ st.warning("⚠️ No valid documents were found to train embeddings.")
95
  except Exception as e:
96
  st.error(f"❌ Error training AI embeddings with ChromaDB: {e}")
97
 
 
137
  st.success(f"βœ… Retrieved {len(competitor_list)} competitors from dataset.")
138
  else:
139
  st.warning("⚠️ No competitor data found. Using AI embeddings to predict competitors.")
140
+ if vectorstore:
141
+ search_results = vectorstore.similarity_search(f"Find competitors for {store_category} in {selected_mall}")
142
+ competitor_list = [doc.page_content for doc in search_results]
143
+ else:
144
+ competitor_list = ["No AI embeddings available."]
145
 
146
  st.subheader("πŸ”Ž Competitors in This Mall")
147
  for competitor in competitor_list: