Spaces:
Sleeping
Sleeping
ryefoxlime
commited on
Merge branch 'main' of https://huggingface.co/spaces/ryefoxlime/AI_Agent
Browse files- High Level Design.md +22 -0
- README.md +69 -2
- requirements.txt +2 -1
High Level Design.md
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
```mermaid
|
2 |
+
flowchart TD
|
3 |
+
A[app.py] -->|Sends company, company_website| B[crew.py]
|
4 |
+
B -->|Returns processed data| A
|
5 |
+
A -->|Creates 3 downloadable files| D[Downloadable Files]
|
6 |
+
|
7 |
+
B --> C1[agents.yaml]
|
8 |
+
B --> C2[task.yaml]
|
9 |
+
B --> T1[search_tools]
|
10 |
+
B --> T2[web_search_tool]
|
11 |
+
B --> T3[pdf_search_tool]
|
12 |
+
|
13 |
+
subgraph Config Folder
|
14 |
+
C1
|
15 |
+
C2
|
16 |
+
end
|
17 |
+
|
18 |
+
subgraph Tools Folder
|
19 |
+
T1
|
20 |
+
T2
|
21 |
+
T3
|
22 |
+
end
|
README.md
CHANGED
@@ -7,7 +7,74 @@ sdk: streamlit
|
|
7 |
sdk_version: 1.40.0
|
8 |
app_file: app.py
|
9 |
pinned: false
|
10 |
-
short_description: Multi
|
11 |
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
|
13 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
sdk_version: 1.40.0
|
8 |
app_file: app.py
|
9 |
pinned: false
|
10 |
+
short_description: Multi Agent crew for Market Analysis and Use Case Generation
|
11 |
---
|
12 |
+
# Market Research & Use Case Generation Agent
|
13 |
+
## Project Overview
|
14 |
+
### Objective:
|
15 |
+
Deploy Multi-Agent crew for Market Analysis and Use case Generator using Streamlit to provide an easy-to-use interface for model interaction.
|
16 |
+
### Technology:
|
17 |
+
- Streamlit, an open-source Python library for building custom web applications for machine learning and data science.
|
18 |
+
- CrewAI, an open-source library for building ai agents
|
19 |
|
20 |
+
### Model:
|
21 |
+
#### LLMS
|
22 |
+
- Uses gemini 1.5 flash version 002 as the base llm as it has the highest free token available to use while being fast and reliable when compared to other LLMs such as OpenAI, Anthropic etc
|
23 |
+
- The model leverage the LiteLLM module as the backend for the LLM module in crewAI
|
24 |
+
|
25 |
+
#### Crew
|
26 |
+
The crew consists of 3 agents
|
27 |
+
- Researcher:
|
28 |
+
- Performs Market and Segment of the company
|
29 |
+
- Identifies the Key offering in comparison to the competition in the same segment
|
30 |
+
- Provides the strategic focus of the company
|
31 |
+
|
32 |
+
> Tools: search_tool, web_search_tool, pdf_search_tool
|
33 |
+
- Design Thinker
|
34 |
+
- Analyzes the industry trends in the AI Space such as genai , llms etc using the information provided by the Researcher
|
35 |
+
- Details some possible ideas using the mantra “Yes and …” while specifying the use cases, drawbacks and MVPs (Most Viable Product) to test the ideas
|
36 |
+
- The agent empathises with shareholders, focusing on how these ideas may impact and benefit customers.
|
37 |
+
|
38 |
+
> Tools: search_tool, web_search_tool, pdf_search_tool
|
39 |
+
|
40 |
+
- Developer
|
41 |
+
- Takes two projects(can be increased) and finds information such as datasets, research papers, similar projects etc
|
42 |
+
- Gives suggestions on how this project can be modified for the company
|
43 |
+
|
44 |
+
> Tools*: search_tool, web_search_tool, pdf_search_tool
|
45 |
+
|
46 |
+
> NOTE: These results are a cause of publicly available information as it does not have information about the internal documents of the company
|
47 |
+
### Tools
|
48 |
+
There are 3 primary tools used
|
49 |
+
- [SerperDev](https://serper.dev/) to search the internet for relevant source materials
|
50 |
+
- [WebsiteSearchTool](https://docs.crewai.com/tools/websitesearchtool) to perform RAG search within the content of a website
|
51 |
+
- [PDF RAG](https://docs.crewai.com/tools/pdfsearchtool) Search to perform RAG search within PDF files sourced from the internet
|
52 |
+
|
53 |
+
## Implementation
|
54 |
+
### Streamlit Application Development
|
55 |
+
**User Interface Design**: The Streamlit application was designed with a focus on user-friendliness and clarity. Key features include:
|
56 |
+
- Input fields to input Serper API and Gemini API Keys
|
57 |
+
- Input fields for user queries or data.
|
58 |
+
- Output display area for model responses or generated results.
|
59 |
+
- Ability to download outputs generated by each agent separately
|
60 |
+
|
61 |
+
### Intuitive navigation and controls.
|
62 |
+
**CrewAI Integration**: The CrewAI model was seamlessly integrated into the Streamlit application.
|
63 |
+
|
64 |
+
**Customization**: The application was customized to align with the specific requirements of the CrewAI model and its intended use cases.
|
65 |
+
|
66 |
+
## Deployment
|
67 |
+
**Local Deployment**: The Streamlit application was initially deployed locally for testing and development purposes.
|
68 |
+
|
69 |
+
**Cloud Deployment: (Optional)** The application was later deployed to a cloud platform Hugging Face for accessibility over the internet
|
70 |
+
|
71 |
+
## Conclusion
|
72 |
+
This project successfully demonstrated the effective deployment of CrewAI using Streamlit. The resulting application provides a user-friendly and accessible interface for interacting with the model, making it easier for users to leverage its capabilities.
|
73 |
+
|
74 |
+
## Future Work
|
75 |
+
**Enhanced Features**: Additional features could be added to the application, such as ability to choose LLM models, or integration of other tools.
|
76 |
+
|
77 |
+
**Model Updates**: Providing an input field for users to customize the output or the task of each agent
|
78 |
+
|
79 |
+
# High Level Design
|
80 |
+
[![](https://mermaid.ink/img/pako:eNptkk2LwjAQhv_KEPCmgvXWw4JWhIVdWNbuqRUZm-kHtklJUkqx_vdNW5V23Tm9mWcy84bMlUWSE3NZnMs6SlEZ8HehABuzGfxoUvAuDKkYI4IPbEgNcBNgWS7L5giLxVt7IME1RLIoUTTzhzjVdNaZoRa2QaSo7sqH29v-1jeZSgkNpZIRaU0cOBpsYXMf0Rd5itCQhjVwWYtcIsdzThBnOekWdsFunN13WTvj-YCvoXUmkrH5fjx4qwATEkYvGyzy4wQ5gUF9eQX-KtCEKkpPRspcT5kT2AefRnyK10HJ4z_4adSTIs6SSqHJpIC9zPnDrK7OicIyvZdMWBfeaqSdQdvvGPX2O6v_93xFXfijlr4z0utRezZnBakCM26359qBkJmUCgqZayVHdQlZKG62DisjD42ImGtURXOmZJWkj0NV2l-nXYbWUcHcGHNts8QzI9XnsJv9it5-AbXs15o?type=png)](https://mermaid.live/edit#pako:eNptkk2LwjAQhv_KEPCmgvXWw4JWhIVdWNbuqRUZm-kHtklJUkqx_vdNW5V23Tm9mWcy84bMlUWSE3NZnMs6SlEZ8HehABuzGfxoUvAuDKkYI4IPbEgNcBNgWS7L5giLxVt7IME1RLIoUTTzhzjVdNaZoRa2QaSo7sqH29v-1jeZSgkNpZIRaU0cOBpsYXMf0Rd5itCQhjVwWYtcIsdzThBnOekWdsFunN13WTvj-YCvoXUmkrH5fjx4qwATEkYvGyzy4wQ5gUF9eQX-KtCEKkpPRspcT5kT2AefRnyK10HJ4z_4adSTIs6SSqHJpIC9zPnDrK7OicIyvZdMWBfeaqSdQdvvGPX2O6v_93xFXfijlr4z0utRezZnBakCM26359qBkJmUCgqZayVHdQlZKG62DisjD42ImGtURXOmZJWkj0NV2l-nXYbWUcHcGHNts8QzI9XnsJv9it5-AbXs15o)
|
requirements.txt
CHANGED
@@ -1,4 +1,5 @@
|
|
1 |
crewai
|
2 |
crewai_tools
|
3 |
streamlit
|
4 |
-
python-dotenv
|
|
|
|
1 |
crewai
|
2 |
crewai_tools
|
3 |
streamlit
|
4 |
+
python-dotenv
|
5 |
+
google-generativeai
|