File size: 1,863 Bytes
68a3d61
 
 
 
 
 
 
 
 
6c7823c
 
 
9daa604
6c7823c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9daa604
6c7823c
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
---
title: My ChromaDB App
emoji: 📊
colorFrom: indigo
colorTo: blue
sdk: docker
pinned: false
---

## Market Brief Agent

### Workflow Diagram
---
![](diagram.jpeg)

#### Overview
* An acyclic workflow where the user interacts through a Streamlit App.
* User's query is first parsed by the Orchestrator API endpoint that returns the result for what tools to use along with the result of those tools' execution.
* The original user query and the generated supporting context are then passed to the final response synthesizer.
* Final response is streamed back to the Streamlit app again via API communication.
* User can further instruct to listen to the generated response using Deepgram's voice models.

### Tools 

**All tools are accessible through an API interface**
* `/data/get_historical_data` : This tool brings historical changes in a particular given stock. Must provide a YFinance ticker as a parameter.
* `/data/get_earning_metrics` : This tool generates the stock earnings summary over the past 3–4 years using YFinance earning metrics.
* `/data/get_portfolio_data` : This tool brings a current portfolio snapshot/updates. *Currently only supports IND portfolio*.
* `/data/get_portfolio_data` : This is a ***RAG*** based tool. It uses a company's prior documents as a knowledge base and uses semantic similarity to provide context on company-related user queries.
* `/data/get_portfolio_data` : Tool to make orchestration decisions—i.e., which tool to call with what parameters.
* `/data/get_portfolio_data` : Tool to generate the final user-friendly response with **guardrails** to avoid giving aggressive financial advice.

### Deployment

Fully functional **Docker**-based deployment for maintainability and scalability.

```DOCKER FILE CODE```

#### FYIs
* Voice I/O is slow because of Streamlit voice processing and Deepgram API latency.