Files
bianchengshequ/backend/models/conversation.py

34 lines
1.3 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""对话模型 - 用于需求助手和架构助手"""
from sqlalchemy import Column, Integer, String, Text, DateTime, ForeignKey, Enum
from sqlalchemy.sql import func
from database import Base
import enum
class ConversationType(str, enum.Enum):
"""对话类型"""
REQUIREMENT = "requirement" # 需求理解
ARCHITECTURE = "architecture" # 架构选型
class Conversation(Base):
__tablename__ = "conversations"
id = Column(Integer, primary_key=True, index=True)
user_id = Column(Integer, ForeignKey("users.id"), nullable=False, index=True)
title = Column(String(200), default="新对话")
type = Column(String(20), nullable=False) # requirement / architecture
created_at = Column(DateTime(timezone=True), server_default=func.now())
updated_at = Column(DateTime(timezone=True), server_default=func.now(), onupdate=func.now())
class Message(Base):
__tablename__ = "messages"
id = Column(Integer, primary_key=True, index=True)
conversation_id = Column(Integer, ForeignKey("conversations.id"), nullable=False, index=True)
role = Column(String(20), nullable=False) # user / assistant
content = Column(Text, nullable=False)
image_urls = Column(Text, default="") # JSON数组存储图片路径
created_at = Column(DateTime(timezone=True), server_default=func.now())