diff --git a/Makefile b/Makefile index f8b07c60..ef36dfb6 100644 --- a/Makefile +++ b/Makefile @@ -10,4 +10,5 @@ ruff-check: install: pyenv virtualenv --force 3.9 data-api-base pyenv local data-api-base - @eval "$$(pyenv init -)" && pyenv activate data-api-base && uv pip install -r linter-requirements.txt && pre-commit install + @eval "$$(pyenv init -)" && pyenv activate data-api-base && uv pip install -r linter-requirements.txt + @eval "$$(pyenv init -)" && pyenv activate data-api-base && pre-commit install diff --git a/README.md b/README.md index 7a1df43d..6607ae85 100644 --- a/README.md +++ b/README.md @@ -55,6 +55,10 @@ UV is a tool that aims to replace pip and pip-tools for managing Python dependen make install ``` +### Troubleshooting + +- If `make install` fails due to pre-commit not found, please run once more `make install`. + ## Formatting and static analysis ### Checking formatting and static analysis with `ruff` @@ -77,5 +81,7 @@ make ruff-fix ``` ## To run check micro service README -* [Recommendation documentation](apps/recommendation/README.md) -* [Compliance documentation](apps/fraud/compliance/api/README.md) + +- [Recommendation documentation](apps/recommendation/README.md) + +- [Compliance documentation](apps/fraud/compliance/api/README.md) diff --git a/apps/recommendation/api/src/huggy/core/model_engine/__init__.py b/apps/recommendation/api/src/huggy/core/model_engine/__init__.py index 1c041bed..e40656ab 100644 --- a/apps/recommendation/api/src/huggy/core/model_engine/__init__.py +++ b/apps/recommendation/api/src/huggy/core/model_engine/__init__.py @@ -142,7 +142,7 @@ async def save_context( if self.offer is not None: context_extra_data["offer_origin_id"] = self.offer.offer_id - for o in offers: + for idx, o in enumerate(offers): session.add( PastOfferContext( call_id=self.call_id, @@ -171,7 +171,7 @@ async def save_context( offer_subcategory_id=o.subcategory_id, offer_item_rank=o.item_rank, offer_item_score=o.item_score, - offer_order=o.offer_rank, + offer_order=idx, # order in the final recommendation output list offer_venue_id=None, offer_extra_data={ "offer_ranking_score": o.offer_score, diff --git a/apps/recommendation/api/src/huggy/core/model_selection/endpoint/__init__.py b/apps/recommendation/api/src/huggy/core/model_selection/endpoint/__init__.py index 7e0758ed..600c5b98 100644 --- a/apps/recommendation/api/src/huggy/core/model_selection/endpoint/__init__.py +++ b/apps/recommendation/api/src/huggy/core/model_selection/endpoint/__init__.py @@ -1,6 +1,6 @@ import enum -from huggy.utils.env_vars import ENV_SHORT_NAME +from huggy.utils.env_vars import ENV_SHORT_NAME, RANKING_VERSION_B_ENDPOINT_NAME class RetrievalEndpointName(enum.Enum): @@ -15,6 +15,4 @@ class RetrievalEndpointName(enum.Enum): class RankingEndpointName(enum.Enum): recommendation_user_ranking = f"recommendation_user_ranking_{ENV_SHORT_NAME}" - recommendation_user_ranking_version_b = ( - f"recommendation_user_ranking_version_b_{ENV_SHORT_NAME}" - ) + recommendation_user_ranking_version_b = RANKING_VERSION_B_ENDPOINT_NAME diff --git a/apps/recommendation/api/src/huggy/utils/env_vars.py b/apps/recommendation/api/src/huggy/utils/env_vars.py index 241a2870..745b5b33 100644 --- a/apps/recommendation/api/src/huggy/utils/env_vars.py +++ b/apps/recommendation/api/src/huggy/utils/env_vars.py @@ -43,4 +43,8 @@ # config DEFAULT_SIMILAR_OFFER_MODEL = os.environ.get("DEFAULT_SIMILAR_OFFER_MODEL", "default") DEFAULT_RECO_MODEL = os.environ.get("DEFAULT_RECO_MODEL", "default") +RANKING_VERSION_B_ENDPOINT_NAME = os.environ.get( + "RANKING_VERSION_B_ENDPOINT_NAME", + f"recommendation_user_ranking_version_b_{ENV_SHORT_NAME}", +) NUMBER_OF_RECOMMENDATIONS = 40