Exporting class from the sdk

This commit is contained in:
SwiftyOS
2023-08-30 12:56:05 +02:00
parent 87c6874a54
commit 7a933cacb7
9 changed files with 37 additions and 21 deletions

View File

@@ -10,7 +10,7 @@ ENABLE_TRACING = os.environ.get("ENABLE_TRACING", "false").lower() == "true"
autogpt.sdk.forge_log.setup_logger()
LOG = autogpt.sdk.forge_log.CustomLogger(__name__)
LOG = autogpt.sdk.forge_log.ForgeLogger(__name__)
if __name__ == "__main__":
"""Runs the agent server"""

View File

@@ -1,10 +1,7 @@
import autogpt.sdk.agent
from autogpt.sdk.db import AgentDB
from autogpt.sdk.schema import Step, StepRequestBody
from autogpt.sdk.workspace import Workspace
from autogpt.sdk import Agent, AgentDB, Step, StepRequestBody, Workspace
class AutoGPTAgent(autogpt.sdk.agent.Agent):
class AutoGPTAgent(Agent):
"""
The goal of the Forge is to take care of the boilerplate code so you can focus on
agent design.

View File

@@ -0,0 +1,24 @@
"""
The Forge SDK. This is the core of the Forge. It contains the agent protocol, which is the
core of the Forge.
"""
from .agent import Agent
from .db import AgentDB
from .forge_log import ForgeLogger
from .schema import (
Artifact,
ArtifactUpload,
Pagination,
Status,
Step,
StepInput,
StepOutput,
StepRequestBody,
Task,
TaskArtifactsListResponse,
TaskInput,
TaskListResponse,
TaskRequestBody,
TaskStepsListResponse,
)
from .workspace import LocalWorkspace, Workspace

View File

@@ -10,14 +10,14 @@ from prometheus_fastapi_instrumentator import Instrumentator
from .db import AgentDB
from .errors import NotFoundError
from .forge_log import CustomLogger
from .forge_log import ForgeLogger
from .middlewares import AgentMiddleware
from .routes.agent_protocol import base_router
from .schema import *
from .tracing import setup_tracing
from .workspace import Workspace
LOG = CustomLogger(__name__)
LOG = ForgeLogger(__name__)
class Agent:

View File

@@ -22,10 +22,10 @@ from sqlalchemy.exc import SQLAlchemyError
from sqlalchemy.orm import DeclarativeBase, joinedload, relationship, sessionmaker
from .errors import NotFoundError
from .forge_log import CustomLogger
from .forge_log import ForgeLogger
from .schema import Artifact, Pagination, Status, Step, StepRequestBody, Task, TaskInput
LOG = CustomLogger(__name__)
LOG = ForgeLogger(__name__)
class Base(DeclarativeBase):

View File

@@ -101,7 +101,7 @@ class ConsoleFormatter(logging.Formatter):
return logging.Formatter.format(self, rec)
class CustomLogger(logging.Logger):
class ForgeLogger(logging.Logger):
"""
This adds extra logging functions such as logger.trade and also
sets the logger to use the custom formatter
@@ -173,7 +173,7 @@ logging_config: dict = dict(
formatters={
"console": {
"()": ConsoleFormatter,
"format": CustomLogger.COLOR_FORMAT,
"format": ForgeLogger.COLOR_FORMAT,
},
},
handlers={

View File

@@ -29,13 +29,13 @@ from fastapi import APIRouter, Query, Request, Response, UploadFile
from fastapi.responses import FileResponse
from autogpt.sdk.errors import *
from autogpt.sdk.forge_log import CustomLogger
from autogpt.sdk.forge_log import ForgeLogger
from autogpt.sdk.schema import *
from autogpt.sdk.tracing import tracing
base_router = APIRouter()
LOG = CustomLogger(__name__)
LOG = ForgeLogger(__name__)
@base_router.get("/", tags=["root"])

View File

@@ -174,11 +174,6 @@ class Step(StepRequestBody):
)
class AgentTasksTaskIdArtifactsPostRequest(BaseModel):
file: Optional[bytes] = Field(None, description="File to upload.")
uri: Optional[str] = Field(None, description="URI of the artifact.")
class TaskListResponse(BaseModel):
tasks: Optional[List[Task]] = None
pagination: Optional[Pagination] = None

View File

@@ -3,13 +3,13 @@ from functools import wraps
from dotenv import load_dotenv
from autogpt.sdk.forge_log import CustomLogger
from autogpt.sdk.forge_log import ForgeLogger
load_dotenv()
ENABLE_TRACING = os.environ.get("ENABLE_TRACING", "false").lower() == "true"
LOG = CustomLogger(__name__)
LOG = ForgeLogger(__name__)
def setup_tracing(app):