21 Commits

Author SHA1 Message Date
Nunzi99
6d0b816033 LLM Providers (#52)
* Refactor configs dei modelli
* Aggiunti Providers
* Update .env.example
* Xai Aggiunto ma commentato (problemi di dependency)
2025-10-27 21:07:30 +01:00
Giacomo Bertolazzi
6a9d8b354b Fix socials timestamp (#50)
* Fix Dockerfile per dipendenze di X
* time --> timestamp
* fix X command
2025-10-27 11:45:40 +00:00
Giacomo Bertolazzi
830d1933b1 Revert "Aggiungere LLM Providers (#48)" (#51)
This reverts commit 6ff2fcc2a7.
2025-10-26 16:56:21 +01:00
Nunzi99
6ff2fcc2a7 Aggiungere LLM Providers (#48)
* Refactor configs dei modelli
* Aggiunti Providers
2025-10-26 14:07:44 +01:00
Nunzi99
06c660b659 14 socials integration (#34)
* Create XWrapper.py & ChanWrapper.py
* Tests for in XWrapper & ChanWrapper
* MAX_COMMENTS in social.py
* Soddisfatto Giacomo
* unified_timestamp
2025-10-20 16:56:11 +02:00
Giacomo Bertolazzi
c96617a039 Telegram bot support (#23)
* Aggiungi supporto per il bot Telegram: aggiorna .env.example, pyproject.toml e uv.lock

* demo per bot Telegram con gestione comandi e inline keyboard

* Implementazione del bot Telegram con gestione dei comandi e stati di conversazione iniziali

* Aggiorna la gestione delle configurazioni nel bot Telegram: modifica gli stati della conversazione e aggiungi il supporto per la gestione dei messaggi.

* fix static models & readme

* aggiunto il supporto per la query dell'utente e modificata la visualizzazione dei messaggi di stato.

* Aggiunto il supporto per la gestione del bot Telegram e aggiornata la configurazione del pipeline

* Aggiornato .gitignore per includere la cartella .gradio e rimosso chroma_db. Aggiunto il supporto per la generazione di report in PDF utilizzando markdown-pdf nel bot Telegram.

* Refactor pipeline and chat manager for improved structure and functionality

* Better logging

* Aggiornato il comportamento del logging per i logger di agno. Aggiunto il supporto per l'opzione check_for_async nella configurazione di RedditWrapper.

* Rimosso codice commentato e import non utilizzati nella classe Pipeline per semplificare la struttura

* Aggiornata la sezione "Applicazione" nel README & fix main

* Telegram instance instead of static

* Fix logging to use labels for team model, leader model, and strategy

* Rinomina il lock da _lock a __lock per garantire l'incapsulamento nella classe AppConfig

* Rinomina i logger per una migliore identificazione e gestisce le eccezioni nel bot di Telegram

* Aggiorna i messaggi di errore nel gestore Telegram per una migliore chiarezza e modifica il commento nel file di configurazione per riflettere lo stato del modello.

* Aggiungi un messaggio di attesa durante la generazione del report nel bot di Telegram
2025-10-13 10:49:46 +02:00
Giacomo Bertolazzi
d2fbc0ceea 12 fix docs (#13)
* fix dependencies uv.lock

* refactor test markers for clarity

* refactor: clean up imports and remove unused files

* refactor: remove unused agent files and clean up market API instructions

* refactor: enhance wrapper initialization with keyword arguments and clean up tests

* refactor: remove PublicBinanceAgent

* refactor: aggregator
- simplified MarketDataAggregator and related models to functions

* refactor: update README and .env.example to reflect the latest changes to the project

* refactor: simplify product info and price creation in YFinanceWrapper

* refactor: remove get_all_products method from market API wrappers and update documentation

* fix: environment variable assertions

* refactor: remove status attribute from ProductInfo and update related methods to use timestamp_ms

* feat: implement aggregate_history_prices function to calculate hourly price averages

* refactor: update docker-compose and app.py for improved environment variable handling and compatibility

* feat: add detailed market instructions and improve error handling in price aggregation methods

* feat: add aggregated news retrieval methods for top headlines and latest news

* refactor: improve error messages in WrapperHandler for better clarity

* fix: correct quote currency extraction in create_product_info and remove debug prints from tests
2025-10-02 01:40:59 +02:00
e284006a6d Pre-merge main conflicts 2025-10-01 16:15:09 +02:00
Simo
dc9dc98298 3 market api (#8)
* Creazione branch tool, refactor degli import e soppressione dei warning

* Update pytest configuration and dependencies in pyproject.toml

* Add news API integration and related configurations

- Update .env.example to include NEWS_API_KEY configuration
- Add newsapi-python dependency in pyproject.toml
- Implement NewsAPI class for fetching news articles
- Create Article model for structured news data
- Add tests for NewsAPI functionality in test_news_api.py
- Update pytest configuration to include news marker

* Add news API functionality and update tests for article retrieval

* ToDo:
1. Aggiungere un aggregator per i dati recuperati dai provider.
2. Lavorare effettivamente all'issue

Done:
1. creati test per i provider
2. creato market_providers_api_demo.py per mostrare i dati recuperati dalle api dei providers
3. aggiornato i provider
4. creato il provider binance sia pubblico che con chiave
5. creato error_handler.py per gestire decoratori e utilità: retry automatico, gestione timeout...

* Refactor news API integration to use NewsApiWrapper and GnewsWrapper; add tests for Gnews API functionality

* Add CryptoPanic API integration and related tests; update .env.example and test configurations

* Implement WrapperHandler for managing multiple news API wrappers; add tests for wrapper functionality

* Enhance WrapperHandler
- docstrings
- add try_call_all method
- update tests

* pre merge con phil

* Add DuckDuckGo and Google News wrappers; refactor CryptoPanic and NewsAPI

- Implemented DuckDuckGoWrapper for news retrieval using DuckDuckGo tools.
- Added GoogleNewsWrapper for accessing Google News RSS feed.
- Refactored CryptoPanicWrapper to unify get_top_headlines and get_latest_news methods.
- Updated NewsApiWrapper to simplify top headlines retrieval.
- Added tests for DuckDuckGo and Google News wrappers.
- Enhanced documentation for CryptoPanicWrapper and NewsApiWrapper.
- Created base module for social media integrations.

* - Refactor struttura progetto: divisione tra agent e toolkit

* Refactor try_call_all method to return a dictionary of results; update tests for success and partial failures

* Fix class and test method names for DuckDuckGoWrapper

* Add Reddit API wrapper and related tests; update environment configuration

* pre merge con giacomo

* Fix import statements

* Fixes
- separated tests
- fix tests
- fix bugs reintroduced my previous merge

* Refactor market API wrappers to streamline product and price retrieval methods

* Add BinanceWrapper to market API exports

* Finito ISSUE 3

* Final review
- rm PublicBinanceAgent & updated demo
- moved in the correct folder some tests
- fix binance bug

---------

Co-authored-by: trojanhorse47 <cosmomemory@hotmail.it>
Co-authored-by: Berack96 <giacomobertolazzi7@gmail.com>
Co-authored-by: Giacomo Bertolazzi <31776951+Berack96@users.noreply.github.com>
2025-10-01 15:51:25 +02:00
7c61b311aa Merge branch '2-news-api' into 3-market-api 2025-09-30 15:50:49 +02:00
43b2bddba5 Add Reddit API wrapper and related tests; update environment configuration 2025-09-30 15:36:37 +02:00
6aa9d4969f Add CryptoPanic API integration and related tests; update .env.example and test configurations 2025-09-30 01:54:26 +02:00
Simone Garau
dfca44c9d5 ToDo:
1. Aggiungere un aggregator per i dati recuperati dai provider.
2. Lavorare effettivamente all'issue

Done:
1. creati test per i provider
2. creato market_providers_api_demo.py per mostrare i dati recuperati dalle api dei providers
3. aggiornato i provider
4. creato il provider binance sia pubblico che con chiave
5. creato error_handler.py per gestire decoratori e utilità: retry automatico, gestione timeout...
2025-09-29 21:28:41 +02:00
badd3e2a6c Add news API integration and related configurations
- Update .env.example to include NEWS_API_KEY configuration
- Add newsapi-python dependency in pyproject.toml
- Implement NewsAPI class for fetching news articles
- Create Article model for structured news data
- Add tests for NewsAPI functionality in test_news_api.py
- Update pytest configuration to include news marker
2025-09-29 15:15:18 +02:00
a3824489ed Refactor pytest configuration:
- streamline marker addition
- remove unused OLLAMA_MODELS_PATH (OLLAMA_HOST should be enough even for Docker)
2025-09-26 13:15:50 +02:00
148bff7cfd 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.
2025-09-26 03:43:31 +02:00
48502fc6c7 !! Broken for now !!
Refactor environment variables and remove unused API key checks; introduce Models enum for supported models.
2025-09-25 22:24:24 +02:00
60c555fd8c Refactoring main
Aggiornato il file .env.example.
Aggiunta la funzione available_keys() in app.py per controllare le chiavi API disponibili.
Spostato example.py nelle demo.
Rimosso requirements.txt.
2025-09-25 21:03:11 +02:00
Simone Garau
995048831c Integrato 3 fonti ma da finire binance. Fatto una struttura con i signers per i servizi. 2025-09-23 18:04:52 +02:00
Simone Garau
0f6a7dabb6 Ho fatto funzionare ollama sia con docer che con uv. Aggiornato il readme 2025-09-16 14:46:15 +02:00
57aa39cd71 Added examples of agno usage and .env for keys; removed unused/redundant dependencies 2025-09-04 21:55:18 +02:00