feat: add rag backend and review access fixes
This commit is contained in:
@@ -8,6 +8,11 @@ from fastapi_modules.fastapi_leaudit.models.leauditCrossReviewTask import Leaudi
|
||||
from fastapi_modules.fastapi_leaudit.models.leauditCrossReviewTaskDocument import LeauditCrossReviewTaskDocument
|
||||
from fastapi_modules.fastapi_leaudit.models.leauditCrossReviewTaskMember import LeauditCrossReviewTaskMember
|
||||
from fastapi_modules.fastapi_leaudit.models.leauditCrossReviewVote import LeauditCrossReviewVote
|
||||
from fastapi_modules.fastapi_leaudit.models.leauditRagDataset import LeauditRagDataset
|
||||
from fastapi_modules.fastapi_leaudit.models.leauditRagDocument import LeauditRagDocument
|
||||
from fastapi_modules.fastapi_leaudit.models.leauditRagChatApp import LeauditRagChatApp
|
||||
from fastapi_modules.fastapi_leaudit.models.leauditRagConversation import LeauditRagConversation
|
||||
from fastapi_modules.fastapi_leaudit.models.leauditRagMessage import LeauditRagMessage
|
||||
|
||||
__all__ = [
|
||||
"LeauditDocument",
|
||||
@@ -18,4 +23,9 @@ __all__ = [
|
||||
"LeauditCrossReviewTaskDocument",
|
||||
"LeauditCrossReviewProposal",
|
||||
"LeauditCrossReviewVote",
|
||||
"LeauditRagDataset",
|
||||
"LeauditRagDocument",
|
||||
"LeauditRagChatApp",
|
||||
"LeauditRagConversation",
|
||||
"LeauditRagMessage",
|
||||
]
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from sqlalchemy import BigInteger, Boolean, Float, Integer, String, Text
|
||||
from sqlalchemy.orm import Mapped, mapped_column
|
||||
|
||||
from fastapi_common.fastapi_common_web.models import BaseModel
|
||||
|
||||
|
||||
class LeauditRagChatApp(BaseModel):
|
||||
__tablename__ = "rag_chat_app"
|
||||
|
||||
Id: Mapped[int] = mapped_column("id", BigInteger, primary_key=True, autoincrement=True)
|
||||
name: Mapped[str] = mapped_column(String(255))
|
||||
description: Mapped[str] = mapped_column(Text, default="")
|
||||
area: Mapped[str] = mapped_column(String(50), default="")
|
||||
datasetId: Mapped[int | None] = mapped_column("dataset_id", BigInteger)
|
||||
systemPrompt: Mapped[str] = mapped_column("system_prompt", Text, default="")
|
||||
llmModel: Mapped[str] = mapped_column("llm_model", String(100), default="")
|
||||
temperature: Mapped[float] = mapped_column(Float, default=0.3)
|
||||
maxTokens: Mapped[int] = mapped_column("max_tokens", Integer, default=2048)
|
||||
openingStatement: Mapped[str] = mapped_column("opening_statement", Text, default="")
|
||||
suggestedQuestions: Mapped[str] = mapped_column("suggested_questions", Text, default="[]")
|
||||
isDefault: Mapped[bool] = mapped_column("is_default", Boolean, default=False)
|
||||
sortOrder: Mapped[int] = mapped_column("sort_order", Integer, default=0)
|
||||
status: Mapped[int] = mapped_column(Integer, default=1)
|
||||
createdBy: Mapped[int | None] = mapped_column("created_by", BigInteger)
|
||||
updatedBy: Mapped[int | None] = mapped_column("updated_by", BigInteger)
|
||||
@@ -0,0 +1,17 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from sqlalchemy import BigInteger, String, Text
|
||||
from sqlalchemy.orm import Mapped, mapped_column
|
||||
|
||||
from fastapi_common.fastapi_common_web.models import BaseModel
|
||||
|
||||
|
||||
class LeauditRagConversation(BaseModel):
|
||||
__tablename__ = "rag_conversation"
|
||||
|
||||
Id: Mapped[int] = mapped_column("id", BigInteger, primary_key=True, autoincrement=True)
|
||||
conversationId: Mapped[str] = mapped_column("conversation_id", String(100), unique=True)
|
||||
userId: Mapped[int] = mapped_column("user_id", BigInteger)
|
||||
appId: Mapped[int | None] = mapped_column("app_id", BigInteger)
|
||||
name: Mapped[str] = mapped_column(String(500), default="新对话")
|
||||
introduction: Mapped[str] = mapped_column(Text, default="")
|
||||
@@ -0,0 +1,30 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from sqlalchemy import BigInteger, Boolean, Integer, String, Text
|
||||
from sqlalchemy.dialects.postgresql import JSONB
|
||||
from sqlalchemy.orm import Mapped, mapped_column
|
||||
|
||||
from fastapi_common.fastapi_common_web.models import BaseModel
|
||||
|
||||
|
||||
class LeauditRagDataset(BaseModel):
|
||||
__tablename__ = "rag_dataset"
|
||||
|
||||
Id: Mapped[int] = mapped_column("id", BigInteger, primary_key=True, autoincrement=True)
|
||||
name: Mapped[str] = mapped_column(String(255), comment="知识库名称")
|
||||
description: Mapped[str] = mapped_column(Text, default="", comment="知识库描述")
|
||||
area: Mapped[str] = mapped_column(String(50), default="", comment="地区")
|
||||
isPublic: Mapped[bool] = mapped_column("is_public", Boolean, default=False)
|
||||
isDefault: Mapped[bool] = mapped_column("is_default", Boolean, default=False)
|
||||
collectionName: Mapped[str] = mapped_column("collection_name", String(100), unique=True)
|
||||
embeddingModel: Mapped[str] = mapped_column("embedding_model", String(100), default="text-embedding-v4")
|
||||
embeddingDim: Mapped[int] = mapped_column("embedding_dim", Integer, default=1024)
|
||||
chunkMaxSize: Mapped[int] = mapped_column("chunk_max_size", Integer, default=800)
|
||||
chunkMinSize: Mapped[int] = mapped_column("chunk_min_size", Integer, default=20)
|
||||
documentCount: Mapped[int] = mapped_column("document_count", Integer, default=0)
|
||||
totalChunks: Mapped[int] = mapped_column("total_chunks", Integer, default=0)
|
||||
retrievalModel: Mapped[dict] = mapped_column("retrieval_model", JSONB, default=dict)
|
||||
sortOrder: Mapped[int] = mapped_column("sort_order", Integer, default=0)
|
||||
status: Mapped[int] = mapped_column(Integer, default=1)
|
||||
createdBy: Mapped[int | None] = mapped_column("created_by", BigInteger)
|
||||
updatedBy: Mapped[int | None] = mapped_column("updated_by", BigInteger)
|
||||
@@ -0,0 +1,24 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from sqlalchemy import BigInteger, Boolean, Integer, String, Text
|
||||
from sqlalchemy.orm import Mapped, mapped_column
|
||||
|
||||
from fastapi_common.fastapi_common_web.models import BaseModel
|
||||
|
||||
|
||||
class LeauditRagDocument(BaseModel):
|
||||
__tablename__ = "rag_document"
|
||||
|
||||
Id: Mapped[int] = mapped_column("id", BigInteger, primary_key=True, autoincrement=True)
|
||||
datasetId: Mapped[int] = mapped_column("dataset_id", BigInteger)
|
||||
filename: Mapped[str] = mapped_column(String(500))
|
||||
originalName: Mapped[str] = mapped_column("original_name", String(500))
|
||||
minioPath: Mapped[str] = mapped_column("minio_path", String(1000))
|
||||
fileType: Mapped[str] = mapped_column("file_type", String(20))
|
||||
fileSize: Mapped[int] = mapped_column("file_size", BigInteger, default=0)
|
||||
chunkCount: Mapped[int] = mapped_column("chunk_count", Integer, default=0)
|
||||
indexingStatus: Mapped[str] = mapped_column("indexing_status", String(20), default="pending")
|
||||
indexingError: Mapped[str | None] = mapped_column("indexing_error", Text)
|
||||
enabled: Mapped[bool] = mapped_column(Boolean, default=True)
|
||||
hitCount: Mapped[int] = mapped_column("hit_count", Integer, default=0)
|
||||
createdBy: Mapped[int | None] = mapped_column("created_by", BigInteger)
|
||||
@@ -0,0 +1,20 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from sqlalchemy import BigInteger, String, Text
|
||||
from sqlalchemy.dialects.postgresql import JSONB
|
||||
from sqlalchemy.orm import Mapped, mapped_column
|
||||
|
||||
from fastapi_common.fastapi_common_web.models import BaseModel
|
||||
|
||||
|
||||
class LeauditRagMessage(BaseModel):
|
||||
__tablename__ = "rag_message"
|
||||
|
||||
Id: Mapped[int] = mapped_column("id", BigInteger, primary_key=True, autoincrement=True)
|
||||
messageId: Mapped[str] = mapped_column("message_id", String(100), unique=True)
|
||||
conversationId: Mapped[str] = mapped_column("conversation_id", String(100))
|
||||
role: Mapped[str] = mapped_column(String(20))
|
||||
content: Mapped[str] = mapped_column(Text, default="")
|
||||
sources: Mapped[list] = mapped_column(JSONB, default=list)
|
||||
metadataJson: Mapped[dict] = mapped_column("metadata", JSONB, default=dict)
|
||||
feedback: Mapped[str | None] = mapped_column(String(20))
|
||||
Reference in New Issue
Block a user