1234567891011121314151617181920212223242526272829303132333435363738 |
- 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"}
- )
|