Spaces:
Runtime error
Runtime error
"""Schemas for tracers.""" | |
from __future__ import annotations | |
import datetime | |
from typing import Any, Dict, List, Optional, Union | |
from pydantic import BaseModel, Field | |
from langchain.schema import LLMResult | |
class TracerSessionBase(BaseModel): | |
"""Base class for TracerSession.""" | |
start_time: datetime.datetime = Field(default_factory=datetime.datetime.utcnow) | |
name: Optional[str] = None | |
extra: Optional[Dict[str, Any]] = None | |
class TracerSessionCreate(TracerSessionBase): | |
"""Create class for TracerSession.""" | |
pass | |
class TracerSession(TracerSessionBase): | |
"""TracerSession schema.""" | |
id: int | |
class BaseRun(BaseModel): | |
"""Base class for Run.""" | |
id: Optional[Union[int, str]] = None | |
start_time: datetime.datetime = Field(default_factory=datetime.datetime.utcnow) | |
end_time: datetime.datetime = Field(default_factory=datetime.datetime.utcnow) | |
extra: Optional[Dict[str, Any]] = None | |
execution_order: int | |
serialized: Dict[str, Any] | |
session_id: int | |
error: Optional[str] = None | |
class LLMRun(BaseRun): | |
"""Class for LLMRun.""" | |
prompts: List[str] | |
response: Optional[LLMResult] = None | |
class ChainRun(BaseRun): | |
"""Class for ChainRun.""" | |
inputs: Dict[str, Any] | |
outputs: Optional[Dict[str, Any]] = None | |
child_llm_runs: List[LLMRun] = Field(default_factory=list) | |
child_chain_runs: List[ChainRun] = Field(default_factory=list) | |
child_tool_runs: List[ToolRun] = Field(default_factory=list) | |
child_runs: List[Union[LLMRun, ChainRun, ToolRun]] = Field(default_factory=list) | |
class ToolRun(BaseRun): | |
"""Class for ToolRun.""" | |
tool_input: str | |
output: Optional[str] = None | |
action: str | |
child_llm_runs: List[LLMRun] = Field(default_factory=list) | |
child_chain_runs: List[ChainRun] = Field(default_factory=list) | |
child_tool_runs: List[ToolRun] = Field(default_factory=list) | |
child_runs: List[Union[LLMRun, ChainRun, ToolRun]] = Field(default_factory=list) | |
ChainRun.update_forward_refs() | |
ToolRun.update_forward_refs() | |