Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Översikt
JDBC-vektorarkivet är en Java-specifik funktion som endast är tillgänglig för Java-program.
Översikt
JDBC-vektorarkivet är en Java-specifik funktion som endast är tillgänglig för Java-program.
Översikt
JDBC Vector Store-anslutningsappen kan användas för att komma åt och hantera data i SQL-databaser. Anslutningsappen har följande egenskaper.
| Funktionsområde | Support |
|---|---|
| Samlingskartor till | SQL-databastabell |
| SQL-datakällor som stöds |
|
| Nyckelegenskapstyper som stöds | Sträng |
| Dataegenskapstyper som stöds |
|
| Egenskapstyper för vektorer som stöds | Listflöd<> |
| Indextyper som stöds |
|
| Avståndsfunktioner som stöds |
|
| Filtersatser som stöds |
|
| Stödjer flera vektorer i en post | Ja |
| Stöds isFilterable? | Ja |
| isFullTextSearchable stöds? | Nej |
| storageName stöds? | Nej, använd @JsonProperty i stället. |
Begränsningar
PostgreSQL utnyttjar pgvector för vektorindexering och sökning och erbjuder unikt ungefärliga sökfunktioner. Andra leverantörer saknar stöd för indexering, vilket endast ger fullständig vektorsökning.
Komma igång
Inkludera den senaste versionen av Semantic Kernel JDBC-anslutningen i ditt Maven-projekt genom att lägga till följande beroende i din pom.xml:
<dependency>
<groupId>com.microsoft.semantic-kernel</groupId>
<artifactId>semantickernel-data-jdbc</artifactId>
<version>[LATEST]</version>
</dependency>
Du kan sedan skapa en vektorlagringsinstans med hjälp av JDBCVectorStore klassen med datakällan som parameter.
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();
}
}
Du kan också skapa en samling direkt.
var collection = new JDBCVectorStoreRecordCollection<>(
dataSource,
"skhotels",
JDBCVectorStoreRecordCollectionOptions.<Hotel>builder()
.withRecordClass(Hotel.class)
.build()
);