From 09c8c45afc3ca12f7cd6c0e53d74e4a2107c4a43 Mon Sep 17 00:00:00 2001 From: James Ketrenos Date: Fri, 2 May 2025 17:29:09 -0700 Subject: [PATCH] Cleaning up import orders --- src/utils/agents/base.py | 14 ++++++++------ src/utils/agents/resume.py | 10 ++-------- src/utils/agents/types.py | 6 +----- 3 files changed, 11 insertions(+), 19 deletions(-) diff --git a/src/utils/agents/base.py b/src/utils/agents/base.py index b6c4729..ce3a838 100644 --- a/src/utils/agents/base.py +++ b/src/utils/agents/base.py @@ -10,7 +10,7 @@ from .. import defines from abc import ABC import logging from .. message import Message -from .. import tools as Tools +from .. tools import ( TickerValue, WeatherForecast, AnalyzeSite, DateTime, llm_tools ) # type: ignore -- dynamically added to __all__ import json import time import inspect @@ -191,7 +191,7 @@ class Agent(BaseModel, ABC): if not ticker: ret = None else: - ret = Tools.TickerValue(ticker) + ret = TickerValue(ticker) case "AnalyzeSite": url = arguments.get("url") @@ -200,11 +200,11 @@ class Agent(BaseModel, ABC): # Additional status update for long-running operations message.response = f"Retrieving and summarizing content from {url}..." yield message - ret = await Tools.AnalyzeSite(llm=llm, model=model, url=url, question=question) + ret = await AnalyzeSite(llm=llm, model=model, url=url, question=question) case "DateTime": tz = arguments.get("timezone") - ret = Tools.DateTime(tz) + ret = DateTime(tz) case "WeatherForecast": city = arguments.get("city") @@ -212,7 +212,7 @@ class Agent(BaseModel, ABC): message.response = f"Fetching weather data for {city}, {state}..." yield message - ret = Tools.WeatherForecast(city, state) + ret = WeatherForecast(city, state) case _: ret = None @@ -247,6 +247,8 @@ class Agent(BaseModel, ABC): messages.extend(tool_metadata["tool_calls"]) message.status = "thinking" + message.response = "Incorporating tool results into response..." + yield message # Decrease creativity when processing tool call requests message.response = "" @@ -307,7 +309,7 @@ class Agent(BaseModel, ABC): use_tools = message.enable_tools and len(self.context.tools) > 0 message.metadata["tools"] = { - "available": Tools.llm_tools(self.context.tools), + "available": llm_tools(self.context.tools), "used": False } tool_metadata = message.metadata["tools"] diff --git a/src/utils/agents/resume.py b/src/utils/agents/resume.py index 49279b5..a3a9107 100644 --- a/src/utils/agents/resume.py +++ b/src/utils/agents/resume.py @@ -1,12 +1,6 @@ -from pydantic import BaseModel, Field, model_validator, PrivateAttr # type: ignore -from typing import Literal, TypeAlias, get_args, List, Generator, Iterator, AsyncGenerator, TYPE_CHECKING, Optional, ClassVar -from typing_extensions import Annotated -from abc import ABC, abstractmethod -from typing_extensions import Annotated -import logging +from pydantic import model_validator # type: ignore +from typing import Literal, Optional, ClassVar from .base import Agent, registry -from .. conversation import Conversation -from .. message import Message class Resume(Agent): agent_type: Literal["resume"] = "resume" # type: ignore diff --git a/src/utils/agents/types.py b/src/utils/agents/types.py index 1c1efdb..300765c 100644 --- a/src/utils/agents/types.py +++ b/src/utils/agents/types.py @@ -1,9 +1,5 @@ from __future__ import annotations -from typing import List, Dict, ForwardRef, Optional, Type - -# Forward references -# AgentRef = ForwardRef('Agent') -# ContextRef = ForwardRef('Context') +from typing import List, Dict, Optional, Type # We'll use a registry pattern rather than hardcoded strings class AgentRegistry: