Redis®*: Tworzenie indeksu wektorowego

Ta dokumentacja jest częścią przewodnika Wyszukiwanie wektorowe i RAG. Pełny przewodnik znajdziesz tutaj: Wyszukiwanie semantyczne, rekomendacje i retrieval-augmented generation z Redis.

👋 Witamy w dokumentacji Stackhero!

Stackhero oferuje gotowe do użycia rozwiązanie Redis cloud, które zapewnia szereg korzyści, w tym:

  • Wbudowany web UI Redis Commander.
  • Nieograniczona wielkość i transfer wiadomości.
  • Bezproblemowe aktualizacje za pomocą jednego kliknięcia.
  • Optymalna wydajność i wysoki poziom bezpieczeństwa dzięki prywatnej, dedykowanej infrastrukturze.

Oszczędzaj czas i uprość sobie życie: wystarczy 5 minut, aby przetestować rozwiązanie hostingu Redis cloud od Stackhero!

Aby zadeklarować pole wektorowe, określ jego wymiar oraz metrykę odległości. Wymiar powinien odpowiadać Twojemu modelowi embeddingów: na przykład 1536 dla OpenAI text-embedding-3-small, 768 dla wielu modeli open-source itd.

FT.CREATE chunksIndex
  ON HASH
  PREFIX 1 chunk:
  SCHEMA
    content TEXT
    documentId TAG
    publishedAt NUMERIC
    embedding VECTOR HNSW 6
      TYPE FLOAT32
      DIM 1536
      DISTANCE_METRIC COSINE

HNSW tworzy indeks grafowy, który utrzymuje szybkie zapytania nawet przy rosnącej kolekcji, co czyni go dobrym wyborem powyżej kilku tysięcy wektorów. Dla małych kolekcji, gdzie liczy się dokładność, możesz użyć FLAT do wyszukiwania brute-force.

COSINE to zalecana metryka dla większości modeli embeddingów tekstowych. Możesz również wybrać L2 lub IP, jeśli wymaga tego Twój przypadek użycia.