VectorStoreCollection<TKey,TRecord>.UpsertAsync Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Upserts en post i vektorlagret. Om posten redan finns uppdateras den. Om den inte finns skapas den.
Överlagringar
| Name | Description |
|---|---|
| UpsertAsync(IEnumerable<TRecord>, CancellationToken) |
Upserts en batch med poster i vektorlagret. Garanterar inte att samlingen finns. Om posten redan finns uppdateras den. Om posten inte finns skapas den. |
| UpsertAsync(TRecord, CancellationToken) |
Upserts en post i vektorlagret. Garanterar inte att samlingen finns. Om posten redan finns uppdateras den. Om posten inte finns skapas den. |
UpsertAsync(IEnumerable<TRecord>, CancellationToken)
- Källa:
- VectorStoreCollection.cs
Upserts en batch med poster i vektorlagret. Garanterar inte att samlingen finns. Om posten redan finns uppdateras den. Om posten inte finns skapas den.
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
Parametrar
- records
- IEnumerable<TRecord>
Posterna till upsert.
- cancellationToken
- CancellationToken
Övervaka CancellationToken för annulleringsbegäranden. Standardvärdet är None.
Returer
En Task som slutförs när posterna har uppdaterats.
Undantag
Kommandot kan inte köras av någon anledning.
Kommentarer
Den exakta metoden för att utöka batchen är implementeringsspecifik och kan variera beroende på databasstöd.
På samma sätt kan felbeteendet variera mellan databaser: om möjligt bör batchen ökas atomiskt, så att eventuella fel gör att hela batchen återställs. Om det inte stöds kan vissa poster ökas medan andra inte har det. Om viktiga egenskaper anges av användaren är hela upsert-åtgärden idempotent och kan helt enkelt försöka igen om ett fel inträffar. Men om butiksgenererade nycklar används är upsert-åtgärden inte längre idempotent. Om databasen i så fall inte garanterar atomitet kan ett nytt försök leda till att dubblettposter skapas.
Implementeringar av VectorStoreCollection<TKey,TRecord> bör implementera den här metoden på ett sätt som utför inbäddningsgenerering en gång för batchen, i stället för att generera en inbäddning för varje post separat. Därför tillhandahålls inte en standardimplementering som anropar UpsertAsync(TRecord, CancellationToken) .
Gäller för
UpsertAsync(TRecord, CancellationToken)
- Källa:
- VectorStoreCollection.cs
Upserts en post i vektorlagret. Garanterar inte att samlingen finns. Om posten redan finns uppdateras den. Om posten inte finns skapas den.
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
Parametrar
- record
- TRecord
Posten till upsert.
- cancellationToken
- CancellationToken
Övervaka CancellationToken för annulleringsbegäranden. Standardvärdet är None.
Returer
En Task som slutförs när posten har uppdaterats.
Undantag
Kommandot kan inte köras av någon anledning.