Wielodostępność i przestrzenie nazw

Tworzenie aplikacji AI z Pinecone

James Chapman

Curriculum Manager, DataCamp

Wielodostępność

 

  • Obsługa wielu najemców w izolacji
  • Rozdzielenie danych różnych klientów
    • Bezpieczeństwo i prywatność
  • Zmniejszenie opóźnień zapytań

multitenancy.png

Tworzenie aplikacji AI z Pinecone

Strategie wielodostępności

 

  1. Przestrzenie nazw
    • Zalety: Ogranicza potrzebę dodatkowych indeksów
    • Wady: Najemcy współdzielą zasoby, złożone dane
  2. Filtrowanie metadanych
    • Zalety: Umożliwia zapytania do wielu najemców
    • Wady: Współdzielone zasoby, trudne śledzenie kosztów
  3. Oddzielne indeksy
    • Zalety: Fizycznie separuje najemców, przydziela indywidualne zasoby
    • Wady: Wymaga więcej wysiłku i kosztów
Tworzenie aplikacji AI z Pinecone

Przestrzenie nazw

  • Tworzone niejawnie podczas upsercji, jeśli nie istnieją
index.upsert(
  vectors=vector_set1, namespace="namespace1"
)
index.upsert(
  vectors=vector_set2, namespace="namespace2"
)
Tworzenie aplikacji AI z Pinecone

Inspekcja przestrzeni nazw

index.describe_index_stats()
{'dimension': 1536,
 'index_fullness': 0.0,
 'namespaces': {'namespace1': {'vector_count': 5},
                'namespace2': {'vector_count': 5}},
 'total_vector_count': 10}
Tworzenie aplikacji AI z Pinecone

Zapytania do wektorów w przestrzeniach nazw

query_result = index.query(
    vector=vector,

namespace='namespace1',
top_k=3 )
Tworzenie aplikacji AI z Pinecone

Usuwanie wektorów z przestrzeni nazw

index.delete(
    ids=["1", "2"],
    namespace='namespace1'
)
Tworzenie aplikacji AI z Pinecone

Czas na ćwiczenia!

Tworzenie aplikacji AI z Pinecone

Preparing Video For Download...