mishrabp commited on
Commit
d87994b
·
verified ·
1 Parent(s): 37d7926

Upload folder using huggingface_hub

Browse files
Files changed (3) hide show
  1. pyproject.toml +39 -30
  2. ui/app.py +162 -8
  3. uv.lock +0 -0
pyproject.toml CHANGED
@@ -7,31 +7,40 @@ requires-python = "==3.12.*"
7
 
8
  dependencies = [
9
  # LLM Providers / SDKs
10
- "openai>=2.6.1",
11
- "openai-agents>=0.4.2",
12
  "anthropic>=0.49.0",
13
- "langchain-openai>=0.3.9",
14
- "langchain-anthropic>=0.3.10",
15
- "langchain_huggingface",
16
- "langchain_ollama",
 
 
17
 
18
  # LangChain / LangGraph Ecosystem
19
- "langchain>=0.3.0",
20
- "langchain-community>=0.3.20",
21
- "langchain-core>=0.3.0",
22
- "langchain-experimental>=0.3.4",
23
- "langgraph>=0.3.18",
24
- "langgraph-checkpoint-sqlite>=2.0.6",
25
- "langsmith>=0.3.18",
26
- "langchain_groq",
 
 
 
 
 
 
 
27
 
28
  # AutoGen
29
- "autogen-agentchat>=0.4.9.2",
30
- "autogen-ext[grpc,mcp,ollama,openai]>=0.4.9.2",
31
 
32
  # MCP (Model Context Protocol)
33
  "mcp-server-fetch>=2025.1.17",
34
- "mcp[cli]>=1.9.3",
35
 
36
  # Tools & Utilities
37
  "psutil>=7.0.0",
@@ -45,39 +54,39 @@ dependencies = [
45
  "beautifulsoup4>=4.12.3",
46
  "lxml>=5.3.1",
47
  "wikipedia>=1.4.0",
48
- "yfinance>=0.2.27",
49
  "textblob>=0.17.1",
50
 
51
  # Visualization / UI
52
- "plotly>=6.0.1",
53
  "streamlit>=1.51.0",
54
- "reportlab",
55
 
56
  # PDF & Document Tools
57
- "pypdf>=5.4.0",
58
  "pypdf2>=3.0.1",
59
 
60
  # Youtube Video
61
- "yt_dlp",
62
- "openai-whisper",
63
 
64
  # Misc
65
- "polygon-api-client>=1.14.5",
66
- "sendgrid>=6.11.0",
67
- "semantic-kernel>=1.25.0",
68
  "speedtest-cli>=2.1.3",
69
- "smithery>=0.1.0",
70
 
71
  # Machine Learning
72
- "scikit-learn",
73
  "huggingface_hub<=1.1.4",
74
  ]
75
 
76
  [dependency-groups]
77
  dev = [
78
- "ipykernel>=6.29.5",
79
  ]
80
 
81
  [build-system]
82
- requires = ["setuptools>=78.1.0"]
83
  build-backend = "setuptools.build_meta"
 
7
 
8
  dependencies = [
9
  # LLM Providers / SDKs
10
+ "openai>=2.8.1",
11
+ "openai-agents>=0.5.1",
12
  "anthropic>=0.49.0",
13
+ "langchain-openai>=1.0.3",
14
+ "langchain-anthropic>=1.1.0",
15
+ "langchain_huggingface>=1.0.1",
16
+ "langchain_ollama>=1.0.0",
17
+ "langchain_google_genai>=3.0.3",
18
+ "langchain_groq>=1.0.1",
19
 
20
  # LangChain / LangGraph Ecosystem
21
+ "langchain>=1.0.7",
22
+ "langchain-community>=0.4.1",
23
+ #"langchain-core>=0.3.0",
24
+ #"langchain-experimental>=0.3.4",
25
+ "langgraph>=1.0.3",
26
+ "langgraph-checkpoint-sqlite>=3.0.0",
27
+ "langsmith>=0.4.43",
28
+
29
+ # Document loaders and vector db
30
+ "faiss-cpu>=1.13.0", #faiss-cpu is the db, FAISS is the langchain wrapper class.
31
+ "chromadb==1.3.5",
32
+ "pymupdf",
33
+ "sentence-transformers>=5.1.2",
34
+ "arxiv>=2.3.1",
35
+ "wikipedia>=1.4.0",
36
 
37
  # AutoGen
38
+ "autogen-agentchat>=0.7.5",
39
+ "autogen-ext[grpc,mcp,ollama,openai]>=0.7.5",
40
 
41
  # MCP (Model Context Protocol)
42
  "mcp-server-fetch>=2025.1.17",
43
+ "mcp[cli]>=1.21.2",
44
 
45
  # Tools & Utilities
46
  "psutil>=7.0.0",
 
54
  "beautifulsoup4>=4.12.3",
55
  "lxml>=5.3.1",
56
  "wikipedia>=1.4.0",
57
+ "yfinance>=0.2.66",
58
  "textblob>=0.17.1",
59
 
60
  # Visualization / UI
61
+ "plotly>=6.5.0",
62
  "streamlit>=1.51.0",
63
+ "reportlab>=4.4.5",
64
 
65
  # PDF & Document Tools
66
+ "pypdf>=6.3.0",
67
  "pypdf2>=3.0.1",
68
 
69
  # Youtube Video
70
+ "yt_dlp>=2025.11.12",
71
+ "openai-whisper>=1.0.0",
72
 
73
  # Misc
74
+ "polygon-api-client>=1.16.3",
75
+ "sendgrid>=6.12.5",
76
+ #"semantic-kernel>=1.38.0",
77
  "speedtest-cli>=2.1.3",
78
+ "smithery>=0.4.4",
79
 
80
  # Machine Learning
81
+ "scikit-learn>=1.7.2",
82
  "huggingface_hub<=1.1.4",
83
  ]
84
 
85
  [dependency-groups]
86
  dev = [
87
+ "ipykernel>=7.1.0",
88
  ]
89
 
90
  [build-system]
91
+ requires = ["setuptools>=80.9.0"]
92
  build-backend = "setuptools.build_meta"
ui/app.py CHANGED
@@ -38,18 +38,172 @@ if "button_disabled" not in st.session_state:
38
  # (dark mode removed - UI uses single light theme)
39
 
40
  # --------------------
41
- # CSS for light/dark and layout
42
  # --------------------
43
- LIGHT_CSS = """
44
  <style>
45
- .block-container { max-width: 90% !important; margin-left:5% !important; margin-right:5% !important; padding-top:1.5rem; padding-bottom:2rem; background-color: #121212; }
46
- h1, h2, h3 { font-size:2.2rem !important; text-align:center; color: #F8F9FA !important; }
47
- textarea, .stTextArea>div>div>textarea { background-color: #333 !important; color: #EEE !important; font-size:1.05rem !important; }
48
- .stButton>button { background-color: #495057 !important; color: #F8F9FA !important; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
49
  </style>
50
  """
51
 
52
- st.markdown(LIGHT_CSS, unsafe_allow_html=True)
 
 
53
 
54
  # --------------------
55
  # Helpers: orchestrator streaming
@@ -232,7 +386,7 @@ def run_streaming(query: str, final_ph, status_ph):
232
  st.title("🧠 Deep Research (Powered by Agentic AI)")
233
  st.write("What topic would you like to research?")
234
 
235
- query = st.text_area("Enter your research topic", value="The impact of AI on the Healthcare Industry.", height=50, label_visibility="collapsed")
236
 
237
  # Action row with buttons
238
  col1, col2, col3, col4 = st.columns([2.0, 2.0, 2.0, 2.0])
 
38
  # (dark mode removed - UI uses single light theme)
39
 
40
  # --------------------
41
+ # CSS for theme-agnostic layout
42
  # --------------------
43
+ THEME_AGNOSTIC_CSS = """
44
  <style>
45
+ :root {
46
+ color-scheme: light dark;
47
+ }
48
+
49
+ .block-container {
50
+ max-width: 90% !important;
51
+ margin-left: 5% !important;
52
+ margin-right: 5% !important;
53
+ padding-top: 1.5rem !important;
54
+ padding-bottom: 2rem !important;
55
+ }
56
+
57
+ /* Use system foreground/background colors */
58
+ body {
59
+ color: var(--text-color);
60
+ background-color: var(--bg-color);
61
+ }
62
+
63
+ h1, h2, h3, h4, h5, h6 {
64
+ font-size: 2.2rem !important;
65
+ text-align: left !important;
66
+ color: inherit !important;
67
+ font-weight: 600 !important;
68
+ }
69
+
70
+ /* Text areas - inherit system colors */
71
+ textarea, .stTextArea > div > div > textarea {
72
+ background-color: inherit !important;
73
+ color: inherit !important;
74
+ font-size: 1.05rem !important;
75
+ border: 1px solid var(--border-color) !important;
76
+ }
77
+
78
+ /* Buttons - proper button styling */
79
+ .stButton > button, .stDownloadButton > button {
80
+ border: 2px solid currentColor !important;
81
+ border-radius: 6px !important;
82
+ padding: 10px 20px !important;
83
+ font-weight: 600 !important;
84
+ cursor: pointer !important;
85
+ transition: all 0.2s ease !important;
86
+ background-color: transparent !important;
87
+ color: inherit !important;
88
+ min-width: 150px !important;
89
+ min-height: 44px !important;
90
+ }
91
+
92
+ .stButton > button:hover, .stDownloadButton > button:hover {
93
+ background-color: rgba(0, 0, 0, 0.1) !important;
94
+ transform: translateY(-2px) !important;
95
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
96
+ }
97
+
98
+ .stButton > button:active, .stDownloadButton > button:active {
99
+ transform: translateY(0) !important;
100
+ }
101
+
102
+ /* Download buttons */
103
+ .stDownloadButton > button {
104
+ width: 180px !important;
105
+ height: 48px !important;
106
+ }
107
+
108
+ /* Text and paragraphs */
109
+ p, span, div {
110
+ color: inherit !important;
111
+ }
112
+
113
+ /* Code blocks */
114
+ code {
115
+ padding: 2px 4px;
116
+ border-radius: 3px;
117
+ }
118
+
119
+ /* Info, success, error, warning boxes */
120
+ .stAlert {
121
+ border-radius: 6px !important;
122
+ }
123
+
124
+ /* Markdown content */
125
+ .stMarkdown {
126
+ color: inherit !important;
127
+ }
128
+
129
+ /* List items */
130
+ ul, ol, li {
131
+ color: inherit !important;
132
+ }
133
+
134
+ /* Links */
135
+ a {
136
+ text-decoration: none;
137
+ }
138
+
139
+ a:hover {
140
+ text-decoration: underline;
141
+ }
142
+
143
+ /* Ensure sufficient contrast for readability */
144
+ .stApp {
145
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
146
+ line-height: 1.6;
147
+ }
148
+
149
+ /* Progress bar visibility */
150
+ .stProgress > div > div > div {
151
+ background-color: currentColor !important;
152
+ opacity: 0.5 !important;
153
+ }
154
+
155
+ /* Remove text truncation */
156
+ .stMarkdown {
157
+ max-height: none !important;
158
+ overflow: visible !important;
159
+ }
160
+
161
+ /* Responsive buttons layout */
162
+ @media (max-width: 768px) {
163
+ h1, h2, h3 {
164
+ font-size: 1.6rem !important;
165
+ }
166
+
167
+ .stButton > button {
168
+ width: 100% !important;
169
+ height: auto !important;
170
+ padding: 10px !important;
171
+ }
172
+
173
+ .stDownloadButton > button {
174
+ width: 100% !important;
175
+ height: auto !important;
176
+ padding: 10px !important;
177
+ }
178
+ }
179
+
180
+ /* Tablet devices */
181
+ @media (min-width: 769px) and (max-width: 1024px) {
182
+ .block-container {
183
+ max-width: 85% !important;
184
+ }
185
+
186
+ h1, h2, h3 {
187
+ font-size: 1.8rem !important;
188
+ }
189
+ }
190
+
191
+ /* Desktop devices */
192
+ @media (min-width: 1025px) {
193
+ .block-container {
194
+ max-width: 90% !important;
195
+ }
196
+
197
+ h1, h2, h3 {
198
+ font-size: 2.2rem !important;
199
+ }
200
+ }
201
  </style>
202
  """
203
 
204
+ st.markdown(THEME_AGNOSTIC_CSS, unsafe_allow_html=True)
205
+
206
+ st.markdown(THEME_AGNOSTIC_CSS, unsafe_allow_html=True)
207
 
208
  # --------------------
209
  # Helpers: orchestrator streaming
 
386
  st.title("🧠 Deep Research (Powered by Agentic AI)")
387
  st.write("What topic would you like to research?")
388
 
389
+ query = st.text_area("Enter your research topic", value="Most popular free MLOps & LLMOps tools in 2025.", height=50, label_visibility="collapsed")
390
 
391
  # Action row with buttons
392
  col1, col2, col3, col4 = st.columns([2.0, 2.0, 2.0, 2.0])
uv.lock CHANGED
The diff for this file is too large to render. See raw diff