import gradio as gr from langchain_groq import ChatGroq import yfinance as yf # Initialize the ChatGroq model using Hugging Face's secret management llm = ChatGroq(model_name="Llama3-8b-8192", api_key="groq_api_key") def fetch_stock_data(company_name): # Fetch stock data using Yahoo Finance ticker = yf.Ticker(company_name) stock_info = ticker.info # Extract relevant information stock_data = { "Company": stock_info.get("longName", "N/A"), "Current Price": stock_info.get("currentPrice", "N/A"), "Market Cap": stock_info.get("marketCap", "N/A"), "PE Ratio": stock_info.get("trailingPE", "N/A"), "Dividend Yield": stock_info.get("dividendYield", "N/A"), "52 Week High": stock_info.get("fiftyTwoWeekHigh", "N/A"), "52 Week Low": stock_info.get("fiftyTwoWeekLow", "N/A"), "Sector": stock_info.get("sector", "N/A"), "Industry": stock_info.get("industry", "N/A") } return stock_data def main(company_name): # Fetch stock data and generate a response stock_data = fetch_stock_data(company_name) # Prepare a response string response = f"Here is the data for {company_name}:\n" for key, value in stock_data.items(): response += f"{key}: {value}\n" return response # Create Gradio interface iface = gr.Interface( fn=main, inputs="text", outputs="text", title="Stock Price Data Fetcher", description="Enter the company name or ticker symbol to get the latest stock price data." ) if __name__ == "__main__": iface.launch()