Skip to content

Commit

Permalink
fix type issues
Browse files Browse the repository at this point in the history
  • Loading branch information
Pwuts committed Jun 8, 2024
1 parent e264bf7 commit 253231c
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 10 deletions.
10 changes: 7 additions & 3 deletions autogpt/autogpt/agents/agent.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@
from forge.components.watchdog import WatchdogComponent
from forge.components.web import WebSearchComponent, WebSeleniumComponent
from forge.file_storage.base import FileStorage
from forge.llm.prompting import PromptStrategy
from forge.llm.prompting.schema import ChatPrompt
from forge.llm.prompting.utils import dump_prompt
from forge.llm.providers import (
Expand Down Expand Up @@ -64,7 +63,10 @@
)

from .prompt_strategies.code_flow import CodeFlowAgentPromptStrategy
from .prompt_strategies.one_shot import OneShotAgentActionProposal
from .prompt_strategies.one_shot import (
OneShotAgentActionProposal,
OneShotAgentPromptStrategy,
)

if TYPE_CHECKING:
from forge.config.config import Config
Expand Down Expand Up @@ -101,7 +103,9 @@ def __init__(
llm_provider: MultiProvider,
file_storage: FileStorage,
legacy_config: Config,
prompt_strategy_class: type[PromptStrategy] = CodeFlowAgentPromptStrategy,
prompt_strategy_class: type[
OneShotAgentPromptStrategy | CodeFlowAgentPromptStrategy
] = CodeFlowAgentPromptStrategy,
):
super().__init__(settings)

Expand Down
11 changes: 6 additions & 5 deletions autogpt/autogpt/agents/prompt_strategies/code_flow.py
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,7 @@ def build_system_prompt(

def response_format_instruction(self) -> tuple[str, str]:
response_schema = self.response_schema.copy(deep=True)
assert response_schema.properties

# Unindent for performance
response_format = re.sub(
Expand Down Expand Up @@ -295,15 +296,15 @@ async def parse_response_content(
).validate_code(parsed_response.python_code)

# TODO: prevent combining finish with other functions
if re.search(r"finish\((.*?)\)", code_validation.functionCode):
finish_reason = re.search(
r"finish\((reason=)?(.*?)\)", code_validation.functionCode
).group(2)
if _finish_call := re.search(
r"finish\((reason=)?(.*?)\)", code_validation.functionCode
):
finish_reason = _finish_call.group(2)[1:-1] # remove quotes
result = OneShotAgentActionProposal(
thoughts=parsed_response.thoughts,
use_tool=AssistantFunctionCall(
name="finish",
arguments={"reason": finish_reason[1:-1]},
arguments={"reason": finish_reason},
),
)
else:
Expand Down
2 changes: 1 addition & 1 deletion forge/forge/command/command.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ def __init__(
self,
names: list[str],
description: str,
method: Callable[P, CO] | Callable[Concatenate[CommandProvider, P], CO],
method: Callable[Concatenate[CommandProvider, P], CO] | Callable[P, CO],
parameters: list[CommandParameter],
):
self.names = names
Expand Down
2 changes: 1 addition & 1 deletion forge/forge/command/decorator.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ def command(
description: Optional[str] = None,
parameters: Optional[dict[str, JSONSchema]] = None,
) -> Callable[
[Callable[P, CO] | Callable[Concatenate[CommandProvider, P], CO]], Command[P, CO]
[Callable[Concatenate[CommandProvider, P], CO] | Callable[P, CO]], Command[P, CO]
]:
"""
Make a `Command` from a function or a method on a `CommandProvider`.
Expand Down

0 comments on commit 253231c

Please sign in to comment.