forked from Archives/langchain
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.1 KiB
Python
55 lines
1.1 KiB
Python
from datetime import datetime
|
|
from typing import Any, Dict, List, Optional
|
|
from uuid import UUID
|
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
from langchain.callbacks.tracers.schemas import Run
|
|
|
|
|
|
class ExampleBase(BaseModel):
|
|
"""Example base model."""
|
|
|
|
dataset_id: UUID
|
|
inputs: Dict[str, Any]
|
|
outputs: Optional[Dict[str, Any]] = Field(default=None)
|
|
|
|
|
|
class ExampleCreate(ExampleBase):
|
|
"""Example create model."""
|
|
|
|
id: Optional[UUID]
|
|
created_at: datetime = Field(default_factory=datetime.utcnow)
|
|
|
|
|
|
class Example(ExampleBase):
|
|
"""Example model."""
|
|
|
|
id: UUID
|
|
created_at: datetime
|
|
modified_at: Optional[datetime] = Field(default=None)
|
|
runs: List[Run] = Field(default_factory=list)
|
|
|
|
|
|
class DatasetBase(BaseModel):
|
|
"""Dataset base model."""
|
|
|
|
tenant_id: UUID
|
|
name: str
|
|
description: str
|
|
|
|
|
|
class DatasetCreate(DatasetBase):
|
|
"""Dataset create model."""
|
|
|
|
id: Optional[UUID]
|
|
created_at: datetime = Field(default_factory=datetime.utcnow)
|
|
|
|
|
|
class Dataset(DatasetBase):
|
|
"""Dataset ORM model."""
|
|
|
|
id: UUID
|
|
created_at: datetime
|
|
modified_at: Optional[datetime] = Field(default=None)
|