prathameshdalal commited on
Commit
1b7cd78
1 Parent(s): 73d05fe

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +40 -40
app.py CHANGED
@@ -1,40 +1,40 @@
1
- import gradio as gr
2
-
3
- def companyChat(company_name, chat_history):
4
- from langchain.chains import ConversationalRetrievalChain
5
- from langchain_community.retrievers import KayAiRetriever
6
- from langchain_anthropic import ChatAnthropic
7
- model = ChatAnthropic(
8
- model_name="claude-3-sonnet-20240229"
9
- )
10
- retriever = KayAiRetriever.create(
11
- dataset_id="company", data_types=["10-K"], num_contexts=10
12
- )
13
- qa = ConversationalRetrievalChain.from_llm(model, retriever=retriever)
14
- company = company_name
15
- outputs = []
16
- chat_history = []
17
- questions = [
18
- f"Summarize the {company}'s financial performance over the past years, including revenue growth, profitability (net income), and margins.",
19
- f"Identify and analyze {company}'s earnings per share (EPS diluted and basic), Calculate Return on equity (ROE) and Debt-to-Equity ratio For past few years",
20
- f"Add bullet points for main risks identified by {company} in its 10-K filing" ]
21
- for question in questions:
22
- result = qa({"question": question, "chat_history": chat_history})
23
- chat_history.append((question, result["answer"]))
24
- outputs.append(result["answer"]) # Append both answers to a list
25
- return outputs # Return the list of both answers
26
-
27
- # Define the interface with inputs and outputs
28
- interface = gr.Interface(
29
- fn=companyChat,
30
- inputs=gr.Textbox(label="Company Name or Ticker"),
31
- outputs=[gr.Textbox(label="Company's financial performance over the past years"), gr.Textbox(label="Company's earnings per share (EPS), return on equity (ROE), and debt-to-equity ratio For past few years"), gr.Textbox(label="Main risks identified in 10-K filing")],
32
- title="Insights on 10K Filings",
33
- description="Get Insights right from the 10K Filings submitted by the company",
34
- theme="soft",
35
- examples=["APPL"],
36
- cache_examples=True,
37
- clear_btn="Clear",
38
- )
39
-
40
- interface.launch()
 
1
+ import gradio as gr
2
+
3
+ def companyChat(company_name, chat_history):
4
+ from langchain.chains import ConversationalRetrievalChain
5
+ from langchain_community.retrievers import KayAiRetriever
6
+ from langchain_anthropic import ChatAnthropic
7
+ model = ChatAnthropic(
8
+ model_name="claude-3-sonnet-20240229"
9
+ )
10
+ retriever = KayAiRetriever.create(
11
+ dataset_id="company", data_types=["10-K"], num_contexts=10
12
+ )
13
+ qa = ConversationalRetrievalChain.from_llm(model, retriever=retriever)
14
+ company = company_name
15
+ outputs = []
16
+ chat_history = []
17
+ questions = [
18
+ f"Summarize the {company}'s financial performance over the past years, including revenue growth, profitability (net income), and margins. In English",
19
+ f"Identify and analyze {company}'s earnings per share (EPS diluted and basic), Calculate Return on equity (ROE) and Debt-to-Equity ratio For past few years. In English",
20
+ f"Add bullet points for main risks identified by {company} in its 10-K filing. In English" ]
21
+ for question in questions:
22
+ result = qa({"question": question, "chat_history": chat_history}
23
+ chat_history.append((question, result["answer"]))
24
+ outputs.append(result["answer"]) # Append both answers to a list
25
+ return outputs # Return the list of both answers
26
+
27
+ # Define the interface with inputs and outputs
28
+ interface = gr.Interface(
29
+ fn=companyChat,
30
+ inputs=gr.Textbox(label="Company Name or Ticker"),
31
+ outputs=[gr.Textbox(label="Company's financial performance over the past years"), gr.Textbox(label="Company's earnings per share (EPS), return on equity (ROE), and debt-to-equity ratio For past few years"), gr.Textbox(label="Main risks identified in 10-K filing")],
32
+ title="Insights on 10K Filings",
33
+ description="Get Insights right from the 10K Filings submitted by the company",
34
+ theme="soft",
35
+ examples=["APPL"],
36
+ cache_examples=True,
37
+ clear_btn="Clear",
38
+ )
39
+
40
+ interface.launch()