Optymalizowanie kosztów dla modelu cen bezserwerowego w Wyszukiwanie AI platformy Azure

Note

Wyszukiwanie AI platformy Azure jest dostępna za pośrednictwem portalu Azure, interfejsów API REST i Azure SDKs. Jest także podstawą Foundry IQ — zarządzanej warstwy wiedzy, która przekształca treści przedsiębiorstwa w bazy wiedzy wielokrotnego użytku z uwzględnieniem uprawnień dla agentów w portalu Microsoft Foundry.

Wyszukiwanie AI platformy Azure obsługuje dwa modele cenowe, z których każdy jest przeznaczony dla różnych wzorców obciążeń:

  • Dedykowane: stałe ceny mierzone przez jednostki wyszukiwania (SU). Wybierasz warstwę usługi, a opłata jest naliczana co godzinę na podstawie liczby przydzielonych jednostek.

  • Serverless (wersja zapoznawcza): cennik oparty na zużyciu, naliczany na podstawie jednostek obliczeniowych na godzinę (CU/hr) oraz za GB/miesiąc w przypadku indeksowanego magazynowania.

Ważna

Warstwa bezserwerowa dewelopera jest obecnie dostępna w wersji zapoznawczej. Ta wersja zapoznawcza jest udostępniana bez umowy dotyczącej poziomu usług i nie jest zalecana w przypadku obciążeń produkcyjnych. Niektóre funkcje mogą nie być obsługiwane lub mogą mieć ograniczone możliwości. Aby uzyskać więcej informacji, zobacz Warunki dodatkowe korzystania z testowych wersji Microsoft Azure.

Rozliczenia dla warstwy Serverless Developer nie są jeszcze dostępne w fazie zapoznawczej. Szacowane koszty użycia są dostępne w portalu Azure i telemetrii, ale to użycie nie będzie wyświetlane na rachunku za Azure w tym okresie początkowym. Microsoft powiadomi z co najmniej 30-dniowym wyprzedzeniem przed rozpoczęciem naliczania opłat. Odroczenie rozliczeń w tej wersji zapoznawczej jest tymczasowe. Plan Serverless Developer jest płatny i będziesz odpowiadać za wszelkie opłaty naliczone po rozpoczęciu rozliczania.

Warstwa bezserwerowa dewelopera nie obsługuje migracji do lub z innych warstw cenowych, a niektóre funkcje dostępne w innych warstwach nie są obsługiwane w publicznej wersji zapoznawczej. Limity usług, obsługiwane funkcje i szczegóły cennika mogą ulec zmianie przed ogólną dostępnością.

Wersja zapoznawcza jest obecnie dostępna tylko w zachodnio-środkowych stanach USA, Szwajcarii Północnej i Japonii Wschodniej.

Aby uzyskać więcej informacji na temat różnic w modelu cenowym i warstwie usług, zobacz Wybieranie modelu cenowego i warstwy usług.

Sposób określania kosztów w modelu bezserwerowym

W modelu bezserwerowym optymalizacja wydajności bezpośrednio wpływa na koszt. Koszt jest bezpośrednio związany z wykonywaniem obciążenia:

  • Zapytania i indeksowanie zużywają obliczenia mierzone w jednostkach obliczeniowych na godzinę (CU/h).
  • Pamięć masowa jest rozliczana oddzielnie w zależności od rozmiaru indeksu na dysku.
  • Jeśli usługa jest bezczynna bez aktywnych zapytań ani indeksowania, użycie zasobów obliczeniowych wynosi zero. Nie ma opłaty za zarezerwowaną lub minimalną pojemność.

Model cen bezserwerowy jest najbardziej opłacalny w przypadku obciążeń ze zmiennymi, sporadycznymi lub nieprzewidywalnymi ruchem, gdzie aprowizowana pojemność byłaby niedostatecznie wykorzystywana.

Ważna

Opłaty za jednostki obliczeniowe na godzinę (CU/h) nie obejmują rankingu semantycznego, wyszukiwania agentowego, wyodrębniania obrazów ani uruchamiania umiejętności. Te możliwości są rozliczane oddzielnie.

Omówienie jednostek obliczeniowych (CU)

Jednostka obliczeniowa (CU) reprezentuje mierzone zasoby systemowe wymagane do wykonywania operacji wyszukiwania i indeksowania w modelu bezserwerowym. Koszt CU zależy głównie od wykorzystania procesora CPU, pamięci i operacji wejścia/wyjścia, a w drugiej kolejności od rozmiaru indeksu i rozmiaru ładunku dokumentu, przy czym użycie jest rozliczane w jednostkach Compute Unit na godzinę (CU/h).

Obliczanie skalowania kosztów za pomocą:

  • Złożoność zapytań
  • Rozmiar indeksu (GB) i struktura
  • Rozmiar ładunku dokumentu (KB)
  • Liczba pól i pobranych wyników

Różne operacje mają różne profile kosztów:

  • Wyszukiwanie: Niski koszt. Pobieranie pojedynczego dokumentu według jego identyfikatora jest najbardziej wydajną operacją.
  • Wyszukiwanie słów kluczowych: niski koszt. Wyszukiwanie tekstu używa odwróconych indeksów, które są zoptymalizowane pod kątem szybkości i niskiego użycia zasobów obliczeniowych.
  • Wyszukiwanie wektorów: wysoki koszt. Zapytania wektorowe są kosztowne obliczeniowo, ponieważ wymagają obliczeń podobieństwa w wielowymiarowych osadzaniach. W porównaniu z wyszukiwaniem słów kluczowych zużywają znacznie więcej zasobów obliczeniowych.
  • Wyszukiwanie hybrydowe: łączy koszty wyszukiwania słów kluczowych i wyszukiwania wektorowego, ponieważ oba mechanizmy są uruchamiane dla każdego zapytania, plus niewielki dodatkowy narzut związany z Reciprocal Rank Fusion (RRF), aby scalić wyniki.

Monitorowanie użycia zasobów obliczeniowych

Monitorowanie zużycia zasobów obliczeniowych ułatwia identyfikowanie kosztownych operacji, optymalizowanie wzorców zapytań i szacowanie kosztów. Koszt jednostki obliczeniowej (CU) każdego żądania jest zwracany w nagłówku x-ms-request-charge odpowiedzi HTTP jako liczba zmiennoprzecinkowa. Użyj tego nagłówka, aby zidentyfikować kosztowne operacje i zoptymalizować wzorce zapytań. Koszt CU każdego żądania można śledzić, sprawdzając nagłówki odpowiedzi HTTP i zdarzenia operacji w usłudze Azure Monitor. Aby uzyskać więcej wskazówek dotyczących dostępnych typów danych monitorowania i metod analizowania tych danych, zobacz Monitorowanie Wyszukiwanie AI platformy Azure.

  • Nagłówek: x-ms-request-charge: <value>
  • Wartość: liczba zmiennoprzecinkowa reprezentująca zużyte jednostki CU.

Example:

Status: 200 OK
Content-Type: application/json
x-ms-request-charge: 12.45

W tym przykładzie żądanie zużywało 12,45 jednostek obliczeniowych. Tej wartości można użyć do identyfikowania operacji o wysokim koszcie i porównywania względnego kosztu różnych wzorców zapytań.

Aby przejrzeć historyczne użycie zasobów obliczeniowych dla usługi wyszukiwania bezserwerowego, użyj metryk Azure Monitor w portalu Azure:

  1. Przejdź do usługi wyszukiwania.
  2. Wybierz pozycję Metryki.
  3. Wybierz + Dodaj metrykę.
  4. Z listy metryk wybierz pozycję Użycie jednostek obliczeniowych.
  5. Użyj wykresu, aby przeanalizować trendy użycia i zidentyfikować okresy zwiększonego użycia zasobów obliczeniowych.

Monitorowanie zagregowanego użycia pomaga zrozumieć ogólne koszty usług i zidentyfikować obciążenia, które zużywają najwięcej zasobów obliczeniowych. Opisy dostępnych metryk monitorowania można znaleźć w temacie Monitoring Data Reference (Dokumentacja danych monitorowania). Za pomocą dzienników usługi Azure Monitor można śledzić łączne użycie CU w czasie i korelować je z wolumenem zapytań i zmianami obciążenia.

Zrzut ekranu przedstawiający pulpit nawigacyjny monitorowania metryk dla bezserwerowych jednostek obliczeniowych w Azure Portal.

Konfigurowanie alertów dotyczących użycia zasobów obliczeniowych

Regułę alertu można utworzyć, aby otrzymywać powiadomienia, gdy użycie zasobów obliczeniowych osiągnie określony próg w portalu Azure.

  1. Przejdź do pozycji Alerty w usłudze wyszukiwania.
  2. Wybierz + Utwórz regułę alertu.
  3. W sekcji Warunek wybierz Użycie jednostek obliczeniowych jako sygnał.
  4. Zdefiniuj logikę alertu. Na przykład wyzwalacz, gdy łączne użycie jest większe niż określona wartość.
  5. Skonfiguruj Akcje, takie jak powiadomienia e-mail, SMS lub webhook.
  6. Wykonaj pozostałe kroki i wybierz pozycję Przejrzyj i utwórz.

Alerty pomagają aktywnie reagować na nieoczekiwane wzrosty użycia i zarządzać kosztami.

Zrzut ekranu przedstawiający tworzenie reguły alertu w Azure Portal.

Szacowanie kosztów bezserwerowych

Kalkulator cen platformy Azure i wskazówki dotyczące planowania pojemności opartego na jednostkach wyszukiwania (SU) nie mają zastosowania do usług korzystających z bezserwerowego modelu cenowego.

Aby oszacować koszty bezserwerowe:

  1. Przykładowe dane reprezentatywne dla indeksu.
  2. Uruchamianie typowych obciążeń indeksowania i wykonywania zapytań.
  3. Zarejestruj wartość zwróconą x-ms-request-charge dla każdej operacji.
  4. Użyj metryk usługi Azure Monitor, aby mierzyć łączne użycie w czasie.
  5. Ekstrapoluj koszty na podstawie oczekiwanego ruchu produkcyjnego.

Ponieważ to samo żądanie wykonywane względem tych samych danych zwykle generuje podobne zużycie zasobów obliczeniowych, reprezentatywne obciążenia mogą zapewnić niezawodną podstawę do szacowania kosztów.

Użycie bezserwerowe jest mierzone w sposób ciągły i agregowany na potrzeby rozliczeń. Użycie zasobów obliczeniowych jest śledzone przez całą minutę i emitowane tylko wtedy, gdy są używane zasoby obliczeniowe.

Podczas szacowania kosztów użyj wartości opłat za żądania, aby zrozumieć koszt poszczególnych operacji, oraz metryk usługi Azure Monitor, aby zrozumieć ogólne wzorce korzystania z usługi.

Rozliczenia są oparte na agregowanym użyciu obliczeniowym, a nie na pojedynczych żądaniach. Użycie jest mierzone w odstępach jednej minuty i zaokrąglane do najbliższej 0,25 CU na minutę. Te jednominutowe interwały użycia gromadzą się w ciągu godziny w celu określenia rozliczanej kwoty CU/godziny. Wewnętrznie wykorzystanie jest agregowane z milijednostek obliczeniowych (mCU) do jednostek obliczeniowych (CU) i przeliczane na wykorzystanie godzinowe raportowane do celów rozliczeniowych.

Różne operacje zużywają różne ilości zasobów obliczeniowych. Ogólnie rzecz biorąc:

  • Wyszukiwanie słów kluczowych zwykle używa najmniejszych zasobów obliczeniowych.
  • Wyszukiwania wektorowe zwykle używają większej liczby zasobów obliczeniowych niż wyszukiwania słów kluczowych.
  • Wyszukiwania hybrydowe łączą wykonywanie wyszukiwania słów kluczowych i wektorów, więc zwykle używają większej ilości zasobów obliczeniowych niż każda z technik.

Rzeczywiste użycie zasobów obliczeniowych zależy od czynników, takich jak złożoność zapytania, rozmiar indeksu, ilość danych, konfiguracja wektora i liczba zwracanych wyników. Monitorowanie opłat za żądanie i agregowanie metryk użycia może pomóc zidentyfikować możliwości optymalizacji i lepiej przewidzieć koszty produkcji.

Obniżanie kosztów obliczeń dzięki optymalizacji

Wydajne zapytania i projektowanie indeksów zmniejszają zużycie zasobów obliczeniowych i obniżają koszty.

Optymalizowanie schematu

Schemat indeksu określa bazowe koszty zasobów obliczeniowych i magazynu:

  • Ogranicz atrybuty pól: Włączaj tylko te atrybuty (przeszukiwalne, filtrowalne, używane do grupowania aspektowego, sortowalne), które są potrzebne. Każdy atrybut zwiększa rozmiar indeksu i koszt indeksowania.
  • Spłaszcz typy złożone: Mapuj zagnieżdżone struktury JSON na proste pola lub, w miarę możliwości, kolekcje.
  • Ustaw wartość retrievable=false dla pól używanych wyłącznie do filtrowania lub sortowania: jeśli pole jest używane do filtrowania lub sortowania, ale nie musi być zwracane w wynikach, pozostaw je jako indeksowane i ustaw retrievable=false, aby zmniejszyć ilość miejsca zajmowanego na dysku oraz koszty magazynowania naliczane za GB/miesiąc.
  • Używaj pól tylko do pobierania, jeśli jest to możliwe: na przykład pola używane tylko do wyświetlania (np. adresy URL obrazów) nie powinny być przeszukiwalne.
  • Zmniejsz wymiary wektorów: wektory o wyższych wymiarach zwiększają koszty magazynowania i zapytań. W razie potrzeby używaj mniejszych modeli osadzania lub kwantyzacji.
  • Zminimalizuj rozmiar ładunku dokumentu przed indeksowaniem: większe dokumenty kosztują więcej do indeksowania. Usuń niepotrzebne pola, przycinaj długi tekst i usuwaj kod HTML przed wysłaniem dokumentów do indeksu.

Optymalizowanie żądań indeksowania

Sposób wysyłania danych do indeksu wpływa zarówno na koszt, jak i przepływność:

  • Używaj większych partii, jeśli to możliwe: indeksowanie wsadowe zmniejsza narzut związany z każdym żądaniem dzięki rozłożeniu kosztów sieciowych i przetwarzania na większą liczbę dokumentów. Ogólnie rzecz biorąc, wsady obejmujące do ok. 1000 dokumentów lub ok. 16 MB są bardziej efektywne pod względem wykorzystania CU niż wiele małych żądań. Jednak optymalny rozmiar partii zależy od obciążenia. Przetestuj, aby zrównoważyć przepływność, opóźnienia i niezawodność.

  • Indeksuj tylko nowe lub zmienione dane: unikaj pełnego ponownego indeksowania, jeśli to możliwe. Wysyłanie tylko nowych dokumentów i aktualizacji zmniejsza liczbę przetwarzanych dokumentów, obniża koszty obliczeń i zwiększa szybkość importowania.

  • Użyj wykrywania zmian na potrzeby indeksowania przyrostowego: wykryj, co zmieniło się przed ponownym przetworzeniem zawartości. Indeksowanie przyrostowe pozwala uniknąć powtarzającej się pracy nad niezmienionymi dokumentami i utrzymuje koszty ponownego przetwarzania w dół.

  • Pomiń wyodrębnianie obrazów, chyba że jest to potrzebne: wyodrębnianie obrazów dodaje dodatkową pracę przetwarzania i może stać się oddzielnym czynnikiem kosztowym. Włącz go tylko dla dokumentów lub przepływów pracy, które rzeczywiście potrzebują zawartości obrazu.

  • Określanie umiejętności związanych z odpowiednimi polami i dokumentami: Określanie zakresu umiejętności wzbogacania do określonych pól lub dokumentów, których potrzebują. Unikaj uruchamiania umiejętności dla treści, które nie wymagają wzbogacenia, zwłaszcza gdy dane wyjściowe nie są wykorzystywane w dalszym przetwarzaniu.

  • Uwzględnij wzrost rozmiaru indeksu: jeśli to możliwe, utwórz mniejsze indeksy. Wraz ze wzrostem indeksowania koszty indeksowania rosną, ponieważ więcej danych musi być przechowywanych i utrzymywanych, a operacje wymagają większej ilości zasobów obliczeniowych. W przypadku bardzo dużych zestawów danych rozważ partycjonowanie danych w wielu indeksach, aby ułatwić zarządzanie wydajnością i kosztami. Chociaż koszty rosną wraz z rozmiarem indeksu, wzrost jest podlinijny. Większe indeksy kosztują więcej operacji, ale nie proporcjonalnie więcej.

Aby uzyskać więcej wskazówek, zobacz Tips, aby uzyskać lepszą wydajność w Wyszukiwanie AI platformy Azure.

Optymalizowanie zapytań

Projektowanie zapytań jest podstawowym czynnikiem zmiennego kosztu:

  • Użyj $select polecenia , aby ograniczyć zwracane pola: zmniejsza to rozmiar ładunku i zasoby obliczeniowe wymagane do serializacji.

    GET /docs?search=test&$select=id,title,url
    
  • Użyj searchFields, aby ograniczyć zakres wyszukiwania tekstu: Ogranicz dopasowywanie podczas wykonywania zapytania do pól istotnych w danym scenariuszu. Każde dodatkowe pole z możliwością przeszukiwania zwiększa nakład pracy związany z wykonywaniem zapytań i może zwiększyć CU/h.

  • Używaj dokładnego dopasowania lub prostych zapytań na słowa kluczowe: zapytania rozmyte, z symbolami wieloznacznymi, regex i prefiksowe mogą wymuszać skanowanie dużych części indeksu i zużywać znacznie więcej CU/h. Używaj ich tylko wtedy, gdy potrzebujesz częściowego zachowania dopasowania i wybierz dokładne dopasowanie lub prostsze zapytania kluczowe wszędzie tam, gdzie to możliwe.

  • Użyj wyszukiwań zamiast wyszukiwań, jeśli to możliwe: pobieranie dokumentu według identyfikatora jest bardziej wydajne niż uruchamianie zapytania wyszukiwania. Jeśli znasz identyfikator dokumentu, użyj wyszukiwania zamiast zapytania wyszukiwania. Wyszukiwania są bardziej wydajne, ponieważ pobierają dokument bezpośrednio według klucza, podczas gdy zapytania wyszukiwania wywołują pełny potok zapytania (analizowanie, przechodzenie indeksu, ocenianie i klasyfikowanie), co zwiększa koszt obliczeń.

  • Unikaj głębokiego stronicowania ($skip): Duże $skip wartości zwiększają obliczenia, ponieważ aparat musi przetworzyć i sklasyfikować wszystkie poprzednie wyniki (na przykład $skip=5000 wymaga oceniania co najmniej 5000 dokumentów, które nie są zwracane). Powoduje to marnowanie zasobów obliczeniowych (CU) i zwiększenie kosztów. Zamiast tego użyj filtrów, aby zawęzić wyniki i ograniczyć liczbę zwracanych wyników za pomocą $top. Dostosuj rozmiar $top, aby pasował do wyświetlania interfejsu użytkownika. Na przykład $top=10 kosztuje mniej niż $top=50, ponieważ ocenianych i zwracanych jest mniej wyników. Żądaj tylko tyle wyników, ile wymaga aplikacja, i unikaj wzorców, które wymagają, aby aparat przetwarzał dużą liczbę nieużywanych wyników.

  • Zminimalizuj liczbę aspektów i zakres aspektów: żądaj tylko aspektów wyświetlanych w interfejsie użytkownika i zachowaj każdą wartość aspektu count tak małą, jak praktyczną. Aspekty wymagają agregacji poszczególnych zapytań, a wysokie liczby zwiększają koszt obliczeń.

  • Służy search.in do filtrowania: podczas filtrowania według listy identyfikatorów lub wartości użyj search.in funkcji zamiast wielu or warunków (na przykład id eq '1' or id eq '2'). Takie podejście jest bardziej wydajne i zmniejsza obciążenie obliczeniowe. Należy również unikać oznaczania pól o wysokiej kardynalności (czyli takich, które mają dużą liczbę unikatowych wartości, na przykład unikatowe identyfikatory lub opisy w postaci wolnego tekstu) jako filtrowalnych lub fasetowych, chyba że jest to wymagane, ponieważ zwiększa to rozmiar indeksu i koszt wykonywania zapytań.

Optymalizowanie żądań administracyjnych

Oprócz operacji wykonywania zapytań i indeksowania Wyszukiwanie AI platformy Azure obejmuje operacje administracyjne na poziomie obiektu i na poziomie usługi (takie jak pobieranie schematów indeksów lub statystyk usługi). Te żądania mają płaski koszt za żądanie. Chociaż każde żądanie ma niski koszt, powtarzające się lub niepotrzebne wywołania mogą z czasem się kumulować i zwiększać całkowite zużycie zasobów obliczeniowych.

  • Unikaj nadmiernych żądań administracyjnych: przechowuj metadane, takie jak schematy indeksów, w pamięci podręcznej po stronie klienta, zamiast wielokrotnie je pobierać. Na przykład pobieranie schematu indeksu przed każdą operacją zapisu wprowadza niepotrzebne koszty. W modelu bezserwerowym ten wzorzec bezpośrednio zwiększa opłaty za obliczenia, natomiast w przypadku usług dedykowanych wpływ jest często ukryty przez stałe rozliczenia godzinowe.

Optymalizowanie kosztów wektorów

Obciążenia wektorowe są zazwyczaj składnikiem o najwyższym koszcie w wyszukiwaniu modelu cen bezserwerowego, ponieważ mają wpływ zarówno na jednostki obliczeniowe (zapytania i indeksowanie), jak i magazyn (rozmiar wektora na dysku). Aby zmniejszyć koszty, zoptymalizuj zarówno sposób przechowywania wektorów, jak i sposób wykonywania zapytań.

Optymalizowanie magazynu i schematu wektorów

Pola wektorowe mogą znacznie zwiększyć rozmiar indeksu i koszt indeksowania. Użyj następujących technik, aby zmniejszyć obciążenie magazynu:

  • Użyj kompresji, aby zmniejszyć rozmiar wektora: Zastosuj kwantyzację, aby zmniejszyć zużycie pamięci masowej przy minimalnym wpływie na istotność. Na przykład kwantyzacja skalarna może zmniejszyć magazyn wektorów o maksymalnie 4× przy minimalnym wpływie na jakość wyszukiwania.

  • Wyłącz magazyn dla wektorów, gdy nie są potrzebne: ustaw wartość stored=false na polach wektorów, jeśli potrzebujesz tylko wektorów do wyszukiwania, a nie pobierania. Pozwala to uniknąć przechowywania oryginalnych wektorów w indeksie, co zmniejsza koszty magazynowania bez wpływu na zachowanie zapytań.

  • Używaj mniejszych wymiarów osadzania, jeśli to możliwe: wektory o wyższych wymiarach zwiększają zarówno koszt magazynowania, jak i zapytania. W przypadku obciążeń niekrytycznych użyj mniejszych modeli osadzania (na przykład 384 lub 768 wymiarów zamiast 1536), aby zmniejszyć koszty.

Optymalizowanie wykonywania zapytań wektorów

Zapytania wektorowe intensywnie korzystają z obliczeń, ponieważ wymagają obliczeń podobieństwa w strukturach danych o wysokim wymiarach.

  • Selektywne wyszukiwanie hybrydowe: zapytania hybrydowe uruchamiają zarówno słowo kluczowe, jak i pobieranie wektorów. Używaj tylko wtedy, gdy jest to konieczne dla istotności.

  • Zastosuj filtry przed zapytaniami wektorowymi: Zawęź zestaw kandydatów przed wyszukiwaniem wektorowym, aby zmniejszyć ilość przetworzonych danych. Zobacz Jak filtrowanie działa w zapytaniach wektorowych.

Obniżanie kosztów dzięki zminimalizowaniu użycia

Opłaty za model bezserwerowy są naliczane tylko za zużyte zasoby. Jeśli nie ma żadnych żądań, użycie zasobów obliczeniowych spada odpowiednio.

Aby zminimalizować koszty użycia:

  • Uruchamiaj zapytania tylko wtedy, gdy jest to konieczne.
  • Unikaj nadmiarowych lub zbyt często występujących żądań.
  • Monitoruj użycie i dostrajaj obciążenia na podstawie zapotrzebowania.

Tip

To samo zapytanie może charakteryzować się różnymi opóźnieniami i profilami zużycia CU w zależności od tego, czy usługa jest rozgrzana, czy zimna. Po upływie okresu bez ruchu odczytu lub zapisu użycie zasobów obliczeniowych w modelu cen bezserwerowym spadnie do zera. Następne żądanie może mieć większe opóźnienie i zużywać więcej jednostek CU, gdy ścieżki danych się rozgrzewają. Większe indeksy zwykle potrzebują więcej czasu na rozgrzanie niż mniejsze, więc efekty zimnego startu są często bardziej zauważalne w większych usługach.

Optymalizowanie kosztów magazynowania

Opłata za przechowywanie jest naliczana za każdy GB/miesiąc na podstawie rozmiaru indeksu na dysku, który może przekraczać rozmiar danych źródłowych. Aby zmniejszyć koszty magazynowania:

  • Usuń nieużywane indeksy.
  • Zminimalizuj przechowywane pola.
  • Projektuj schematy z uwzględnieniem nakładu pracy magazynu.
  • Używaj mechanizmów sugestii wybiórczo, ponieważ mogą one znacznie zwiększyć zajętość pamięci.

Aby uzyskać informacje o technikach specyficznych dla wektorów (kompresja, oczyszczanie i ustawienia magazynu), zobacz Optymalizowanie pod kątem magazynu i przetwarzania wektorów.

Aby uzyskać więcej wskazówek dotyczących kompromisów między wydajnością magazynowania a wydajnością zapytań, zobacz artykuł Wskazówki dotyczące lepszej wydajności w usłudze Wyszukiwanie AI platformy Azure.