| 1234567891011121314151617181920212223242526 | 
							- from typing import Optional
 
- from sqlalchemy import Column
 
- from sqlmodel import Field, JSON
 
- from app.models.base_model import BaseModel, TimeStampMixin, PrimaryKeyMixin
 
- from app.models.message import MessageCreate
 
- class Thread(BaseModel, PrimaryKeyMixin, TimeStampMixin, table=True):
 
-     object: str = Field(nullable=False, default="thread")
 
-     metadata_: Optional[dict] = Field(default=None, sa_column=Column("metadata", JSON), schema_extra={"validation_alias": "metadata"})
 
-     tool_resources: Optional[dict] = Field(default=None, sa_column=Column(JSON))  # 工具资源
 
- class ThreadCreate(BaseModel):
 
-     object: str = "thread"
 
-     messages: Optional[list[MessageCreate]] = Field(default=None)
 
-     metadata_: Optional[dict] = Field(default=None, schema_extra={"validation_alias": "metadata"})
 
-     thread_id: Optional[str] = Field(default=None)
 
-     end_message_id: Optional[str] = Field(default=None)
 
-     tool_resources: Optional[dict] = Field(default=None, sa_column=Column(JSON))  # 工具资源
 
- class ThreadUpdate(BaseModel):
 
-     metadata_: Optional[dict] = Field(default=None, schema_extra={"validation_alias": "metadata"})
 
 
  |