Język

VectorStoreCollection<TKey,TRecord>.UpsertAsync Metoda

Definicja

Przeciążenia

Nazwa Opis
UpsertAsync(IEnumerable<TRecord>, CancellationToken)

Upserts partii rekordów do magazynu wektorów. Nie gwarantuje, że kolekcja istnieje. Jeśli rekord już istnieje, zostanie zaktualizowany. Jeśli rekord nie istnieje, zostanie utworzony.

UpsertAsync(TRecord, CancellationToken)

Upserts rekord do magazynu wektorów. Nie gwarantuje, że kolekcja istnieje. Jeśli rekord już istnieje, zostanie zaktualizowany. Jeśli rekord nie istnieje, zostanie utworzony.

UpsertAsync(IEnumerable<TRecord>, CancellationToken)

Źródło:
VectorStoreCollection.cs

Upserts partii rekordów do magazynu wektorów. Nie gwarantuje, że kolekcja istnieje. Jeśli rekord już istnieje, zostanie zaktualizowany. Jeśli rekord nie istnieje, zostanie utworzony.

public abstract System.Threading.Tasks.Task UpsertAsync(System.Collections.Generic.IEnumerable<TRecord> records, System.Threading.CancellationToken cancellationToken = default);
abstract member UpsertAsync : seq<'Record (requires 'Record : null)> * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public MustOverride Function UpsertAsync (records As IEnumerable(Of TRecord), Optional cancellationToken As CancellationToken = Nothing) As Task

Parametry

records
IEnumerable<TRecord>

Rekordy do operacji upsert.

cancellationToken
CancellationToken

Element CancellationToken do monitorowania żądań anulowania. Wartość domyślna to None.

Zwraca

Element Task , który kończy się, gdy rekordy zostały zastąpione.

Wyjątki

Nie można wykonać polecenia z jakiegokolwiek powodu.

Uwagi

Dokładna metoda upserting partii jest specyficzna dla implementacji i może się różnić w zależności od obsługi bazy danych.

Podobnie zachowanie błędu może się różnić w różnych bazach danych: jeśli to możliwe, partia powinna być niepodzielna, dzięki czemu wszelkie błędy powodują wycofanie całej partii. Jeśli nie są obsługiwane, niektóre rekordy mogą być upserted, podczas gdy inne nie są. Jeśli właściwości klucza są ustawiane przez użytkownika, cała operacja upsert jest idempotentna i można po prostu ponowić próbę w przypadku wystąpienia błędu. Jeśli jednak klucze wygenerowane przez magazyn są używane, operacja upsert nie jest już idempotentna; w takim przypadku, jeśli baza danych nie gwarantuje niepodzielności, ponawianie próby może spowodować utworzenie zduplikowanych rekordów.

Implementacje VectorStoreCollection<TKey,TRecord> programu powinny implementować tę metodę w sposób, który wykonuje osadzanie generacji raz dla partii, zamiast generować osadzanie dla każdego rekordu oddzielnie. Dlatego nie podano domyślnej implementacji wywołującej UpsertAsync(TRecord, CancellationToken) .

Dotyczy

UpsertAsync(TRecord, CancellationToken)

Źródło:
VectorStoreCollection.cs

Upserts rekord do magazynu wektorów. Nie gwarantuje, że kolekcja istnieje. Jeśli rekord już istnieje, zostanie zaktualizowany. Jeśli rekord nie istnieje, zostanie utworzony.

public abstract System.Threading.Tasks.Task UpsertAsync(TRecord record, System.Threading.CancellationToken cancellationToken = default);
abstract member UpsertAsync : 'Record * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public MustOverride Function UpsertAsync (record As TRecord, Optional cancellationToken As CancellationToken = Nothing) As Task

Parametry

record
TRecord

Rekord do upsert.

cancellationToken
CancellationToken

Element CancellationToken do monitorowania żądań anulowania. Wartość domyślna to None.

Zwraca

Element Task , który kończy się, gdy rekord został rozbudowany.

Wyjątki

Nie można wykonać polecenia z jakiegokolwiek powodu.

Dotyczy