ryefoxlime commited on
Commit
f10c4c4
2 Parent(s): d46091e ea7d92a

Merge branch 'main' of https://huggingface.co/spaces/ryefoxlime/AI_Agent

Browse files
Files changed (3) hide show
  1. High Level Design.md +22 -0
  2. README.md +69 -2
  3. 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-agent crew for market analysis and use case generator
11
  ---
 
 
 
 
 
 
 
12
 
13
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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