Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Vectorarchieven bewaren gegevens en de bijbehorende vector-insluitingen, zodat toepassingen records kunnen vinden op basis van semantische overeenkomsten. In Agent Framework-toepassingen kunt u vectorarchieven gebruiken om grondgegevens op te halen voor RAG (Retrieval Augmented Generation) of om informatie op te slaan die een agent later kan intrekken.
Abstracties van vectoropslag bieden algemene bewerkingen voor verzamelingen en records, waardoor uw toepassingslogica gescheiden blijft van de implementatie van het specifieke vectorarchief. U kunt bijvoorbeeld beginnen met een lokale implementatie en overschakelen naar een beheerde service met minimale wijzigingen.
Hoe vector store-integraties werken
Een typische vector store-werkstroom omvat deze stappen:
- Definieer een gegevensmodel dat de recordsleutel, gegevensvelden en vectorvelden identificeert.
- Configureer een insluitingsgenerator als het vectorarchief geen insluitingen genereert.
- Maak verbinding met een vectorarchief en selecteer of maak een verzameling.
- Genereer embeddings en upsert records in de collectie.
- Zoek in de verzameling met tekst of een vector, afhankelijk van de mogelijkheden van de implementatie.
- Geef relevante zoekresultaten door aan een agent als context of zoekfunctie beschikbaar maken als agenthulpprogramma.
ondersteuning voor .NET vector store
Agent Framework maakt gebruik van de zelfstandige abstracties van het .NET AI-ecosysteem:
-
Microsoft.Extensions.VectorDatabiedt algemene vectoropslag, verzameling, record en zoek-API's. -
Microsoft.Extensions.AIbiedt abstracties zoalsIEmbeddingGeneratorvoor het genereren van insluitingen onafhankelijk van een specifieke modelprovider.
Wanneer een Agent Framework-onderdeel een vectorarchief accepteert, kunt u een compatibele Microsoft.Extensions.VectorData implementatie leveren. Elke database-implementatie wordt afzonderlijk van het abstractiespakket gedistribueerd.
Kernabstracties
| Abstractie | Purpose |
|---|---|
VectorStore |
Biedt bewerkingen in verzamelingen en maakt getypte verzamelingexemplaren. |
VectorStoreCollection<TKey, TRecord> |
Hiermee maakt of verwijdert u een verzameling en voegt u records toe of werkt u deze bij, haalt u ze op of verwijdert u ze. |
IVectorSearchable<TRecord> |
Zoekt records op basis van vectoren of tekst wanneer een embeddinggenerator of een databasezijdige embeddingmogelijkheid beschikbaar is. |
Beschikbare implementaties voor vectoropslag
In de volgende implementaties worden de algemene abstracties van .NET vectoropslag gebruikt. Bekijk de documentatie van elke implementatie voor pakketversies, ondersteunde gegevenstypen en servicespecifieke beperkingen.
| Implementation | Availability | Maakt gebruik van een officieel ondersteunde database-SDK | Onderhouder of leverancier |
|---|---|---|---|
| Azure AI Zoeken | Beschikbaar | Yes | Microsoft |
| Azure Cosmos DB voor MongoDB vCore | Beschikbaar | Yes | Microsoft |
| Azure Cosmos DB voor NoSQL | Beschikbaar | Yes | Microsoft |
| Couchbase | Beschikbaar | Yes | Couchbase |
| Elasticsearch | Beschikbaar | Yes | Elastic |
| Chroma | Gepland | Niet van toepassing | Niet van toepassing |
| In-memory | Beschikbaar | Niet van toepassing | Microsoft |
| Milvus | Gepland | Niet van toepassing | Niet van toepassing |
| MongoDB | Beschikbaar | Yes | Microsoft |
| Neon Serverless Postgres | De Postgres-implementatie gebruiken | Yes | Microsoft |
| Oracle | Beschikbaar | Yes | Oracle |
| Dennenappel | Beschikbaar | No | Microsoft |
| Postgres | Beschikbaar | Yes | Microsoft |
| Qdrant | Beschikbaar | Yes | Microsoft |
| Redis | Beschikbaar | Yes | Microsoft |
| SQL Server | Beschikbaar | Yes | Microsoft |
| SQLite | Beschikbaar | Yes | Microsoft |
| Vluchtig geheugen | Afgeschaft; de in-memory implementatie gebruiken | Niet van toepassing | Microsoft |
| Weaviate | Beschikbaar | Yes | Microsoft |
Important
Vector Store-implementaties zijn afkomstig van meerdere onderhouders. Evalueer de kwaliteit, licentieverlening, ondersteuningsbeleid en versiecompatibiliteit van elke implementatie voordat u deze gebruikt. Sommige implementaties maken gebruik van database-SDK's die de databaseprovider niet officieel ondersteunt.
Get started
- Voeg de
Microsoft.Extensions.VectorData.Abstractionspakket en het pakket voor de door jou gekozen implementatie van de vectorstore. - Definieer een recordtype en identificeer de sleutel, gegevens en vectoreigenschappen.
- Configureer een
IEmbeddingGeneratorals uw implementatie toepassingsgegenereerde insluitingen vereist. - Maak de
VectorStorevan de implementatie en haal vervolgens een getypeerdeVectorStoreCollection<TKey, TRecord>op. - Zorg ervoor dat de verzameling bestaat, voeg records in of werk ze bij, en roep
SearchAsyncaan met tekst of een vector.
Zie Vector-databases voor .NET AI-apps voor een volledige inleiding tot gegevensmodellen, opname, insluitingen en zoeken.
ondersteuning voor Python vectoropslag
Agent Framework maakt gebruik van de vectorarchiefabstracties en -implementaties van Semantic Kernel voor Python. Verzamelingen in Semantic Kernel bieden standaardbewerkingen voor het maken van verzamelingen, het invoegen of bijwerken en ophalen van records, en het uitvoeren van vector-, trefwoord- of hybride zoekopdrachten wanneer de geselecteerde implementatie deze ondersteunt.
Warning
Semantic Kernel Vector Store-functionaliteit voor Python is een releasekandidaat. Er kunnen beperkte wijzigingen optreden die fouten veroorzaken voordat algemene beschikbaarheid plaatsvindt.
Beschikbare implementaties voor vectoropslag
| Implementation | Availability | Maakt gebruik van een officieel ondersteunde database-SDK | Onderhouder of leverancier |
|---|---|---|---|
| Azure AI Zoeken | Beschikbaar | Yes | Microsoft Semantic Kernel project |
| Azure Cosmos DB voor MongoDB vCore | Beschikbaar | Yes | Microsoft Semantic Kernel project |
| Azure Cosmos DB voor NoSQL | Beschikbaar | Yes | Microsoft Semantic Kernel project |
| Chroma | Beschikbaar | Yes | Microsoft Semantic Kernel project |
| Elasticsearch | Gepland | Niet van toepassing | Niet van toepassing |
| Faiss | Beschikbaar | Yes | Microsoft Semantic Kernel project |
| In-memory | Beschikbaar | Niet van toepassing | Microsoft Semantic Kernel project |
| MongoDB | Beschikbaar | Yes | Microsoft Semantic Kernel project |
| Neon Serverless Postgres | De Postgres-implementatie gebruiken | Yes | Microsoft Semantic Kernel project |
| Oracle | Beschikbaar | Yes | Oracle |
| Dennenappel | Beschikbaar | Yes | Microsoft Semantic Kernel project |
| Postgres | Beschikbaar | Yes | Microsoft Semantic Kernel project |
| Qdrant | Beschikbaar | Yes | Microsoft Semantic Kernel project |
| Redis | Beschikbaar | Yes | Microsoft Semantic Kernel project |
| SQL Server | Beschikbaar | pyodbc |
Microsoft Semantic Kernel project |
| SQLite | Gepland | Niet van toepassing | Microsoft Semantic Kernel project |
| Weaviate | Beschikbaar | Yes | Microsoft Semantic Kernel project |
Important
Vector Store-implementaties zijn afkomstig van meerdere onderhouders. Evalueer de kwaliteit, licentieverlening, ondersteuningsbeleid en versiecompatibiliteit van elke implementatie voordat u deze gebruikt.
Get started
- Installeer
semantic-kernelen de afhankelijkheden die vereist zijn voor de door u gekozen implementatie. - Definieer een model met de
@vectorstoremodeldecorator en identificeer de sleutel-, gegevens- en vectorvelden. - Maak een implementatiespecifieke verzameling voor dat model.
- Zorg ervoor dat de verzameling bestaat en voeg vervolgens records in of werk ze bij.
- Gebruik de zoek-API's van de verzameling om records voor uw toepassing op te halen.
Zie Semantic Kernel Vector Stores voor het instellen van de implementatie en volledige voorbeelden.
Ondersteuning voor Go Vector Store
Vector Store-integratie is nog niet beschikbaar in Agent Framework voor Go. Zie de opslagplaats Agent Framework Go voor de meest recente status.
Gerelateerde Agent Framework-scenario's
- RAG aan een agent toevoegen.
- Geheugen voor semantische chatgeschiedenis toevoegen.
- Kies een contextproviderintegratie.