НачатьНачать бесплатно

Фильтрация с использованием метаданных

Наличие метаданных в базе данных открывает возможность гибкой фильтрации результатов по дополнительным условиям. Представьте, что система рекомендаций фильмов может учитывать пользовательские настройки и применять их для уточнения выдачи.

В этом упражнении вы будете использовать метаданные для фильтрации рекомендаций фильмов Netflix. Коллекция netflix_titles была обновлена: к каждому названию добавлены метаданные, в том числе 'rating' — возрастной рейтинг — и 'release_year' — год первого выхода.

Пример обновлённого элемента:

{'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}

Это упражнение является частью курса

Введение в эмбеддинги с OpenAI API

Посмотреть курс

Инструкции к упражнению

  • Выполните запрос к коллекции, используя reference_texts, и получите два результата.
  • Отфильтруйте результаты так, чтобы остались только названия с рейтингом 'G', вышедшие до 2019 года.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

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'])
Редактировать и запускать код