Bắt đầu ngayBắt đầu miễn phí

Lọc bằng metadata

Có metadata trong cơ sở dữ liệu giúp bạn dễ dàng lọc kết quả theo các điều kiện bổ sung. Hãy tưởng tượng hệ thống gợi ý phim bạn đang xây dựng có thể truy cập vào bộ tùy chọn của người dùng và dùng chúng để lọc kết quả sâu hơn.

Trong bài này, bạn sẽ dùng metadata bổ sung để lọc gợi ý phim Netflix. Bộ sưu tập netflix_titles đã được cập nhật để thêm metadata cho từng tiêu đề, gồm 'rating' — xếp hạng độ tuổi của tiêu đề, và 'release_year' — năm phát hành ban đầu.

Dưới đây là bản xem trước của một mục đã cập nhật:

{'ids': ['s999'],
 'embeddings': None,
 'metadatas': [{'rating': 'TV-14', 'release_year': 2021}],
 'documents': ['Title: Searching For Sheela (Movie)\nDescription: Journalists and fans await Ma Anand Sheela as the infamous former Rajneesh commune’s spokesperson returns to India after decades for an interview tour.\nCategories: Documentaries, International Movies'],
 'uris': None,
 'data': None}

Bài tập này là một phần của khóa học

Nhập môn Embeddings với OpenAI API

Xem khóa học

Hướng dẫn bài tập

  • Truy vấn hai kết quả từ bộ sưu tập bằng reference_texts.
  • Lọc các kết quả cho những tiêu đề có xếp hạng 'G' và cũng được phát hành trước 2019.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

collection = client.get_collection(
  name="netflix_titles",
  embedding_function=OpenAIEmbeddingFunction(model_name="text-embedding-3-small", api_key="")
)

reference_texts = ["children's story about a car", "lions"]

# Query two results using reference_texts
result = collection.query(
  ____,
  ____,
  # Filter for titles with a G rating released before 2019
  ____={
    ____: [
        {"____": 
        	{____}
        },
        {"____": 
         	{____}
        }
    ]
  }
)

print(result['documents'])
Chỉnh sửa và Chạy Mã