aboutsummaryrefslogtreecommitdiff
path: root/autogpt/core/planning/schema.py
diff options
context:
space:
mode:
Diffstat (limited to 'autogpt/core/planning/schema.py')
-rw-r--r--autogpt/core/planning/schema.py76
1 files changed, 0 insertions, 76 deletions
diff --git a/autogpt/core/planning/schema.py b/autogpt/core/planning/schema.py
deleted file mode 100644
index 4c19ea4b6..000000000
--- a/autogpt/core/planning/schema.py
+++ /dev/null
@@ -1,76 +0,0 @@
-import enum
-
-from pydantic import BaseModel, Field
-
-from autogpt.core.ability.schema import AbilityResult
-from autogpt.core.resource.model_providers.schema import (
- LanguageModelFunction,
- LanguageModelMessage,
- LanguageModelProviderModelResponse,
-)
-
-
-class LanguageModelClassification(str, enum.Enum):
- """The LanguageModelClassification is a functional description of the model.
-
- This is used to determine what kind of model to use for a given prompt.
- Sometimes we prefer a faster or cheaper model to accomplish a task when
- possible.
-
- """
-
- FAST_MODEL: str = "fast_model"
- SMART_MODEL: str = "smart_model"
-
-
-class LanguageModelPrompt(BaseModel):
- messages: list[LanguageModelMessage]
- functions: list[LanguageModelFunction] = Field(default_factory=list)
-
- def __str__(self):
- return "\n\n".join([f"{m.role.value}: {m.content}" for m in self.messages])
-
-
-class LanguageModelResponse(LanguageModelProviderModelResponse):
- """Standard response struct for a response from a language model."""
-
-
-class TaskType(str, enum.Enum):
- RESEARCH: str = "research"
- WRITE: str = "write"
- EDIT: str = "edit"
- CODE: str = "code"
- DESIGN: str = "design"
- TEST: str = "test"
- PLAN: str = "plan"
-
-
-class TaskStatus(str, enum.Enum):
- BACKLOG: str = "backlog"
- READY: str = "ready"
- IN_PROGRESS: str = "in_progress"
- DONE: str = "done"
-
-
-class TaskContext(BaseModel):
- cycle_count: int = 0
- status: TaskStatus = TaskStatus.BACKLOG
- parent: "Task" = None
- prior_actions: list[AbilityResult] = Field(default_factory=list)
- memories: list = Field(default_factory=list)
- user_input: list[str] = Field(default_factory=list)
- supplementary_info: list[str] = Field(default_factory=list)
- enough_info: bool = False
-
-
-class Task(BaseModel):
- objective: str
- type: str # TaskType FIXME: gpt does not obey the enum parameter in its schema
- priority: int
- ready_criteria: list[str]
- acceptance_criteria: list[str]
- context: TaskContext = Field(default_factory=TaskContext)
-
-
-# Need to resolve the circular dependency between Task and TaskContext once both models are defined.
-TaskContext.update_forward_refs()