Week #5 #
Feedbacks #
Feedback collection plan #
- Conduct user surveys and feedback sessions to gather insights on usability, functionality, and desired features.
- Utilize face-to-face interviews and focus groups to ensure comprehensive feedback from a diverse user base.
Conducted user surveys or feedback sessions #
- Conducted feedback sessions with a diverse group of users including busy professionals, students, and homemakers.
- Collected insights on various aspects of the application including user interface, ease of use, feature requests, and overall satisfaction.
Analyzing feedback, identifying and prioritizing issues #
Key issues identified from feedback:
- User Interface (UI) Improvements: Users found some elements of the UI confusing, some of them suggested changing the main color of the website.
- Feature Requests: Users suggested several new features that could enhance the application’s usability, such as more options on a person, about his lifestyle and habits.
- Customization Options: Users asked about integration with other apps and websites using the API.
Prioritization of Issues:
- High priority: UI improvements, performance enhancements.
- Medium priority: New feature development based on user suggestions, including customization lifestyle options.
- Low priority: Long-term integration with other apps.
User Suggestions #
- Dark Mode: Many users requested a dark mode option to reduce eye strain during night usage.
- Social Sharing: Users wanted the ability to share their favorite recipes and meal plans on social media.
- Bulk Item Management: There was feedback on the need for better management of bulk items, including quantity tracking and expiration dates.
- Custom Input: Some users suggested implementing input for adding items to the inventory by themselves.
- Detailed Analytics: Users wanted detailed analytics on their shopping habits, such as spending trends and frequently purchased items.
- Color Scheme Options: Users requested the ability to change the application’s color scheme to match their personal preferences.
- Lifestyle Settings: Users wanted additional settings to input information about their lifestyle, such as dietary preferences, activity level, and health goals, to receive more personalized recommendations.
Roadmap: #
- Refine user interface based on feedback to enhance usability.
- Implement new features such as dark mode and social sharing.
- Enhance performance and scalability to handle peak usage times.
Mid-Term Goals (3-6 months) #
- Explore mobile app development for iOS/Android platforms.
- Plan for long-term integration with custom input and lifestyle-based settings.
- Initiate discussions with grocery chains like Pyaterochka and Magnit for potential collaboration opportunities.
Weekly Progress Report: #
Our team did: #
- Completed the authorization module for the user authentication process.
- Developed the backend functionality for managing dishes.
- Integrated the backend with the frontend for seamless user and product management.
- Connected the QR API to the backend and frontend parts.
- Fully completed the layout of the screens on the website.
- Conducted comprehensive data cleaning and preprocessing to ensure data consistency and quality.
- Developed a model for storing and retrieving data from a vector database.
- Completed the development of the RAG (Retrieval-Augmented Generation) model.
- Tested and selected the most suitable language model (LLM) for generating responses based on information retrieved using the RAG model.
Challenges & Solutions #
QR Code Integration #
- Challenge: Difficulty integrating QR code functionality into the frontend.
- Solution: Conducted thorough debugging and consulted with backend developers to ensure seamless integration. Implemented additional error handling and validation to improve stability and user experience.
Endpoint Refactoring #
- Challenge: Some endpoints required refactoring to enhance performance and maintainability.
- Solution: Conducted code reviews and refactored endpoints to streamline data processing and improve API response times. Implemented best practices for API development to ensure consistency and reliability.
Database Model Refinement #
- Challenge: Initial database models required refinement to better support application requirements.
- Solution: Reformatted some columns and rewrote the database repository functions for better functionality
Regex Pattern Accuracy #
- Challenge: The initial regex pattern was not accurately identifying and converting units and quantities from the ingredient strings.
- Solution: Refined the regex pattern to cover a broader range of units and quantity formats, ensuring it correctly parses the entire ingredient string.
Handling Mixed Units #
- Challenge: Ingredients with mixed units (e.g., “2 (16 oz.) pkg. frozen corn”) were not being converted correctly.
- Solution: Updated the regex pattern and conversion logic to handle nested quantities and units, and standardized the units to a consistent metric format.
String Parsing #
- Challenge: Each character of the ingredient string was being processed individually due to incorrect handling in the convert_to_metric function.
- Solution: Adjusted the regex and parsing logic to handle the entire ingredient string as a single entity, correctly isolating the quantity and unit from the product name.
Data Consistency #
- Challenge: Inconsistent formatting and unexpected characters in the ingredient strings could lead to conversion errors.
- Solution: Added preprocessing steps to clean and standardize the ingredient strings before applying the conversion logic.
Debugging and Validation #
- Challenge: Identifying and troubleshooting conversion issues without clear feedback.
- Solution: Added detailed debugging statements to output any ingredients that are not converted correctly, helping to identify patterns and edge cases for further refinement.
Saiga Model LLM Integration #
- Challenge: Generating coherent and structured final recipes using the Saiga model LLM.
- Solution: Utilized the Saiga model LLM for generating the final recipes with complete cooking instructions, ensuring the output is clear, comprehensive, and user-friendly.
Saiga Model LLM Integration #
Introduction to Saiga Model LLM #
The Saiga model LLM is a state-of-the-art language model designed for generating high-quality text based on given inputs. It excels in tasks such as text generation, content structuring, and context-aware narrative creation, making it ideal for generating well-structured and coherent recipes.
Benefits #
- Coherent Recipe Generation: The Saiga model LLM’s advanced text generation capabilities ensure that the final recipes are coherent, comprehensive, and easy to follow.
- Context-Aware Instructions: The model’s ability to understand context helps in generating precise and detailed cooking instructions, enhancing the usability of the recipes.
- Customizable Outputs: The flexibility of the Saiga model LLM allows for customization of recipe outputs based on specific user preferences or dietary requirements.
Implementation #
- Data Structuring: Structured the recipe data (ingredients, directions, NER) into a format suitable for input into the Saiga model LLM.
- Recipe Generation: Leveraged the Saiga model LLM to generate complete recipes, incorporating the ingredients, directions, and additional information into a cohesive and easy-to-understand format.
- Validation and Refinement: Employed the model to validate the generated recipes and ensure they meet the desired quality and clarity standards.
Conclusions & Next Steps #
Conclusions #
- Successfully developed a robust system for converting recipe ingredient quantities to metric units, ensuring accuracy and consistency across diverse ingredient formats.
- Leveraged the Saiga model LLM to generate clear, comprehensive, and user-friendly final recipes with precise cooking instructions.
- Identified potential edge cases and provided debugging tools to handle unexpected input formats, enhancing the robustness of the conversion and recipe generation processes.
- Improved pur backend part for better functionality
- Refined some issues happened on the frontend part
- Fixed different bugs on the backend part
Next Steps #
Expand Unit Coverage:
- Further refine and expand the regex patterns to cover additional units and quantity formats that might be encountered in a broader dataset.
- Enhance the algorithm to handle complex ingredient descriptions and variations in formatting.
Enhance Preprocessing:
- Implement more sophisticated text preprocessing techniques to handle variations in ingredient string formats, including additional punctuation, abbreviations, and nested quantities.
- Ensure the preprocessing pipeline is efficient and scalable to support large-scale recipe databases.
User Interface/API Development:
- Develop a user-friendly interface or API that allows users to input recipes and receive converted ingredient lists and cooking instructions in a structured JSON format.
- Incorporate feedback mechanisms to refine user interactions and improve overall usability.
Advanced Recipe Customization:
- Explore integrating user preferences and dietary requirements into the Saiga model LLM’s recipe generation process.
- Enable personalized recipe outputs tailored to specific dietary needs and preferences, enhancing user satisfaction and engagement.
Second Backend for ML Integration:
- Develop a secondary backend to facilitate seamless integration with machine learning models for advanced recipe analysis and recommendation systems.
- Ensure compatibility and scalability of the backend infrastructure to support future enhancements and features.
Containerization and Deployment:
- Containerize the application components using Docker for streamlined deployment and scalability.
- Implement CI/CD pipelines to automate testing, integration, and deployment processes, ensuring rapid iteration and delivery of updates.