Skip to content

Commit f1119b9

Browse files
committed
fix: suppress expected ChromaDB warnings about existing IDs
1 parent 9080fa6 commit f1119b9

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

gptme_rag/indexing/indexer.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import logging
22
import time
33
from fnmatch import fnmatch
4+
from logging import Filter
45
from pathlib import Path
56

67
import chromadb
@@ -11,6 +12,28 @@
1112
from .document import Document
1213
from .document_processor import DocumentProcessor
1314

15+
16+
class ChromaDBFilter(Filter):
17+
"""Filter out expected ChromaDB warnings about existing IDs."""
18+
19+
def filter(self, record: logging.LogRecord) -> bool:
20+
if record.levelno == logging.WARNING:
21+
# Filter out specific ChromaDB warnings about existing IDs
22+
if record.name.startswith("chromadb.segment.impl"):
23+
msg = record.getMessage()
24+
if "existing embedding ID" in msg:
25+
return False
26+
return True
27+
28+
29+
# Add filter to ChromaDB loggers
30+
for logger_name in [
31+
"chromadb.segment.impl.metadata.sqlite",
32+
"chromadb.segment.impl.vector.local_persistent_hnsw",
33+
]:
34+
logging.getLogger(logger_name).addFilter(ChromaDBFilter())
35+
36+
1437
logger = logging.getLogger(__name__)
1538

1639

0 commit comments

Comments
 (0)