feat: Support multiple vector database selection, add InMemory and Qdrant adapters, introduce admin dashboard

This commit is contained in:
shiyu
2025-05-31 21:00:48 +08:00
parent b2bacc54a9
commit 44d2616fd4
51 changed files with 5498 additions and 1214 deletions

View File

@@ -0,0 +1,36 @@
using System.ComponentModel.DataAnnotations;
namespace Foxel.Models.Request.User;
public class CreateUserRequest
{
[Required(ErrorMessage = "用户名不能为空")]
public string UserName { get; set; }
[Required(ErrorMessage = "邮箱不能为空")]
[EmailAddress(ErrorMessage = "邮箱格式不正确")]
public string Email { get; set; }
[Required(ErrorMessage = "密码不能为空")]
[MinLength(6, ErrorMessage = "密码长度不能少于6个字符")]
public string Password { get; set; }
[Required(ErrorMessage = "角色不能为空")]
public string Role { get; set; } = "User";
}
public class UpdateUserRequest
{
[Required]
public int Id { get; set; }
[Required(ErrorMessage = "用户名不能为空")]
public string UserName { get; set; }
[Required(ErrorMessage = "邮箱不能为空")]
[EmailAddress(ErrorMessage = "邮箱格式不正确")]
public string Email { get; set; }
[Required(ErrorMessage = "角色不能为空")]
public string Role { get; set; }
}

View File

@@ -0,0 +1,10 @@
namespace Foxel.Models.Response.User;
public class UserResponse
{
public int Id { get; set; }
public string UserName { get; set; }
public string Email { get; set; }
public string Role { get; set; }
public DateTime CreatedAt { get; set; }
}

View File

@@ -4,7 +4,7 @@ using Microsoft.Extensions.VectorData;
public class PictureVector
{
[VectorStoreKey] public int Id { get; set; }
[VectorStoreKey] public ulong Id { get; set; }
[VectorStoreData] public string? Name { get; set; }
[VectorStoreVector(Dimensions: 1024, DistanceFunction = DistanceFunction.CosineSimilarity)]