VectorStoreCollection<TKey,TRecord>.UpsertAsync Método

Definição

Insere um registo no armazenamento vetorial. Se o registo já existe, é atualizado. Se não existir, é criado.

Sobrecargas

Name Descrição
UpsertAsync(IEnumerable<TRecord>, CancellationToken)

Coloca um lote de registos no armazenamento vetorial. Não garante que a coleção exista. Se o registo já existir, é atualizado. Se o registo não existir, é criado.

UpsertAsync(TRecord, CancellationToken)

Insere um registo no armazenamento vetorial. Não garante que a coleção exista. Se o registo já existir, é atualizado. Se o registo não existir, é criado.

UpsertAsync(IEnumerable<TRecord>, CancellationToken)

Origem:
VectorStoreCollection.cs

Coloca um lote de registos no armazenamento vetorial. Não garante que a coleção exista. Se o registo já existir, é atualizado. Se o registo não existir, é criado.

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>

Os registos para subir.

cancellationToken
CancellationToken

O CancellationToken para monitorizar pedidos de cancelamento. A predefinição é None.

Devoluções

A Task que termina quando os registos foram atualizados.

Exceções

O comando falha em executar por qualquer motivo.

Observações

O método exato de upserting do lote é específico da implementação e pode variar consoante o suporte à base de dados.

De forma semelhante, o comportamento do erro pode variar entre bases de dados: sempre que possível, o lote deve ser invertido atomicamente, para que quaisquer erros provoquem a reversão de todo o lote. Quando não são suportados, alguns discos podem ser atualizados enquanto outros não. Se as propriedades chave forem definidas pelo utilizador, então toda a operação upsert é idempotente e pode simplesmente ser tentada novamente se ocorrer um erro. No entanto, se as chaves geradas pela loja estiverem em uso, a operação upsert deixa de ser idempotente; Nesse caso, se a base de dados não garantir atomicidade, tentar novamente pode causar a criação de registos duplicados.

As implementações de VectorStoreCollection<TKey,TRecord> devem implementar este método de forma a realizar a geração de embedding uma vez para o batch, em vez de gerar um embedding para cada registo separadamente. É por isso que não é fornecida uma implementação padrão que chame UpsertAsync(TRecord, CancellationToken) .

Aplica-se a

UpsertAsync(TRecord, CancellationToken)

Origem:
VectorStoreCollection.cs

Insere um registo no armazenamento vetorial. Não garante que a coleção exista. Se o registo já existir, é atualizado. Se o registo não existir, é criado.

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

O recorde para upsert.

cancellationToken
CancellationToken

O CancellationToken para monitorizar pedidos de cancelamento. A predefinição é None.

Devoluções

A Task que termina quando o registo foi atualizado.

Exceções

O comando falha em executar por qualquer motivo.

Aplica-se a