

0 / 2 embers
0 / 3000 xp
click for more info
Complete a lesson to start your streak
click for more info
Still calibrating
click for more info
Not enough gems
Cost: 6 gems
1: Semantic Search
incomplete
2: Embeddings
incomplete
3: Embedding Models
incomplete
4: Model Selection
incomplete
5: Vector Operations
incomplete
6: Dimensions
incomplete
7: Dot Product Similarity
incomplete
8: Cosine Similarity
incomplete
9: Why Cosine Similarity?
incomplete
10: Generating Text Embeddings
incomplete
11: Document Embeddings
incomplete
12: Query Embeddings
incomplete
13: Same Model
incomplete
14: Implementing Semantic Search
incomplete
15: Locality-Sensitive Hashing
incomplete
16: Vector Databases
incomplete
Back
ctrl+,
Next
ctrl+.
This lesson's interactive features are locked, please to keep using them
Click to play video
Keyword and metadata search are useful, but they have some serious limits. Have you ever searched "baggins" on Netflix and gotten "The Hobbit"? Keyword search can't do that unless the word "baggins" appears in the title, description, cast, or other searchable metadata.
Semantic search can find results where words have similar meaning, not just similar spelling. It can find relevant documents even when they don't contain your exact search terms.
Bear Movie Search Example:
Query: "exciting adventure"
Let's build semantic search. We'll use a new CLI script for semantic search operations.
In the cli directory, create a new file called semantic_search_cli.py and paste in the following code:
import argparse
def main() -> None:
parser = argparse.ArgumentParser(description="Semantic Search CLI")
args = parser.parse_args()
match args.command:
case _:
parser.print_help()
if __name__ == "__main__":
main()
Run and submit the CLI tests.