Spaces:
Paused
Paused
WaysAhead Global commited on
Update app.py
Browse files
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 |
-
|
| 83 |
-
|
| 84 |
-
|
|
|
|
| 85 |
|
| 86 |
-
|
| 87 |
-
|
| 88 |
-
|
| 89 |
-
|
| 90 |
-
|
|
|
|
| 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 |
-
|
| 137 |
-
|
|
|
|
|
|
|
|
|
|
| 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:
|