Bird
Raised Fist0
Prompt Engineering / GenAIml~10 mins

Hybrid search strategies in Prompt Engineering / GenAI - Interactive Code Practice

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to combine vector similarity and keyword matching in a hybrid search.

Prompt Engineering / GenAI
hybrid_score = vector_score * [1] + keyword_score
Drag options to blanks, or click blank then click option'
A1.0
B0.5
C2.0
Dvector_score
Attempts:
3 left
💡 Hint
Common Mistakes
Using 1.0 or 2.0 makes vector similarity dominate too much.
Using 'vector_score' again causes a wrong calculation.
2fill in blank
medium

Complete the code to filter search results by a minimum hybrid score threshold.

Prompt Engineering / GenAI
filtered_results = [r for r in results if r['hybrid_score'] [1] 0.7]
Drag options to blanks, or click blank then click option'
A==
B<
C!=
D>=
Attempts:
3 left
💡 Hint
Common Mistakes
Using '<' filters out good results.
Using '==' is too strict and excludes most results.
3fill in blank
hard

Fix the error in the code that calculates the final hybrid score by normalizing vector and keyword scores.

Prompt Engineering / GenAI
final_score = (vector_score / max_vector) * [1] + (keyword_score / max_keyword)
Drag options to blanks, or click blank then click option'
Avector_score
Bmax_keyword
Cweight_vector
Dweight_keyword
Attempts:
3 left
💡 Hint
Common Mistakes
Multiplying by max_keyword mixes up normalization.
Using vector_score again ignores normalization.
4fill in blank
hard

Fill both blanks to create a dictionary comprehension that maps document IDs to their hybrid scores only if the score is above 0.6.

Prompt Engineering / GenAI
hybrid_dict = {doc['id']: doc['score'] for doc in docs if doc['score'] [1] 0.6 and doc['id'] [2] None}
Drag options to blanks, or click blank then click option'
A>
B!=
C==
D<
Attempts:
3 left
💡 Hint
Common Mistakes
Using '<' includes low scores.
Using '==' None excludes valid IDs.
5fill in blank
hard

Fill all three blanks to create a list comprehension that extracts titles of documents with hybrid scores above 0.75 and keyword matches greater than 2.

Prompt Engineering / GenAI
selected_titles = [doc[1] for doc in documents if doc['hybrid_score'] [2] 0.75 and doc['keyword_matches'] [3] 2]
Drag options to blanks, or click blank then click option'
A['title']
B>
D['id']
Attempts:
3 left
💡 Hint
Common Mistakes
Selecting 'id' instead of 'title'.
Using '<' includes unwanted docs.

Practice

(1/5)
1.

What is the main benefit of using a hybrid search strategy in AI?

easy
A. It relies solely on embedding similarity for accuracy.
B. It uses only keyword matching for faster results.
C. It combines different search methods to improve results.
D. It avoids using any search algorithms.

Solution

  1. Step 1: Understand hybrid search purpose

    Hybrid search mixes different search methods to get better results than using one method alone.
  2. Step 2: Compare options

    It combines different search methods to improve results. correctly states the benefit. The other options either describe single-method approaches or are incorrect.
  3. Final Answer:

    It combines different search methods to improve results. -> Option C
  4. Quick Check:

    Hybrid search = mix methods [OK]
Hint: Hybrid means mixing methods for better results [OK]
Common Mistakes:
  • Thinking hybrid means using only one search method
  • Confusing hybrid search with keyword-only search
  • Ignoring the benefit of combining methods
2.

Which of the following is the correct way to combine keyword and embedding search scores in a hybrid search?

final_score = ?
easy
A. final_score = 0.5 * keyword_score + 0.5 * embedding_score
B. final_score = keyword_score * embedding_score
C. final_score = max(keyword_score, embedding_score)
D. final_score = keyword_score - embedding_score

Solution

  1. Step 1: Understand score combination

    Hybrid search often combines scores by weighted sum to balance keyword and embedding contributions.
  2. Step 2: Evaluate options

    final_score = 0.5 * keyword_score + 0.5 * embedding_score uses weighted sum, which is common. Multiplying scores can distort results. Taking the max ignores combined info. Subtracting can give negative scores.
  3. Final Answer:

    final_score = 0.5 * keyword_score + 0.5 * embedding_score -> Option A
  4. Quick Check:

    Weighted sum combines scores [OK]
Hint: Use weighted sum to combine scores in hybrid search [OK]
Common Mistakes:
  • Multiplying scores causing skewed results
  • Using max ignores combined info
  • Subtracting scores can produce negatives
3.

Given the following Python code snippet for hybrid search scoring, what is the output?

keyword_scores = [0.8, 0.6, 0.9]
embedding_scores = [0.7, 0.9, 0.5]
final_scores = [0.5 * k + 0.5 * e for k, e in zip(keyword_scores, embedding_scores)]
print(final_scores)
medium
A. [0.8, 0.9, 0.5]
B. [0.75, 0.75, 0.7]
C. [0.56, 0.54, 0.7]
D. [1.5, 1.5, 1.4]

Solution

  1. Step 1: Calculate each final score

    For each pair: (0.8+0.7)/2=0.75, (0.6+0.9)/2=0.75, (0.9+0.5)/2=0.7
  2. Step 2: Verify output list

    The list is [0.75, 0.75, 0.7], matching [0.75, 0.75, 0.7].
  3. Final Answer:

    [0.75, 0.75, 0.7] -> Option B
  4. Quick Check:

    Average scores = [0.75, 0.75, 0.7] [OK]
Hint: Average keyword and embedding scores for final score [OK]
Common Mistakes:
  • Adding scores without dividing by 2
  • Mixing order of scores
  • Printing original scores instead of combined
4.

Identify the error in this hybrid search score calculation code and select the fix:

keyword_scores = [0.9, 0.7]
embedding_scores = [0.6]
final_scores = [0.5 * k + 0.5 * e for k, e in zip(keyword_scores, embedding_scores)]
print(final_scores)
medium
A. No error; code runs fine.
B. Use '+' instead of '*' in score calculation.
C. Replace zip with map to fix length mismatch.
D. Lists have different lengths; use min length or pad shorter list.

Solution

  1. Step 1: Check list lengths

    keyword_scores has 2 elements, embedding_scores has 1 element, causing zip to truncate to 1 element.
  2. Step 2: Fix length mismatch

    Lists have different lengths; use min length or pad shorter list. suggests using min length or padding shorter list to avoid losing data.
  3. Final Answer:

    Lists have different lengths; use min length or pad shorter list. -> Option D
  4. Quick Check:

    Length mismatch needs handling [OK]
Hint: Check list lengths before zipping in hybrid search [OK]
Common Mistakes:
  • Ignoring length mismatch causing data loss
  • Changing operators incorrectly
  • Assuming zip auto-fills missing values
5.

You want to build a hybrid search system that first filters documents by keywords, then reranks them by embedding similarity. Which approach best fits this goal?

hard
A. Filter documents by keywords, then rerank filtered set by embedding similarity.
B. Run embedding search first, then filter results by keywords.
C. Combine keyword and embedding scores equally on all documents without filtering.
D. Use only keyword search for filtering and ignore embeddings.

Solution

  1. Step 1: Understand filtering and reranking

    Filtering by keywords narrows down documents quickly; reranking by embeddings improves relevance.
  2. Step 2: Match approach to goal

    Filter documents by keywords, then rerank filtered set by embedding similarity. matches the goal: filter first, then rerank. Run embedding search first, then filter results by keywords. reverses order, less efficient. Combine keyword and embedding scores equally on all documents without filtering. skips filtering, less efficient. Use only keyword search for filtering and ignore embeddings. ignores embeddings, losing semantic power.
  3. Final Answer:

    Filter documents by keywords, then rerank filtered set by embedding similarity. -> Option A
  4. Quick Check:

    Filter then rerank = best hybrid approach [OK]
Hint: Filter first, rerank second for efficient hybrid search [OK]
Common Mistakes:
  • Reranking before filtering wastes resources
  • Ignoring filtering step reduces speed
  • Using only one method loses hybrid benefits