Багатокористувацькість і простори назв

Створення AI‑застосунків із Pinecone

James Chapman

Curriculum Manager, DataCamp

Багатокористувацькість

 

  • Обслуговуйте кількох орендарів в ізоляції
  • Розділяйте дані різних клієнтів
    • Безпека і конфіденційність
  • Зменшуйте затримку запитів

multitenancy.png

Створення AI‑застосунків із Pinecone

Стратегії багатокористувацькості

 

  1. Простори назв
    • Переваги: менше потреби у додаткових індексах
    • Недоліки: орендарі ділять ресурси, складні дані
  2. Фільтрація за метаданими
    • Переваги: дає змогу робити запити по кількох орендарях
    • Недоліки: спільні ресурси, складно відстежувати витрати
  3. Окремі індекси
    • Переваги: фізично розділяє орендарів, виділяє окремі ресурси
    • Недоліки: більше зусиль і витрат
Створення AI‑застосунків із Pinecone

Простори назв

  • Створюються неявно під час upsertion, якщо не існують
index.upsert(
  vectors=vector_set1, namespace="namespace1"
)
index.upsert(
  vectors=vector_set2, namespace="namespace2"
)
Створення AI‑застосунків із Pinecone

Перегляд просторів назв

index.describe_index_stats()
{'dimension': 1536,
 'index_fullness': 0.0,
 'namespaces': {'namespace1': {'vector_count': 5},
                'namespace2': {'vector_count': 5}},
 'total_vector_count': 10}
Створення AI‑застосунків із Pinecone

Запити векторів із просторів назв

query_result = index.query(
    vector=vector,

namespace='namespace1',
top_k=3 )
Створення AI‑застосунків із Pinecone

Видалення векторів із просторів назв

index.delete(
    ids=["1", "2"],
    namespace='namespace1'
)
Створення AI‑застосунків із Pinecone

Давайте потренуємось!

Створення AI‑застосунків із Pinecone

Preparing Video For Download...