PostgreSQL/pgvector provider for EasyAppDev.Blazor.AutoComplete.AI semantic search. Provides persistent vector storage with HNSW indexing for production-scale autocomplete scenarios.
$ dotnet add package EasyAppDev.Blazor.AutoComplete.AI.PostgreSqlPostgreSQL/pgvector integration for semantic search with the Blazor AutoComplete component.
dotnet add package EasyAppDev.Blazor.AutoComplete.AI.PostgreSql
CREATE EXTENSION vector;
// Program.cs
builder.Services.AddAutoCompletePostgreSql<Product>(
connectionString: "Host=localhost;Database=myapp;Username=user;Password=pass",
options => {
options.TableName = "product_embeddings";
options.Dimensions = 1536;
options.DistanceFunction = DistanceFunction.Cosine;
},
textSelector: p => $"{p.Name} {p.Description}",
idSelector: p => p.Id.ToString());
// Register embedding generator
builder.Services.AddAutoCompleteVectorSearch<Product>(
openAiApiKey: "sk-...");
@using EasyAppDev.Blazor.AutoComplete.AI
<VectorAutoComplete TItem="Product"
TextField="@(p => p.Name)"
@bind-Value="@selectedProduct"
Placeholder="Semantic search..." />
| Option | Description | Default |
|---|---|---|
ConnectionString | PostgreSQL connection string | Required |
TableName | Table for embeddings | {type}_embeddings |
Dimensions | Vector dimensions | 1536 |
DistanceFunction | Similarity metric | Cosine |
CreateTableIfNotExists | Auto-create table | true |
UseHnswIndex | Enable HNSW index | true |
| Function | Use Case |
|---|---|
Cosine | Normalized embeddings (default) |
L2 | Euclidean distance |
DotProduct | Inner product similarity |
L1 | Manhattan distance |
Hamming | Binary vectors |
Jaccard | Set similarity |
@inject IVectorIndexer<Product> indexer
// Index all products
await indexer.IndexAsync(products);
// Re-index on update
await indexer.UpdateAsync(updatedProduct);
MIT