Verwenden des CONNECTORS FÜR DEN VECTOR Store
Übersicht
DER BROWSER-Vektorspeicher ist ein Java-spezifisches Feature, das nur für Java-Anwendungen verfügbar ist.
Übersicht
DER BROWSER-Vektorspeicher ist ein Java-spezifisches Feature, das nur für Java-Anwendungen verfügbar ist.
Übersicht
Der CONNECTOR FÜR DEN VECTOR Store kann verwendet werden, um auf Daten in SQL-Datenbanken zuzugreifen und sie zu verwalten. Der Verbinder weist die folgenden Merkmale auf.
Featurebereich | Unterstützung |
---|---|
Auflistungszuordnungen | SQL-Datenbanktabelle |
Unterstützte SQL-Datenquellen |
|
Unterstützte Schlüsseleigenschaftentypen | String |
Unterstützte Datentypen für Datentypen |
|
Unterstützte Vektoreigenschaftentypen | Float auflisten<> |
Unterstützte Indextypen |
|
Unterstützte Entfernungsfunktionen |
|
Unterstützt mehrere Vektoren in einem Datensatz | Ja |
isFilterable supported? | Ja |
isFullTextSearchable unterstützt? | No |
storageName wird unterstützt? | Nein, verwenden Sie @JsonProperty stattdessen. |
Begrenzungen
PostgreSQL nutzt pgvector
die Vektorindizierung und Suche und bietet eindeutig ungefähre Suchfunktionen. Andere Anbieter bieten keine Unterstützung für die Indizierung und bieten nur eine erschöpfende Vektorsuche.
Erste Schritte
Fügen Sie die neueste Version des Semantischen Kernel-KERNEL-Connectors in Ihr Maven-Projekt ein, indem Sie die folgende Abhängigkeit zu Ihrem pom.xml
Hinzufügen hinzufügen:
<dependency>
<groupId>com.microsoft.semantic-kernel</groupId>
<artifactId>semantickernel-data-jdbc</artifactId>
<version>[LATEST]</version>
</dependency>
Anschließend können Sie eine Vektorspeicherinstanz mithilfe der JDBCVectorStore
Klasse erstellen, wobei die Datenquelle als Parameter vorhanden ist.
import com.microsoft.semantickernel.data.jdbc.JDBCVectorStore;
import com.microsoft.semantickernel.data.jdbc.JDBCVectorStoreOptions;
import com.microsoft.semantickernel.data.jdbc.JDBCVectorStoreRecordCollection;
import com.microsoft.semantickernel.data.jdbc.JDBCVectorStoreRecordCollectionOptions;
import com.microsoft.semantickernel.data.jdbc.mysql.MySQLVectorStoreQueryProvider;
import org.postgresql.ds.PGSimpleDataSource;
public class Main {
public static void main(String[] args) {
// Configure the data source
PGSimpleDataSource dataSource = new PGSimpleDataSource();
dataSource.setUrl("jdbc:postgresql://localhost:5432/sk");
dataSource.setUser("postgres");
dataSource.setPassword("root");
// Build a query provider
// Other available query providers are PostgreSQLVectorStoreQueryProvider, SQLiteVectorStoreQueryProvider
// and HSQDBVectorStoreQueryProvider
var queryProvider = MySQLVectorStoreQueryProvider.builder()
.withDataSource(dataSource)
.build();
// Build a vector store
var vectorStore = JDBCVectorStore.builder()
.withDataSource(dataSource)
.withOptions(JDBCVectorStoreOptions.builder()
.withQueryProvider(queryProvider)
.build())
.build();
}
}
Sie können auch eine Sammlung direkt erstellen.
var collection = new JDBCVectorStoreRecordCollection<>(
dataSource,
"skhotels",
JDBCVectorStoreRecordCollectionOptions.<Hotel>builder()
.withRecordClass(Hotel.class)
.build()
);