pre merge con phil

This commit is contained in:
Simone Garau
2025-09-30 12:11:10 +02:00
parent dfca44c9d5
commit fb38aef790
7 changed files with 45 additions and 10 deletions

View File

@@ -0,0 +1,35 @@
from agno.agent import Agent
from src.app.toolkits.market_toolkit import MarketToolkit
class MarketAgent(Agent):
"""
Wrapper che trasforma MarketToolkit in un Agent compatibile con Team.
Espone un metodo run(query) che restituisce dati di mercato.
"""
def __init__(self, currency: str = "USD"):
self.toolkit = MarketToolkit()
self.currency = currency
self.name = "MarketAgent"
def run(self, query: str) -> str:
# Heuristica semplice: se la query cita simboli specifici, recupera quelli
symbols = []
for token in query.upper().split():
if token in ("BTC", "ETH", "XRP", "LTC", "BCH"): # TODO: estendere dinamicamente
symbols.append(token)
if not symbols:
symbols = ["BTC", "ETH"] # default
results = []
for sym in symbols:
try:
price = self.toolkit.get_current_price(sym)
results.append(f"{sym}: {price}")
except Exception as e:
results.append(f"{sym}: errore ({e})")
return "📊 Dati di mercato:\n" + "\n".join(results)

View File

@@ -1,11 +1,11 @@
from app.agents.news_agent import NewsAgent
from app.agents.social_agent import SocialAgent
from app.agents.predictor import PredictorStyle, PredictorInput, PredictorOutput, PREDICTOR_INSTRUCTIONS
from app.predictor import PredictorStyle, PredictorInput, PredictorOutput, PREDICTOR_INSTRUCTIONS
from app.markets import MarketAPIs
from app.models import AppModels
from agno.utils.log import log_info
class ToolAgent:
class Pipeline:
"""
Classe principale che coordina gli agenti per rispondere alle richieste dell'utente.
"""

View File