diff --git a/api/models/model.py b/api/models/model.py index 81900dc8a4..b052978e5a 100644 --- a/api/models/model.py +++ b/api/models/model.py @@ -1843,37 +1843,39 @@ class MessageAgentThought(TypeBase): sa.Index("message_agent_thought_message_chain_id_idx", "message_chain_id"), ) - id: Mapped[str] = mapped_column(StringUUID, default=lambda: str(uuid4())) + id: Mapped[str] = mapped_column( + StringUUID, insert_default=lambda: str(uuid4()), default_factory=lambda: str(uuid4()), init=False + ) message_id: Mapped[str] = mapped_column(StringUUID, nullable=False) - message_chain_id: Mapped[str | None] = mapped_column(StringUUID, nullable=True) position: Mapped[int] = mapped_column(sa.Integer, nullable=False) - thought: Mapped[str | None] = mapped_column(LongText, nullable=True) - tool: Mapped[str | None] = mapped_column(LongText, nullable=True) - tool_labels_str: Mapped[str] = mapped_column(LongText, nullable=False, default=sa.text("'{}'")) - tool_meta_str: Mapped[str] = mapped_column(LongText, nullable=False, default=sa.text("'{}'")) - tool_input: Mapped[str | None] = mapped_column(LongText, nullable=True) - observation: Mapped[str | None] = mapped_column(LongText, nullable=True) - # plugin_id = mapped_column(StringUUID, nullable=True) ## for future design - tool_process_data: Mapped[str | None] = mapped_column(LongText, nullable=True) - message: Mapped[str | None] = mapped_column(LongText, nullable=True) - message_token: Mapped[int | None] = mapped_column(sa.Integer, nullable=True) - message_unit_price: Mapped[Decimal | None] = mapped_column(sa.Numeric, nullable=True) - message_price_unit: Mapped[Decimal] = mapped_column( - sa.Numeric(10, 7), nullable=False, server_default=sa.text("0.001") - ) - message_files: Mapped[str | None] = mapped_column(LongText, nullable=True) - answer: Mapped[str | None] = mapped_column(LongText, nullable=True) - answer_token: Mapped[int | None] = mapped_column(sa.Integer, nullable=True) - answer_unit_price: Mapped[Decimal | None] = mapped_column(sa.Numeric, nullable=True) - answer_price_unit: Mapped[Decimal] = mapped_column( - sa.Numeric(10, 7), nullable=False, server_default=sa.text("0.001") - ) - tokens: Mapped[int | None] = mapped_column(sa.Integer, nullable=True) - total_price: Mapped[Decimal | None] = mapped_column(sa.Numeric, nullable=True) - currency: Mapped[str | None] = mapped_column(String(255), nullable=True) - latency: Mapped[float | None] = mapped_column(sa.Float, nullable=True) created_by_role: Mapped[str] = mapped_column(String(255), nullable=False) created_by: Mapped[str] = mapped_column(StringUUID, nullable=False) + message_chain_id: Mapped[str | None] = mapped_column(StringUUID, nullable=True, default=None) + thought: Mapped[str | None] = mapped_column(LongText, nullable=True, default=None) + tool: Mapped[str | None] = mapped_column(LongText, nullable=True, default=None) + tool_labels_str: Mapped[str] = mapped_column(LongText, nullable=False, default=sa.text("'{}'")) + tool_meta_str: Mapped[str] = mapped_column(LongText, nullable=False, default=sa.text("'{}'")) + tool_input: Mapped[str | None] = mapped_column(LongText, nullable=True, default=None) + observation: Mapped[str | None] = mapped_column(LongText, nullable=True, default=None) + # plugin_id = mapped_column(StringUUID, nullable=True) ## for future design + tool_process_data: Mapped[str | None] = mapped_column(LongText, nullable=True, default=None) + message: Mapped[str | None] = mapped_column(LongText, nullable=True, default=None) + message_token: Mapped[int | None] = mapped_column(sa.Integer, nullable=True, default=None) + message_unit_price: Mapped[Decimal | None] = mapped_column(sa.Numeric, nullable=True, default=None) + message_price_unit: Mapped[Decimal] = mapped_column( + sa.Numeric(10, 7), nullable=False, default=Decimal("0.001"), server_default=sa.text("0.001") + ) + message_files: Mapped[str | None] = mapped_column(LongText, nullable=True, default=None) + answer: Mapped[str | None] = mapped_column(LongText, nullable=True, default=None) + answer_token: Mapped[int | None] = mapped_column(sa.Integer, nullable=True, default=None) + answer_unit_price: Mapped[Decimal | None] = mapped_column(sa.Numeric, nullable=True, default=None) + answer_price_unit: Mapped[Decimal] = mapped_column( + sa.Numeric(10, 7), nullable=False, default=Decimal("0.001"), server_default=sa.text("0.001") + ) + tokens: Mapped[int | None] = mapped_column(sa.Integer, nullable=True, default=None) + total_price: Mapped[Decimal | None] = mapped_column(sa.Numeric, nullable=True, default=None) + currency: Mapped[str | None] = mapped_column(String(255), nullable=True, default=None) + latency: Mapped[float | None] = mapped_column(sa.Float, nullable=True, default=None) created_at: Mapped[datetime] = mapped_column( sa.DateTime, nullable=False, init=False, server_default=sa.func.current_timestamp() )