Spaces:
Build error
Build error
| import pandas as pd | |
| import json | |
| from document_preprocessor import generate_document | |
| from llm import LLM | |
| from prompt import stock_analysis_prompt | |
| import streamlit as st | |
| from streamlit_searchbox import st_searchbox | |
| st.set_page_config( | |
| page_title="Stock_Picker", | |
| page_icon="💰", | |
| layout="wide", | |
| initial_sidebar_state="expanded", | |
| ) | |
| st.markdown("### 📈 Stock Picker") | |
| left_co, cent_co,last_co = st.columns(3) | |
| with cent_co: | |
| st.image(image=".streamlit/stock-market.png", width=300) | |
| st.markdown("---") | |
| stocks = pd.read_excel("MCAP31122023.xlsx").set_index('Company Name') | |
| url = "https://ticker.finology.in/company/" | |
| model = LLM(model_name="Gemini") | |
| # function with list of labels | |
| def search_stocks(searchterm: str): | |
| if not searchterm: | |
| return [] | |
| matching_stocks = stocks[stocks.index.str.contains(searchterm, case=False, na=False)] | |
| return matching_stocks['Symbol'].tolist() | |
| selected_value = st_searchbox( | |
| search_stocks, | |
| key="wiki_searchbox", | |
| ) | |
| if selected_value: | |
| stock_url = f"https://ticker.finology.in/company/{selected_value}" | |
| stock_fundamentals = generate_document(stock_url) | |
| prompt = stock_analysis_prompt.replace( | |
| "{stock_name}",selected_value).replace("{context}",stock_fundamentals.page_content) | |
| result = model(prompt=prompt).replace('```',"") | |
| try: | |
| res = json.loads(result) | |
| confidence_score = res['buy'] | |
| analysis = res["detailed_analysis"] | |
| if confidence_score >= 75: | |
| st.success("High Confidence Score!") | |
| elif confidence_score > 40: | |
| st.warning("Moderate Confidence Score.") | |
| else: | |
| st.error("Low Confidence Score.") | |
| col1, col2 = st.columns(2) | |
| col1.write(f'**Buy Confidence Score:** {str(confidence_score)}') | |
| with st.expander("See explanation"): | |
| st.write(f"**Detailed Analysis:** {analysis}") | |
| st.markdown(f"[Learn more about {selected_value}]({stock_url})") | |
| except: | |
| st.write(result) | |