VectorStoreCollection<TKey,TRecord>.UpsertAsync Methode

Definition

Überlädt

Name Beschreibung
UpsertAsync(IEnumerable<TRecord>, CancellationToken)

Upsert eine Reihe von Datensätzen in den Vektorspeicher. Garantiert nicht, dass die Auflistung vorhanden ist. Wenn der Datensatz bereits vorhanden ist, wird er aktualisiert. Wenn der Datensatz nicht vorhanden ist, wird er erstellt.

UpsertAsync(TRecord, CancellationToken)

Upsert einen Datensatz in den Vektorspeicher. Garantiert nicht, dass die Auflistung vorhanden ist. Wenn der Datensatz bereits vorhanden ist, wird er aktualisiert. Wenn der Datensatz nicht vorhanden ist, wird er erstellt.

UpsertAsync(IEnumerable<TRecord>, CancellationToken)

Upsert eine Reihe von Datensätzen in den Vektorspeicher. Garantiert nicht, dass die Auflistung vorhanden ist. Wenn der Datensatz bereits vorhanden ist, wird er aktualisiert. Wenn der Datensatz nicht vorhanden ist, wird er erstellt.

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

Parameter

records
IEnumerable<TRecord>

Die Datensätze, die zum Upsert werden sollen.

cancellationToken
CancellationToken

Der CancellationToken zu überwachende Monitor für Abbruchanforderungen. Der Standardwert lautet None.

Gibt zurück

A Task that completes when the records been upserted.

Ausnahmen

Der Befehl kann aus irgendeinem Grund nicht ausgeführt werden.

Hinweise

Die genaue Methode zum Upserting des Batches ist implementierungsspezifisch und kann je nach Datenbankunterstützung variieren.

Ebenso kann das Fehlerverhalten in datenbanken unterschiedlich sein: Wenn möglich, sollte der Batch atomisch neu eingefügt werden, sodass alle Fehler dazu führen, dass der gesamte Batch zurückgesetzt wird. Wenn sie nicht unterstützt wird, werden einige Datensätze möglicherweise wieder hocherert, während andere nicht vorhanden sind. Wenn schlüsseleigenschaften vom Benutzer festgelegt werden, ist der gesamte Upsert-Vorgang idempotent und kann einfach erneut wiederholt werden, wenn ein Fehler auftritt. Wenn jedoch vom Speicher generierte Schlüssel verwendet werden, ist der Upsert-Vorgang nicht mehr idempotent; in diesem Fall kann die Erneute Wiederholung dazu führen, dass doppelte Datensätze erstellt werden, wenn die Datenbank keine Atomität garantiert.

Implementierungen dieser VectorStoreCollection<TKey,TRecord> Methode sollten diese Methode so implementieren, dass die Generierung der Einbettung einmal für den Batch ausgeführt wird, anstatt für jeden Datensatz separat eine Einbettung zu generieren. Aus diesem Grund wird keine Standardimplementierung bereitgestellt, die aufruft UpsertAsync(TRecord, CancellationToken) .

Gilt für:

UpsertAsync(TRecord, CancellationToken)

Upsert einen Datensatz in den Vektorspeicher. Garantiert nicht, dass die Auflistung vorhanden ist. Wenn der Datensatz bereits vorhanden ist, wird er aktualisiert. Wenn der Datensatz nicht vorhanden ist, wird er erstellt.

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

Parameter

record
TRecord

Der Datensatz zum Upsert.

cancellationToken
CancellationToken

Der CancellationToken zu überwachende Monitor für Abbruchanforderungen. Der Standardwert lautet None.

Gibt zurück

A Task that completes when the record has been upserted.

Ausnahmen

Der Befehl kann aus irgendeinem Grund nicht ausgeführt werden.

Gilt für: