- Deleted user dashboard routes from `app/routers/users.py`.
- Removed user-related schemas from `app/schemas/schemas.py`, `app/schemas/language.py`, and `app/schemas/__init__.py`.
- Eliminated cloudinary upload helpers from `app/services/cloudinary_service.py`.
- Cleaned up AI service logic in `app/services/ai_service.py`, focusing on lyrics and music generation.
- Removed unused utility functions from `app/utils/tokens.py` and `app/utils/__init__.py`.
- Updated imports and dependencies accordingly.
feat: Enhance audio generation in AI service to support OpenRouter streaming and update tests
- Updated AIService to prioritize remote generation via Groq and Gemini APIs.
- Implemented error handling for API responses and fallback to local models.
- Enhanced lyrics generation with structured prompts and improved response parsing.
- Added support for multimodal inputs in music generation, including images.
- Updated tests to cover new functionality and ensure proper API interaction.
- Removed unnecessary audio codec specification in Cloudinary uploads.
- Updated requirements to include google-genai package.
feat: Update GROQ base URL and add OpenAI SDK support for API calls
- Implemented user profile retrieval and update endpoints in `users.py`.
- Added lightweight dashboard summary endpoint for user statistics.
- Created voice cloning endpoint with Cloudinary integration, currently a stub.
- Introduced new Pydantic schemas for user and voice cloning requests/responses.
- Developed language presets for lyrics generation in `language.py`.
- Established AI service for local lyrics and music generation, avoiding third-party dependencies.
- Integrated Cloudinary service for audio and cover uploads.
- Added utility functions for generating share tokens.
- Included unit tests for local AI configuration settings.
Remove deprecated modules and scripts related to Task A and shared models
- Deleted `shared_models.py`, `task_a_rag.py`, `user_modeling.py`, and `user_modeling_prompt.py` as they are no longer in use.
- Removed associated scripts for building business catalog and Task A review RAG.
- Cleaned up Docker configuration and environment files.
- Eliminated unnecessary data files and ignored patterns.
- Updated AGENT_WORKFLOW.md to reflect changes in API, architecture, and environment variables.
- Revised README.md to clarify the use of Gemini API for Task A and Task B, and removed references to local LLM inference.
- Refactored recommendation_pipeline.py to streamline ranking logic and remove local LLM dependencies.
- Simplified user_modeling.py by enforcing Gemini usage for generation and removing local LLM code.
- Cleaned up shared_models.py by removing unused local LLM functions and optimizing embedder initialization.
Increase top_n_final parameter in RecommendationRequest for improved recommendation results
- Updated AGENT_WORKFLOW.md to reflect changes in task workflows, including the integration of Gemini API for text generation in Task A and Task B.
- Modified environment variables in env.example to include `GENERATION_BACKEND`, `GEMINI_API_KEY`, and `SKIP_LOCAL_LLM_HUB_DOWNLOAD` for improved configuration flexibility.
- Introduced `gemini_client.py` for handling Gemini API interactions, enabling seamless switching between Gemini and local models.
- Enhanced recommendation and user modeling services to utilize Gemini for generation, improving response quality and efficiency.
- Updated Dockerfile and docker_build_assets.py to support new environment configurations and optimize model loading during builds.
Update AGENT_WORKFLOW.md, env.example, and recommendation services for improved ranking and configuration
- Adjusted `TASK_B_LLM_CANDIDATE_CAP` to a default of `6` and introduced `TASK_B_RANK_MODE` for flexible ranking strategies (LLM or retrieval).
- Updated input parameters in the recommendation request to reflect changes in `top_n_final`, now set to `3`.
- Enhanced the recommendation pipeline to support retrieval-based ranking, improving response times and efficiency.
- Refined user modeling prompt instructions to ensure clarity and adherence to Nigerian English standards.
Enhance user modeling and recommendation services with async support and logging
- Updated user_modeling and recommendation functions to be asynchronous, improving performance and responsiveness.
- Added detailed logging to track the execution time of user modeling and recommendation tasks.
- Adjusted default parameters for top_k_retrieval and top_n_final in recommendation requests to optimize results.
- Introduced a new environment variable TASK_B_LLM_CANDIDATE_CAP to control candidate limits in recommendations.
- Modified Dockerfile to increase the timeout for uvicorn to improve handling of long-running requests.
Refactor environment variable handling and user modeling prompt
- Updated environment variable names in env.example and shared_models.py for consistency and clarity.
- Introduced new functions in shared_models.py to streamline model retrieval for embedding and causal language models.
- Enhanced user modeling prompt to clarify instructions and ensure first-person perspective in reviews.
- Improved model loading logic in docker_build_assets.py to utilize shared functions and reduce redundancy.
- Updated the default value of STARTUP_PREWARM to 'all' in the application to load all necessary models at startup.
- Introduced a new shared_models.py file to centralize model loading functions for both embedding and causal language models.
- Refactored user modeling and recommendation services to utilize shared model loading functions, improving code maintainability.
- Enhanced README.md to clarify the startup prewarm behavior and its impact on model loading during application startup.
- Added a new environment variable DOCKER_BUILD_SKIP_LLM_WARM to control model warming during Docker builds.
Enhance Dockerfile and application startup process with prewarm functionality
- Added environment variables for model warmup control in Dockerfile and README.md.
- Implemented startup prewarm logic in FastAPI application to load models before serving traffic, with options to skip prewarm.
- Introduced warm methods in user modeling and recommendation services to ensure models are ready for inference.
- Updated docker_build_assets.py to include model warming during the build process, with a flag to skip if necessary.
- Enhanced example environment file to include new configuration options for startup behavior.
Add agent workflow documentation and refactor user modeling and recommendation services
- Introduced AGENT_WORKFLOW.md to outline the agent's workflow for Task A and Task B, detailing shared ideas, user modeling, and recommendation processes.
- Refactored user modeling and recommendation services to remove Azure dependencies, implementing local models and embedding strategies.
- Updated Dockerfile and environment configurations to support local model usage and clarified requirements in README.md.
- Enhanced user modeling prompt to incorporate Nigerian English and added RAG (retrieval-augmented generation) functionality for improved response quality.
- Implemented scripts for building task A review RAG and embedding business catalogs, ensuring reproducibility and ease of use.
- Adjusted error handling and logging for better debugging and user experience.
Update README.md with detailed configuration, deliverables checklist, API endpoints, request bodies, local run instructions, Docker setup, and project layout for the DSN × BCT LLM Agent Challenge.