Refactor Predictor and market data handling
- Added Predictor class with input preparation and instructions for financial strategy generation. - Removed PredictorAgent class and integrated its functionality into the new Predictor module. - Created a base market API wrapper and specific implementations for Coinbase and CryptoCompare. - Introduced PublicBinanceAgent for fetching public prices from Binance. - Refactored ToolAgent to utilize the new Predictor and market API wrappers for improved data handling and predictions. - Updated models to streamline the selection of available LLM providers. - Removed deprecated signer classes for Coinbase and CryptoCompare.
This commit is contained in:
29
src/app/markets/__init__.py
Normal file
29
src/app/markets/__init__.py
Normal file
@@ -0,0 +1,29 @@
|
||||
import os
|
||||
from app.markets.base import BaseWrapper
|
||||
from app.markets.coinbase import CoinBaseWrapper
|
||||
from app.markets.cryptocompare import CryptoCompareWrapper
|
||||
|
||||
# TODO Dare la priorità in base alla qualità del servizio
|
||||
# TODO Aggiungere altri wrapper se necessario
|
||||
def get_first_available_market_api(currency:str = "USD") -> BaseWrapper:
|
||||
"""
|
||||
Restituisce il primo wrapper disponibile in base alle configurazioni del file .env e alle chiavi API presenti.
|
||||
La priorità è data a Coinbase, poi a CryptoCompare.
|
||||
Se non sono presenti chiavi API, restituisce una eccezione.
|
||||
:param currency: Valuta di riferimento (default "USD")
|
||||
:return: Lista di istanze di wrapper
|
||||
"""
|
||||
wrappers = []
|
||||
|
||||
api_key = os.getenv("COINBASE_API_KEY")
|
||||
api_secret = os.getenv("COINBASE_API_SECRET")
|
||||
if api_key and api_secret:
|
||||
wrappers.append(CoinBaseWrapper(api_key=api_key, api_private_key=api_secret, currency=currency))
|
||||
|
||||
api_key = os.getenv("CRYPTOCOMPARE_API_KEY")
|
||||
if api_key:
|
||||
wrappers.append(CryptoCompareWrapper(api_key=api_key, currency=currency))
|
||||
|
||||
assert wrappers, "No valid API keys set in environment variables."
|
||||
return wrappers[0]
|
||||
|
||||
Reference in New Issue
Block a user