Spaces:
Runtime error
Runtime error
| from abc import ABC, abstractmethod | |
| from typing import Optional | |
| from pydantic import Field | |
| from app.agent.base import BaseAgent | |
| from app.llm import LLM | |
| from app.schema import AgentState, Memory | |
| class ReActAgent(BaseAgent, ABC): | |
| name: str | |
| description: Optional[str] = None | |
| system_prompt: Optional[str] = None | |
| next_step_prompt: Optional[str] = None | |
| llm: Optional[LLM] = Field(default_factory=LLM) | |
| memory: Memory = Field(default_factory=Memory) | |
| state: AgentState = AgentState.IDLE | |
| max_steps: int = 10 | |
| current_step: int = 0 | |
| async def think(self) -> bool: | |
| """Process current state and decide next action""" | |
| async def act(self) -> str: | |
| """Execute decided actions""" | |
| async def step(self) -> str: | |
| """Execute a single step: think and act.""" | |
| should_act = await self.think() | |
| if not should_act: | |
| return "Thinking complete - no action needed" | |
| return await self.act() | |