Skip to content

Commit 0ad84d7

Browse files
committed
improved word tokenization for BM25Retriever
1 parent eb533ef commit 0ad84d7

4 files changed

Lines changed: 30 additions & 42 deletions

File tree

Dockerfile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@ RUN poetry config virtualenvs.in-project true
2727
# Install dependencies without dev dependencies
2828
RUN poetry install --no-root --without dev
2929

30+
# Download NLTK data
31+
RUN poetry run python -m nltk.downloader punkt_tab
32+
3033
# Adjust PATH to include the virtual environment's bin directory
3134
ENV PATH="${VENV_PATH}/bin:${PATH}"
3235

poetry.lock

Lines changed: 21 additions & 41 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ pydantic = "^2.10.5"
4646
pyyaml = "^6.0.2"
4747
tavily-python = "^0.5.0"
4848
openpyxl = "^3.1.5"
49+
nltk = "^3.9.1"
4950

5051
[tool.poetry.group.dev.dependencies]
5152
ruff = "^0.7.1"

src/retrievers/csv_chroma.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
from langchain_core.embeddings import Embeddings
1212
from langchain_core.language_models.chat_models import BaseChatModel
1313
from langchain_core.retrievers import BaseRetriever
14+
from nltk.tokenize import word_tokenize
1415

1516
chroma_settings = chromadb.config.Settings(anonymized_telemetry=False)
1617

@@ -38,7 +39,10 @@ def create_bm25_chroma_ensemble_retriever(
3839
loader = CSVLoader(file_path=reactome_csvs_dir / csv_file_name)
3940
data = loader.load()
4041
bm25_retriever = BM25Retriever.from_documents(
41-
data, preprocess_func=lambda text: text.casefold().split()
42+
data,
43+
preprocess_func=lambda text: word_tokenize(
44+
text.casefold(), language="english"
45+
),
4246
)
4347
bm25_retriever.k = 10
4448

0 commit comments

Comments
 (0)