Пакетная загрузка векторов в параллельном режиме
В этом упражнении вы будете загружать векторы в индекс Pinecone 'datacamp-index' в параллельном режиме. Вам нужно подключиться к индексу, асинхронно добавить векторы пакетами и проверить обновлённые метрики индекса 'datacamp-index'.
Вспомогательная функция chunks(), созданная ранее, по-прежнему доступна:
def chunks(iterable, batch_size=100):
"""A helper function to break an iterable into chunks of size batch_size."""
it = iter(iterable)
chunk = tuple(itertools.islice(it, batch_size))
while chunk:
yield chunk
chunk = tuple(itertools.islice(it, batch_size))
Это упражнение является частью курса
Создание ИИ-приложений с Pinecone
Инструкции к упражнению
- Инициализируйте клиент Pinecone, разрешив 20 одновременных запросов.
- Добавьте векторы из
vectorsпакетами по 200 векторов на запрос асинхронно, настроив20одновременных запросов. - Выведите обновлённые метрики индекса Pinecone
'datacamp-index'.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Initialize the client
pc = Pinecone(api_key="____", ____)
index = pc.Index('datacamp-index')
# Upsert vectors in batches of 200 vectors
with pc.Index('datacamp-index', ____) as index:
async_results = [____(vectors=chunk, ____) for chunk in chunks(vectors, batch_size=____)]
[async_result.get() for async_result in async_results]
# Retrieve statistics of the connected Pinecone index
print(____)