向宁 67b030c3c5 feat: add AI chat, RAG Q&A, knowledge base, embeddings, document processing
- AI chat with SSE streaming (Microsoft Agent Framework + Qwen)
- RAG Q&A with hybrid retrieval (vector + keyword RRF fusion)
- Knowledge base CRUD with semantic text chunking
- Embedding generation via Azure.AI.OpenAI / LM Studio
- Document upload with chunked upload support
- Redis caching for chat messages
- Chunk/vector preview endpoints
- gRPC auth service improvements
- Removed demo menus, cleaned up seed data
2026-05-20 20:28:15 +08:00

33 lines
1.0 KiB
C#

using RAG.Domain.Common;
using RAG.Domain.Enums;
namespace RAG.Domain.Entities;
public class Document : BaseEntity, IFullAudit
{
public Guid KnowledgeBaseId { get; set; }
public string Title { get; set; } = default!;
public string FileName { get; set; } = default!;
public string FilePath { get; set; } = default!;
public long FileSize { get; set; }
public string ContentType { get; set; } = default!;
public int ChunkCount { get; set; }
public DocumentStatus Status { get; set; } = DocumentStatus.Pending;
// IAuditable
public string CreatedBy { get; set; } = default!;
public DateTime CreatedAt { get; set; }
public string UpdatedBy { get; set; } = default!;
public DateTime UpdatedAt { get; set; }
// ISoftDelete
public bool IsDeleted { get; set; }
// IHasOperatorIP
public string OperatorIP { get; set; } = default!;
// Navigation
public KnowledgeBase KnowledgeBase { get; set; } = default!;
public ICollection<DocumentChunk> Chunks { get; set; } = [];
}