Feat/651 Outfit Assistant Notebook
Feature id: #651
Jupyter notebook implementation of outfit assistant using Gemini 2.0 flash model.
- The Jupyter notebook contains the implementation for the outfit assistant.
- It uses the Gemini's multimodality and great understanding of the real world to recommend outfit based on the user's preference, temperature of the place where user lives, and the occasion for which the user wants a recommendation.
- The implementation showcases Gemini's flash model's capability to take and process multiple images, raw weather data and user entered information all at the same time.
Thank you and looking forward to the feedback. ๐
Check out this pull request onย ![]()
See visual diffs & provide feedback on Jupyter Notebooks.
Powered by ReviewNB
Can anyone review this?
View / edit / reply to this conversation on ReviewNB
Giom-V commented on 2025-04-23T13:55:49Z ----------------------------------------------------------------
Line #1. %pip install -U -q "google-genai" # Install the Python SDK
Can you add a minimum version, like >=1.0.0?ย ย
View / edit / reply to this conversation on ReviewNB
Giom-V commented on 2025-04-23T13:55:50Z ----------------------------------------------------------------
Ideally we should distribute the imports in the cells where they are needed.
View / edit / reply to this conversation on ReviewNB
Giom-V commented on 2025-04-23T13:55:51Z ----------------------------------------------------------------
What about using search grounding instead and ask Gemini to check the weather?
View / edit / reply to this conversation on ReviewNB
Giom-V commented on 2025-04-23T13:55:52Z ----------------------------------------------------------------
Line #1. def get_weather(city: str, country: str = "") -> str:
I wouldn't mix helper function and a function that is meant to be used with function calling.
As for the helper functions, they should have a # @title helper functions comment on the first line so they can be collapsed.
View / edit / reply to this conversation on ReviewNB
Giom-V commented on 2025-04-23T13:55:53Z ----------------------------------------------------------------
I think it needs a better title, right now it feel like a bit like an AI generated explanatory comment. Maybe just a setup section and a get advices one?
View / edit / reply to this conversation on ReviewNB
Giom-V commented on 2025-04-23T13:55:54Z ----------------------------------------------------------------
Where does the images comes from? What's their license? Do we have the rights to use them?
View / edit / reply to this conversation on ReviewNB
Giom-V commented on 2025-04-23T13:55:55Z ----------------------------------------------------------------
I would group this and the next two sections into one, with texts instead of titles.
View / edit / reply to this conversation on ReviewNB
Giom-V commented on 2025-04-23T13:55:56Z ----------------------------------------------------------------
I think you need to explain a bit more what are the different steps, what are the user preferences and how you build your prompt.
View / edit / reply to this conversation on ReviewNB
Giom-V commented on 2025-04-23T13:55:57Z ----------------------------------------------------------------
Line #15. country = input("๐ Enter your country to fetch the weather (or press Enter to skip): ").strip()
You shouldn't ask for a country if no city was provided I think.
View / edit / reply to this conversation on ReviewNB
Giom-V commented on 2025-04-23T13:55:58Z ----------------------------------------------------------------
Line #22. elif not WEATHER_API:
I think you should do the check before asking for the location and the country
View / edit / reply to this conversation on ReviewNB
Giom-V commented on 2025-04-23T13:55:59Z ----------------------------------------------------------------
Line #69. model='gemini-2.0-flash',
Can you add a "MODEL_ID" variable like this?
MODEL_ID="gemini-2.0-flash" # @param ["gemini-2.0-flash-lite","gemini-2.0-flash","gemini-2.5-flash-preview-04-17","gemini-2.5-pro-exp-03-25"] {"allow-input":true, isTemplate: true}
As it would make the notebook easier to maintain in the future.
View / edit / reply to this conversation on ReviewNB
Giom-V commented on 2025-04-23T13:56:00Z ----------------------------------------------------------------
Why did you added main() three times? Is it to show different examples? You should explain it if that's the case.
Do you still want to push this @GurneeshBudhiraja?
I am not sure if I would be able to complete this. You can close the PR or take it from here. Thanks ๐