⚡ Optimize HuggingFaceEmbeddings initialization with caching#4
⚡ Optimize HuggingFaceEmbeddings initialization with caching#4Kshitij-KS wants to merge 1 commit into
Conversation
- Add import functools to createDatabase.py and query.py - Apply @functools.lru_cache() to get_embedding_function() in both files - This ensures the expensive embeddings model is only instantiated once. Co-authored-by: Kshitij-KS <76816193+Kshitij-KS@users.noreply.github.com>
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
💡 What: Added
@functools.lru_cache()toget_embedding_functionin bothcreateDatabase.pyandquery.py.🎯 Why: The initialization of
HuggingFaceEmbeddings(loading the sentence-transformer model) is a computationally expensive and time-consuming operation. By caching the output ofget_embedding_function, we ensure that the model is only loaded once per process execution.📊 Measured Improvement: Since the actual dependencies were not available in the sandbox environment, I established a baseline using a synthetic benchmark that mocked the
HuggingFaceEmbeddingsinitialization with a 1-second delay.PR created automatically by Jules for task 4129824360451056911 started by @Kshitij-KS