123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- from collections.abc import Sequence
- from enum import Enum
- from pydantic import BaseModel, Field
- from core.workflow.nodes.base import BaseNodeData
- class AnswerNodeData(BaseNodeData):
- """
- Answer Node Data.
- """
- answer: str = Field(..., description="answer template string")
- class GenerateRouteChunk(BaseModel):
- """
- Generate Route Chunk.
- """
- class ChunkType(Enum):
- VAR = "var"
- TEXT = "text"
- type: ChunkType = Field(..., description="generate route chunk type")
- class VarGenerateRouteChunk(GenerateRouteChunk):
- """
- Var Generate Route Chunk.
- """
- type: GenerateRouteChunk.ChunkType = GenerateRouteChunk.ChunkType.VAR
- """generate route chunk type"""
- value_selector: Sequence[str] = Field(..., description="value selector")
- class TextGenerateRouteChunk(GenerateRouteChunk):
- """
- Text Generate Route Chunk.
- """
- type: GenerateRouteChunk.ChunkType = GenerateRouteChunk.ChunkType.TEXT
- """generate route chunk type"""
- text: str = Field(..., description="text")
- class AnswerNodeDoubleLink(BaseModel):
- node_id: str = Field(..., description="node id")
- source_node_ids: list[str] = Field(..., description="source node ids")
- target_node_ids: list[str] = Field(..., description="target node ids")
- class AnswerStreamGenerateRoute(BaseModel):
- """
- AnswerStreamGenerateRoute entity
- """
- answer_dependencies: dict[str, list[str]] = Field(
- ..., description="answer dependencies (answer node id -> dependent answer node ids)"
- )
- answer_generate_route: dict[str, list[GenerateRouteChunk]] = Field(
- ..., description="answer generate route (answer node id -> generate route chunks)"
- )
|