VectorStoreCollection<TKey,TRecord>.UpsertAsync Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Upserts un registro en el almacén de vectores. Si el registro ya existe, se actualiza. Si no existe, se crea.
Sobrecargas
| Nombre | Description |
|---|---|
| UpsertAsync(IEnumerable<TRecord>, CancellationToken) |
Upserts un lote de registros en el almacén de vectores. No garantiza que la colección exista. Si el registro ya existe, se actualiza. Si el registro no existe, se crea. |
| UpsertAsync(TRecord, CancellationToken) |
Upserts un registro en el almacén de vectores. No garantiza que la colección exista. Si el registro ya existe, se actualiza. Si el registro no existe, se crea. |
UpsertAsync(IEnumerable<TRecord>, CancellationToken)
- Source:
- VectorStoreCollection.cs
Upserts un lote de registros en el almacén de vectores. No garantiza que la colección exista. Si el registro ya existe, se actualiza. Si el registro no existe, se crea.
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
Parámetros
- records
- IEnumerable<TRecord>
Registros que se van a actualizar.
- cancellationToken
- CancellationToken
que CancellationToken se va a supervisar para las solicitudes de cancelación. El valor predeterminado es None.
Devoluciones
que Task se completa cuando se han actualizado los registros.
Excepciones
El comando no se puede ejecutar por cualquier motivo.
Comentarios
El método exacto de upserting del lote es específico de la implementación y puede variar en función de la compatibilidad con la base de datos.
Del mismo modo, el comportamiento de error puede variar en todas las bases de datos: siempre que sea posible, el lote se debe subir de forma atómica, de modo que cualquier error haga que se revierte todo el lote. Cuando no se admite, es posible que algunos registros se actualicen mientras que otros no. Si el usuario establece las propiedades de clave, toda la operación upsert es idempotente y simplemente se puede reintentar de nuevo si se produce un error. Sin embargo, si las claves generadas por el almacén están en uso, la operación upsert ya no es idempotente; en ese caso, si la base de datos no garantiza la atomicidad, el reintento podría provocar la creación de registros duplicados.
Las implementaciones de VectorStoreCollection<TKey,TRecord> deben implementar este método de forma que realice la generación de inserción una vez para el lote, en lugar de generar una inserción para cada registro por separado. Este es el motivo por el que no se proporciona una implementación predeterminada que llama a UpsertAsync(TRecord, CancellationToken) .
Se aplica a
UpsertAsync(TRecord, CancellationToken)
- Source:
- VectorStoreCollection.cs
Upserts un registro en el almacén de vectores. No garantiza que la colección exista. Si el registro ya existe, se actualiza. Si el registro no existe, se crea.
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
Parámetros
- record
- TRecord
Registro que se va a actualizar.
- cancellationToken
- CancellationToken
que CancellationToken se va a supervisar para las solicitudes de cancelación. El valor predeterminado es None.
Devoluciones
que Task se completa cuando se ha actualizado el registro.
Excepciones
El comando no se puede ejecutar por cualquier motivo.