Qdrant

Qdrant to wyszukiwarka podobieństwa wektorów, zaprojektowana w celu przyspieszenia przepływów pracy AI i uczenia maszynowego. Jest szczególnie potężna w połączeniu z dedykowaną infrastrukturą serwerową GPU, taką jak oferowana przez Trooper.AI, umożliwiając szybkie prototypowanie i wdrażanie złożonych rozwiązań AI.

Dashboard of Qdrant
Panel sterowania Qdrant

Qdrant doskonale sprawdza się w znajdowaniu najbardziej podobnych wektorów do danego wektora zapytania, co czyni go idealnym rozwiązaniem dla aplikacji takich jak wyszukiwanie semantyczne, systemy rekomendacji oraz wyszukiwanie obrazów i wideo.

Dlaczego Qdrant z serwerami GPU?

Tradycyjne systemy baz danych mają problemy z wysoką wymiarowością i złożonymi obliczeniami podobieństwa obecnymi w osadzaniu wektorowym. Qdrant, zoptymalizowany pod kątem danych wektorowych, w połączeniu z równoległą mocą obliczeniową GPU, zapewnia znaczące zyski wydajności. Serwer GPU Trooper.AI zapewnia niezbędną moc obliczeniową do obsługi dużych zbiorów danych wektorowych i dostarczania wyników wyszukiwania z niskimi opóźnieniami.

Przyspieszenie GPU jest domyślnie włączone w naszej prekonfigurowanej szablonie Qdrant, zapewniającej optymalną wydajność wyszukiwania.

Przykłady użycia

Oto kilka konkretnych zastosowań, w których Qdrant, zasilany serwerami GPU Trooper.AI, sprawdza się doskonale:

  • Wyszukiwanie semantyczne: Zamiast dopasowywania słów kluczowych, Qdrant umożliwia wyszukiwanie dokumentów lub treści na podstawie ich znaczenia. znaczenieOsadzenia (embeddings) uchwytują semantyczną esencję tekstu, a Qdrant znajduje najbardziej semantycznie podobne wyniki. Na przykład, wyszukiwanie frazy „sposoby na poprawę dokładności modelu” zwróci wyniki omawiające regularyzację, strojenie hiperparametrów i rozszerzanie danych, nawet jeśli te dokładne słowa kluczowe nie występują.
  • Systemy rekomendacji: Reprezentuj użytkowników i elementy jako wektory. Qdrant może szybko identyfikować elementy podobne do tych, z którymi użytkownik wcześniej wchodził w interakcje, zapewniając spersonalizowane rekomendacje. Jest to przydatne w e-commerce, strumieniowaniu treści i wielu innych obszarach.
  • Wyszukiwanie obrazów i filmów: Wyodrębniaj osadzenia z obrazów i filmów za pomocą modeli takich jak CLIP. Qdrant umożliwia wyszukiwanie wizualnie podobnych treści. Wyobraź sobie wyszukiwanie frazy „kot bawiący się piłką” i pobieranie odpowiednich obrazów i filmów, nawet jeśli nie posiadają one tych dokładnych tagów.

API

Oto przykład typowego przepływu pracy API z Qdrant, po którym następuje przykład w Pythonie do wyszukiwania podobnych wektorów:

Typowy przepływ pracy z API Qdrant:

  1. Uwierzytelnianie: Większość instalacji Qdrant wymaga klucza API do uwierzytelniania. Ten klucz powinien być zawarty w Authorization nagłówek twoich żądań
  2. Wybór punktu końcowego: Qdrant udostępnia różne punkty końcowe do wykonywania różnych operacji, takich jak wyszukiwanie, dodawanie wektorów (upserting) i zarządzanie kolekcjami.
  3. Formatowanie żądania: Dane są zazwyczaj wysyłane i odbierane w formacie JSON.
  4. Obsługa odpowiedzi: API zwraca odpowiedzi w formacie JSON, zawierające wyniki Twojego zapytania lub komunikaty o błędach w przypadku wystąpienia problemów.

Oto przykład wywołania Python do Qdrant w celu wyszukiwania podobnych wektorów:

python
import requests
import json
import numpy as np

# Qdrant API endpoint and collection name
QDRANT_API_URL = "https://SECURE-TROOPER-APP-URL"  # Replace with your Qdrant endpoint
QDRANT_COLLECTION_NAME = "my_collection"

# Your API Key
API_KEY = "YOUR_QDRANT_API_KEY" # Replace with your Qdrant API key

# Payload for the search request
payload = {
    "vectors": (np.random.rand(128).tolist()),  # Replace with your query vector
    "limit": 10  # Number of results to return
}

headers = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json"
}

try:
    response = requests.post(f"{QDRANT_API_URL}/collections/{QDRANT_COLLECTION_NAME}/search",
                             headers=headers,
                             data=json.dumps(payload))

    response.raise_for_status()  # Raise HTTPError for bad responses (4xx or 5xx)

    results = response.json()
    print(json.dumps(results, indent=2))

except requests.exceptions.RequestException as e:
    print(f"Error: {e}")
    print(f"Response text: {response.text}")
except Exception as e:
    print(f"An unexpected error occurred: {e}")

Ten przykład demonstruje wykonywanie zapytań do Qdrant w celu znalezienia podobnych wektorów. Pamiętaj, aby zastąpić "https://SECURE-TROOPER-APP-URL", "my_collection", "YOUR_QDRANT_API_KEY" oraz przykładowy wektor z Twoim rzeczywistym punktem końcowym Qdrant, nazwą kolekcji, kluczem API i wektorem zapytania. Zapoznaj się z dokumentacją API Qdrant, aby uzyskać więcej punktów końcowych i funkcjonalności: https://qdrant.tech/documentation/ .

Panel Qdrant

Dashboard Startscreen
Ekran startowy panelu

Qdrant zapewnia przyjazny interfejs webowy do zarządzania Twoimi wektorami i kolekcjami. Panel umożliwia:

  • Wizualizuj dane wektorowe: Wyświetl swoje wektory w przestrzeni wielowymiarowej za pomocą wykresów rozrzutu i innych wizualizacji.
  • Zarządzaj kolekcjami: Twórz, modyfikuj i usuwaj kolekcje, aby uporządkować swoje dane wektorowe.
  • Wyszukiwanie i filtrowanie: Wykonuj szybkie wyszukiwania i stosuj filtry, aby znaleźć określone wektory.
  • Monitorowanie wydajności: Monitoruj kluczowe metryki, takie jak opóźnienie zapytań i zużycie zasobów.
  • Sprawdź Wektory: Wyświetl szczegółowe informacje o poszczególnych wektorach, w tym ich osadzenia i ładunki.

Jak uzyskać dostęp do panelu sterowania

Możesz uzyskać dostęp do panelu sterowania Qdrant przez interfejs webowy Twojej instalacji Qdrant.

Dodaj /dashboard do swojego adresu URL API, aby uzyskać do niego dostęp.

Aby uzyskać szczegółowe instrukcje dotyczące dostępu i korzystania z pulpitu nawigacyjnego, zapoznaj się z dokumentacją Qdrant: https://qdrant.tech/documentation/ Korzystanie z panelu sterowania w połączeniu z serwerem GPU Trooper.AI zapewnia płynną i responsywną pracę z dużymi zbiorami danych wektorowych.