Spaces:
Runtime error
Runtime error
Upload app.py
Browse files
app.py
CHANGED
|
@@ -29,10 +29,13 @@ from groq import Groq
|
|
| 29 |
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
| 30 |
CHROMA_PATH = "./chroma_ena_db"
|
| 31 |
|
| 32 |
-
if os.path.exists("chroma_ena_db.zip")
|
| 33 |
try:
|
|
|
|
|
|
|
| 34 |
with zipfile.ZipFile("chroma_ena_db.zip", 'r') as zip_ref:
|
| 35 |
zip_ref.extractall(".")
|
|
|
|
| 36 |
except Exception as e:
|
| 37 |
print(f"Zip extraction failed: {e}")
|
| 38 |
|
|
@@ -151,13 +154,14 @@ def load_llm():
|
|
| 151 |
return Groq(api_key=key) if key else None
|
| 152 |
|
| 153 |
@st.cache_resource
|
| 154 |
-
def load_all_chunks(_vdb,
|
| 155 |
try:
|
| 156 |
col = _vdb._collection.get(include=["documents", "metadatas"])
|
| 157 |
docs = col.get("documents") or []
|
| 158 |
metas = col.get("metadatas") or []
|
| 159 |
return docs, metas
|
| 160 |
-
except Exception:
|
|
|
|
| 161 |
return [], []
|
| 162 |
|
| 163 |
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
@@ -670,7 +674,9 @@ with st.sidebar:
|
|
| 670 |
# DB status โ ุขู
ู ููุง ุฎุงุฑุฌ cache_resource
|
| 671 |
chunks_count = len(load_all_chunks(vectordb)[0])
|
| 672 |
if chunks_count == 0:
|
| 673 |
-
st.error("โ DB ูุงุฑุบุฉ โ
|
|
|
|
|
|
|
| 674 |
else:
|
| 675 |
st.success(f"โ
DB: {chunks_count} chunks")
|
| 676 |
st.metric("๐ฌ ุนุฏุฏ ุงูุฃุณุฆูุฉ", len([m for m in st.session_state.chat_messages if m["role"]=="user"]))
|
|
|
|
| 29 |
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
| 30 |
CHROMA_PATH = "./chroma_ena_db"
|
| 31 |
|
| 32 |
+
if os.path.exists("chroma_ena_db.zip"):
|
| 33 |
try:
|
| 34 |
+
import shutil
|
| 35 |
+
# Always overwrite if there's a fresh zip
|
| 36 |
with zipfile.ZipFile("chroma_ena_db.zip", 'r') as zip_ref:
|
| 37 |
zip_ref.extractall(".")
|
| 38 |
+
os.remove("chroma_ena_db.zip") # Delete zip after extraction so we don't do it again
|
| 39 |
except Exception as e:
|
| 40 |
print(f"Zip extraction failed: {e}")
|
| 41 |
|
|
|
|
| 154 |
return Groq(api_key=key) if key else None
|
| 155 |
|
| 156 |
@st.cache_resource
|
| 157 |
+
def load_all_chunks(_vdb, _force_reload_v3=True):
|
| 158 |
try:
|
| 159 |
col = _vdb._collection.get(include=["documents", "metadatas"])
|
| 160 |
docs = col.get("documents") or []
|
| 161 |
metas = col.get("metadatas") or []
|
| 162 |
return docs, metas
|
| 163 |
+
except Exception as e:
|
| 164 |
+
print(f"Exception in load_all_chunks: {e}")
|
| 165 |
return [], []
|
| 166 |
|
| 167 |
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
|
|
| 674 |
# DB status โ ุขู
ู ููุง ุฎุงุฑุฌ cache_resource
|
| 675 |
chunks_count = len(load_all_chunks(vectordb)[0])
|
| 676 |
if chunks_count == 0:
|
| 677 |
+
st.error("โ DB ูุงุฑุบุฉ โ ุฃู ุฌุงุฑู ุงูุชุญุฏูุซ (ุงุถุบุท ู
ุณุญ ุงูู
ุญุงุฏุซุฉ ููุชุญุฏูุซ)")
|
| 678 |
+
load_vectordb.clear()
|
| 679 |
+
load_all_chunks.clear()
|
| 680 |
else:
|
| 681 |
st.success(f"โ
DB: {chunks_count} chunks")
|
| 682 |
st.metric("๐ฌ ุนุฏุฏ ุงูุฃุณุฆูุฉ", len([m for m in st.session_state.chat_messages if m["role"]=="user"]))
|