Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Nuget-Paket umbenennen
Die folgenden Nuget-Pakete wurden aus Gründen der Klarheit und Länge umbenannt.
Alter Paketname | Neuer Paketname |
---|---|
Microsoft.SemanticKernel.Connectors.AzureCosmosDBMongoDB | Microsoft.SemanticKernel.Connectors.CosmosMongoDB |
Microsoft.SemanticKernel.Connectors.AzureCosmosDBNoSQL | Microsoft.SemanticKernel.Connectors.CosmosNoSql |
Microsoft.SemanticKernel.Connectors.Postgres | Microsoft.SemanticKernel.Connectors.PgVector |
Microsoft.SemanticKernel.Connectors.Sqlite | Microsoft.SemanticKernel.Connectors.SqliteVec |
Typumbenennungen
Im Rahmen unserer formalen API-Überprüfung vor der allgemeinen Verfügbarkeit wurden verschiedene Namensänderungen vorgeschlagen und übernommen, was die folgenden Veränderungen zur Folge hatte. Diese sollten dabei helfen, Klarheit, Konsistenz zu verbessern und die Länge des Typnamens zu verringern.
Alter Namespace | Alter TypeName | Neuer Namespace | Neuer TypeName |
---|---|---|---|
Microsoft.Extensions.VectorData | VectorStoreRecordDefinition | Microsoft.Extensions.VectorData | VectorStoreCollectionDefinition |
Microsoft.Extensions.VectorData | VectorStoreRecordKeyAttribute | Microsoft.Extensions.VectorData | VectorStoreKeyAttribute |
Microsoft.Extensions.VectorData | VectorStoreRecordDataAttribute | Microsoft.Extensions.VectorData | VectorStoreDataAttribute |
Microsoft.Extensions.VectorData | VectorStoreRecordVectorAttribute | Microsoft.Extensions.VectorData | VectorStoreVectorAttribute |
Microsoft.Extensions.VectorData | VectorStoreRecordProperty | Microsoft.Extensions.VectorData | VectorStoreProperty |
Microsoft.Extensions.VectorData | VectorStoreRecordKeyProperty | Microsoft.Extensions.VectorData | VectorStoreKeyProperty |
Microsoft.Extensions.VectorData | VectorStoreRecordDataProperty | Microsoft.Extensions.VectorData | VectorStoreDataProperty |
Microsoft.Extensions.VectorData | VectorStoreRecordVectorProperty | Microsoft.Extensions.VectorData | VectorStoreVectorProperty |
Microsoft.Extensions.VectorData | GetRecordOptions | Microsoft.Extensions.VectorData | RecordRetrievalOptions |
Microsoft.Extensions.VectorData | GetFilteredRecordOptions<TRecord> | Microsoft.Extensions.VectorData | FilteredRecordRetrievalOptions<TRecord> |
Microsoft.Extensions.VectorData | IVectorSearch<TRecord> | Microsoft.Extensions.VectorData | IVectorSearchable<TRecord> |
Microsoft.Extensions.VectorData | IKeywordHybridSearch<TRecord> | Microsoft.Extensions.VectorData | IKeywordHybridSearchable<TRecord> |
Microsoft.SemanticKernel.Connectors.AzureCosmosDBMongoDB | AzureCosmosDBMongoDBVectorStore | Microsoft.SemanticKernel.Connectors.CosmosMongoDB | CosmosMongoVectorStore |
Microsoft.SemanticKernel.Connectors.AzureCosmosDBMongoDB | AzureCosmosDBMongoDBVectorStoreRecordCollection | Microsoft.SemanticKernel.Connectors.CosmosMongoDB | CosmosMongoCollection |
Microsoft.SemanticKernel.Connectors.AzureCosmosDBNoSQL | AzureCosmosDBNoSQLVectorStore | Microsoft.SemanticKernel.Connectors.CosmosNoSql | CosmosNoSqlVectorStore |
Microsoft.SemanticKernel.Connectors.AzureCosmosDBNoSQL | AzureCosmosDBNoSQLVectorStoreRecordCollection | Microsoft.SemanticKernel.Connectors.CosmosNoSql | CosmosNoSqlCollection |
Microsoft.SemanticKernel.Connectors.MongoDB | MongoDBVectorStore | Microsoft.SemanticKernel.Connectors.MongoDB | MongoVectorStore |
Microsoft.SemanticKernel.Connectors.MongoDB | MongoDB-Vektorspeicher-Datensatz-Sammlung | Microsoft.SemanticKernel.Connectors.MongoDB | MongoCollection |
Die Namen der verschiedenen unterstützten Implementierungen des semantischen Kernels wurden nach einem konsistenten Muster in kürzere Namen umbenannt.
*VectorStoreRecordCollection
ist jetzt *Collection
. Z.B. PostgresVectorStoreRecordCollection
->PostgresCollection
.
Ähnlich haben sich auch alle zugehörigen Optionsklassen geändert.
*VectorStoreRecordCollectionOptions
ist jetzt *CollectionOptions
. Z.B. PostgresVectorStoreRecordCollectionOptions
->PostgresCollectionOptions
.
Eigenschaften-Umbenennungen
Namespace | Klasse | Ehemaliger Objektname | Neuer Eigenschaftsname |
---|---|---|---|
Microsoft.Extensions.VectorData | VectorStoreKeyAttribute | SpeicherEigenschaftsName | StorageName |
Microsoft.Extensions.VectorData | VectorStoreDataAttribute | SpeicherEigenschaftsName | StorageName |
Microsoft.Extensions.VectorData | VectorStoreVectorAttribute | SpeicherEigenschaftsName | StorageName |
Microsoft.Extensions.VectorData | VectorStore-Schlüssel-Eigenschaft | DatenmodellEigenschaftsName | Name |
Microsoft.Extensions.VectorData | VectorStore-Schlüssel-Eigenschaft | SpeicherEigenschaftsName | StorageName |
Microsoft.Extensions.VectorData | VectorStore-Schlüssel-Eigenschaft | Eigenschaftstyp | Typ |
Microsoft.Extensions.VectorData | VectorStoreDataProperty | DatenmodellEigenschaftsName | Name |
Microsoft.Extensions.VectorData | VectorStoreDataProperty | SpeicherEigenschaftsName | StorageName |
Microsoft.Extensions.VectorData | VectorStoreDataProperty | Eigenschaftstyp | Typ |
Microsoft.Extensions.VectorData | VectorStoreVectorProperty | DatenmodellEigenschaftsName | Name |
Microsoft.Extensions.VectorData | VectorStoreVectorProperty | SpeicherEigenschaftsName | StorageName |
Microsoft.Extensions.VectorData | VectorStoreVectorProperty | Eigenschaftstyp | Typ |
Microsoft.Extensions.VectorData | Distanzfunktion | Hamming | HammingDistance |
Die VectorStoreRecordDefinition
-Eigenschaft in Sammlungsoptionen-Klassen wurde in Definition
umbenannt.
Methodenumbenennungen
Die CreateCollectionIfNotExistsAsync
Methode für die Collection
Datei wurde umbenannt in EnsureCollectionExistsAsync
.
Die DeleteAsync
Methode für die *Collection
und VectorStore
wurde umbenannt in EnsureCollectionDeletedAsync
.
Dies richtet sich genauer an dem Verhalten der Methode, das eine Auflistung löscht, falls vorhanden. Wenn die Auflistung nicht vorhanden ist, führt sie nichts aus und ist erfolgreich.
Schnittstelle zur abstrakten Basisklasse
Die folgenden Schnittstellen wurden in Basis-abstrakte Klassen geändert.
Namespace | Alter Schnittstellenname | Neuer Typname |
---|---|---|
Microsoft.Extensions.VectorData | IVectorStore | VectorStore |
Microsoft.Extensions.VectorData | IVectorStoreRecordCollection | VectorStoreCollection |
Unabhängig davon, wo Sie zuvor IVectorStore oder IVectorStoreRecordCollection verwendet haben, können Sie stattdessen VectorStore und VectorStoreCollection verwenden.
Zusammenführung und SearchAsync
SearchEmbeddingAsync
Die SearchAsync
-Methode und die SearchEmbeddingAsync
-Methode in der Sammlung wurden in einer einzigen Methode zusammengeführt: SearchAsync
.
Zuvor erlaubte SearchAsync
das Ausführen von Vektorsuchen mithilfe von Quelldaten, die innerhalb der Auflistung oder im Dienst vektorisiert werden würden, während SearchEmbeddingAsync
Vektorsuchen durch Bereitstellen eines Vektors erlaubt wurden.
Jetzt werden beide Szenarien mit der einzelnen SearchAsync
Methode unterstützt, die sowohl als Eingabedaten als auch als Vektoren verwendet werden kann.
Der Mechanismus zum Bestimmen der zu tunden Aktionen lautet wie folgt:
- Wenn der angegebene Wert einer der unterstützten Vektortypen für den Connector ist, verwendet die Suche dies.
- Wenn der angegebene Wert nicht einer der unterstützten Vektortypen ist, überprüft der Connector, ob ein
IEmbeddingGenerator
Vektorspeicher registriert ist, der die Konvertierung vom bereitgestellten Wert in den von der Datenbank unterstützten Vektortyp unterstützt. - Wenn schließlich kein kompatibler
IEmbeddingGenerator
verfügbar ist, wirft die Methode eineInvalidOperationException
.
Unterstützung für Wörterbuchzeichenfolgen<, Objektmodelle> mit *DynamicCollection
und VectorStore.GetDynamicCollection
Um die Unterstützung für NativeOAT und Trimming zu ermöglichen, sofern möglich und bei Verwendung des dynamischen Datenmodells, hat sich die Art und Weise geändert, in der dynamische Datenmodelle unterstützt werden. Insbesondere, wie Sie die Sammlung anfordern oder erstellen, hat sich geändert.
Wenn Sie zuvor Wörterbuchzeichenfolge, Objekt?< als Datenmodell verwenden, können Sie dies mithilfe >von "VectorStore.GetCollection
, aber jetzt müssen Sie verwenden.VectorStore.GetDynamicCollection
// Before
PostgresVectorStore vectorStore = new PostgresVectorStore(myNpgsqlDataSource)
vectorStore.GetCollection<string, Dictionary<string, object?>>("collectionName", definition);
// After
PostgresVectorStore vectorStore = new PostgresVectorStore(myNpgsqlDataSource, ownsDataSource: true)
vectorStore.GetDynamicCollection<string, Dictionary<string, object?>>("collectionName", definition);
VectorStore und VectorStoreRecordCollection sind jetzt entsorgbar
Sowohl VectorStore
als auch VectorStoreRecordCollection
sind jetzt entsorgbar, um sicherzustellen, dass die von diesen besessenen Datenbankobjekte ordnungsgemäß bereinigt werden.
Wenn Sie einem Datenbankclient an Ihren Vektorspeicher oder Ihre Vektorsammlung übergeben, haben Sie die Möglichkeit anzugeben, ob der Vektorspeicher oder die Vektorsammlung den Client besitzen und diesen daher auch entsorgen soll, wenn der Vektorspeicher oder die Vektorsammlung entsorgt wird.
Wenn Sie beispielsweise eine Datenquelle an die PostgresVectorStore
übergeben und true
für ownsDataSource
verwenden, wird die PostgresVectorStore
die Datenquelle entsorgen, wenn sie verworfen wird.
new PostgresVectorStore(dataSource, ownsDataSource: true, options);
CreateCollection
wird nicht mehr unterstützt, verwenden Sie EnsureCollectionExistsAsync
Die CreateCollection
-Methode auf dem Collection
wurde entfernt, und nur EnsureCollectionExistsAsync
wird jetzt unterstützt.
EnsureCollectionExistsAsync
ist idempotent und erstellt eine Sammlung, wenn sie nicht vorhanden ist, und macht nichts, wenn sie bereits existiert.
VectorStoreOperationException
und VectorStoreRecordMappingException
wird nicht mehr unterstützt, verwenden Sie VectorStoreException
VectorStoreOperationException
und VectorStoreRecordMappingException
wurden entfernt, und nur VectorStoreException
wird jetzt unterstützt.
Alle Datenbankanforderungsfehler, die zu einer datenbankspezifischen Ausnahme führen, werden umschlossen und als eine VectorStoreException
-Ausnahme ausgelöst, sodass der ausführende Code einen einzigen Ausnahmetyp anstelle eines anderen für jede Implementierung abfangen kann.
Nicht zutreffend
Diese Änderungen gelten derzeit nur in C#
In Kürze verfügbar
Diese Änderungen gelten derzeit nur in C#