Spaces:
Sleeping
Sleeping
from crewai import Agent | |
import os | |
from calculator_tools import CalculatorTools | |
from search_tools import SearchTools | |
from sec_tools import SECTools | |
from browser_tools import BrowserTools | |
from langchain_google_genai import ChatGoogleGenerativeAI | |
from langchain.tools.yahoo_finance_news import YahooFinanceNewsTool | |
class StockAnalysisAgents(): | |
def __init__(self) -> None: | |
self.Gemini = ChatGoogleGenerativeAI(model="gemini-1.5-flash", | |
api_key = os.getenv("GOOGLE_API_KEY")) | |
def financial_analyst(self): | |
return Agent( | |
role='The Best Financial Analyst', | |
goal="""Impress all customer with your financial data | |
and market trends analysis""", | |
backstory="""The most seasoned financial analyst with | |
lots of expertise in stock market analysis and investment | |
strategies that is working for a super important customer.""", | |
verbose=True, | |
llm=self.Gemini, | |
tools=[ | |
BrowserTools.scrape_and_summarize_website, | |
SearchTools.search_internet, | |
CalculatorTools.calculate, | |
SECTools.search_10q, | |
SECTools.search_10k | |
] | |
) | |
def research_analyst(self): | |
return Agent( | |
role='Staff Research Analyst', | |
goal="""Being the best at gather, interpret data and amaze | |
your customer with it""", | |
backstory="""Known as the BEST research analyst, you're | |
skilled in sifting through news, company announcements, | |
and market sentiments. Now you're working on super | |
important customer""", | |
verbose=True, | |
llm=self.Gemini, | |
tools=[ | |
BrowserTools.scrape_and_summarize_website, | |
SearchTools.search_internet, | |
YahooFinanceNewsTool(), | |
SECTools.search_10q, | |
SECTools.search_10k | |
] | |
) | |
def investment_advisor(self): | |
return Agent( | |
role='Private Investment Advisor', | |
goal="""Impress your customes with full analyses over stocks | |
and completer investment recommendations""", | |
backstory="""You're the most experienced investment advisor | |
and you combine various analytical insights to formulate | |
strategic investment advice. You are now working for | |
a super importat customer you need to impress.""", | |
verbose=True, | |
llm=self.Gemini, | |
tools=[ | |
BrowserTools.scrape_and_summarize_website, | |
SearchTools.search_internet, | |
CalculatorTools.calculate, | |
YahooFinanceNewsTool() | |
] | |
) |