Spaces:
Sleeping
Sleeping
from typing import List, Optional | |
from pydantic import BaseModel, Field, conint, confloat | |
class PotentialValue(BaseModel): | |
"""A potential value within an exploration axis""" | |
value: str = Field(..., description="The specific value within the axis") | |
relevance_score: confloat(ge=0, le=100) = Field(..., description="Relevance score from 0-100") | |
contextual_rationale: str = Field(..., description="Explanation of the value's relevance") | |
class InnovativeValue(BaseModel): | |
"""An innovative value within an emergent axis""" | |
value: str = Field(..., description="The innovative value within the emergent axis") | |
innovation_score: confloat(ge=0, le=100) = Field(..., description="Innovation score from 0-100") | |
discovery_potential: str = Field(..., description="Description of potential discoveries") | |
class StandardAxis(BaseModel): | |
"""A standard exploration axis""" | |
name: str = Field(..., description="Name of the standard axis") | |
current_values: List[str] = Field(default_factory=list, description="Currently selected values") | |
potential_values: List[PotentialValue] = Field(..., description="Potential values for exploration") | |
axis_constraints: List[str] = Field(..., description="Constraints for this axis") | |
class EmergentAxis(BaseModel): | |
"""An emergent exploration axis""" | |
name: str = Field(..., description="Name of the emergent axis") | |
parent_axis: str = Field(..., description="Parent axis from which this emerged") | |
innovative_values: List[InnovativeValue] = Field(..., description="Innovative values for exploration") | |
class ZoomTrajectory(BaseModel): | |
"""A trajectory for zooming into specific aspects""" | |
target_axis: str = Field(..., description="Target axis for zooming") | |
zoom_value: str = Field(..., description="Specific value to zoom into") | |
unlocked_dimensions: List[str] = Field(..., description="New dimensions unlocked by zooming") | |
depth_increment: conint(ge=1, le=3) = Field(..., description="Depth increase (1-3)") | |
class DezoomPathway(BaseModel): | |
"""A pathway for zooming out to broader context""" | |
removal_tuple: dict = Field(..., description="Axis-value pair to remove") | |
contextual_expansion: str = Field(..., description="Description of broader context") | |
new_possibility_vectors: List[str] = Field(..., description="New possibilities unlocked") | |
class ExplorationSummary(BaseModel): | |
"""Summary of the current exploration state""" | |
current_context: str = Field(..., description="Current exploration context") | |
complexity_level: conint(ge=0, le=10) = Field(..., description="Complexity level (0-10)") | |
class KnowledgeAxes(BaseModel): | |
"""Collection of exploration axes""" | |
standard_axes: List[StandardAxis] = Field(..., description="Standard exploration axes") | |
emergent_axes: List[EmergentAxis] = Field(default_factory=list, description="Emergent exploration axes") | |
class NavigationStrategies(BaseModel): | |
"""Available navigation strategies""" | |
zoom_trajectories: List[ZoomTrajectory] = Field(..., description="Paths for deeper exploration") | |
dezoom_pathways: List[DezoomPathway] = Field(..., description="Paths for broader exploration") | |
class MetaInsights(BaseModel): | |
"""Meta-level insights about the exploration""" | |
exploration_efficiency: confloat(ge=0, le=100) = Field(..., description="Overall efficiency score") | |
knowledge_gap_indicators: List[str] = Field(..., description="Identified knowledge gaps") | |
recommended_next_steps: List[str] = Field(..., description="Recommended next steps") | |
class ExplorationResponse(BaseModel): | |
"""Complete exploration response structure""" | |
exploration_summary: ExplorationSummary = Field(..., description="Summary of exploration state") | |
knowledge_axes: KnowledgeAxes = Field(..., description="Exploration axes") | |
navigation_strategies: NavigationStrategies = Field(..., description="Navigation options") | |
meta_insights: MetaInsights = Field(..., description="Meta-level insights") |