feat(vector-db): integrate vector database for image search

- Replace pgvector with Microsoft Vector DB for image vector storage and search
- Update Picture model to use float[] instead of Vector type
- Modify PictureService to use VectorDbService for vector search
- Remove vector-related code from MyDbContext
- Add PictureVector model for Vector DB integration
This commit is contained in:
ShiYu
2025-05-31 00:33:37 +08:00
parent 5886eb8690
commit 32af3720e3
8 changed files with 98 additions and 120 deletions

View File

@@ -5,17 +5,6 @@ namespace Foxel;
public class MyDbContext(DbContextOptions<MyDbContext> options) : DbContext(options)
{
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.HasPostgresExtension("vector");
modelBuilder.Entity<Picture>()
.HasIndex(p => p.Embedding)
.HasMethod("ivfflat")
.HasOperators("vector_cosine_ops")
.HasStorageParameter("lists", 100);
}
public DbSet<Picture> Pictures { get; set; } = null!;
public DbSet<User> Users { get; set; } = null!;
public DbSet<Tag> Tags { get; set; } = null!;