You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/proposals/2025/gsoc/application_udhay_adithya_dashbot.md
+96-37Lines changed: 96 additions & 37 deletions
Original file line number
Diff line number
Diff line change
@@ -22,7 +22,7 @@
22
22
23
23
### 1. Have you worked on or contributed to a FOSS project before? Can you attach repo links or relevant PRs?
24
24
25
-
I haven't contributed to open-source projects before this, so API Dash marks my first practical experience with open-source contribution. So far, I have made a total of four PRs—two of which have been merged, while the other two are currently under review. Here are the relevant PRs:
25
+
I haven't contributed to open-source projects before this, so API Dash marks my first practical experience with open-source contribution. So far, I have made a total of four PRs—three of which have been merged, while the other one is currently under review. Here are the relevant PRs:
26
26
27
27
([#698](https://github.com/foss42/apidash/pull/698)): docs(codegen): add detailed instructions for ureq
28
28
@@ -81,7 +81,7 @@ Additionally, a **Security & Compliance Advisor** can enhance DashBot’s capabi
81
81
82
82
### **ABSTRACT:**
83
83
84
-
This proposal seeks to develop DashBot - the AI assistant for API Dash which supercharges developer productivity by helping developers automate tedious tasks, follow best practices, interact & obtain contextual suggestions, all via natural-language input. DashBot will be designed in a modular and extensible manner and provide the following list of features (suggestive, not exhaustive):
84
+
This proposal seeks to develop DashBot - the AI assistant for API Dash which supercharges developer productivity by helping developers automate tedious tasks, follow best practices, interact & obtain contextual suggestions, all via natural-language input. DashBot will be designed in a modular and extensible manner and provide the following list of features:
85
85
86
86
- Explain responses & identify any discrepancy
87
87
- Debug requests based on Status codes & Error messages
@@ -105,7 +105,7 @@ For core features like debugging API requests, generating documentation, and cre
105
105
106
106
API response visualizations will be built using the `fl_chart` library, which supports customizable line, bar, pie, scatter, and radar charts. This integration will allow users to interactively analyze API data and identify trends.
107
107
108
-
Benchmark evaluations for each LLM provider will be conducted. Here are the key metrics that will be considered for benchmarking different models,
108
+
**Benchmark evaluations** for each LLM provider will be conducted. Here are the key metrics that will be considered for benchmarking different models,
109
109
110
110
-**Explain responses**
111
111
- Discrepancy Detection Rate: Does the LLM correctly identify discrepancies?
@@ -137,16 +137,32 @@ Benchmark evaluations for each LLM provider will be conducted. Here are the key
137
137
- Best Practice Adherence: Does it follow best practices?
138
138
- Maintainability Score: Is the code clean and maintainable?
139
139
140
+
### **Implementing other essential features:**
140
141
141
-
Key dependencies are,
142
+
Adding Support for various API Authentication Methods such as,
143
+
-**Basic authentication:** Sending a verified username and password with API request
-**API key:** Sending a key-value pair to the API either in the request headers or query parameters Add API Auth: API key [#611](https://github.com/foss42/apidash/issues/611)
146
+
-**Bearer token:** Authenticate using an access key, such as a JSON Web Token (JWT) Add API Auth: Bearer token [#612](https://github.com/foss42/apidash/issues/612)
147
+
-**JWT Bearer:** Generate JWT bearer tokens to authorize requests Add API Auth: JWT Bearer [#613](https://github.com/foss42/apidash/issues/613)
148
+
-**Digest Auth:** Client must send two requests. First request sent to the server receives a nonce value, which is then used to produce a one-time-use hash key to authenticate the request Add API Auth: Digest Auth [#614](https://github.com/foss42/apidash/issues/614)
149
+
-**OAuth 1.0** Add API Auth: OAuth 1.0 [#615](https://github.com/foss42/apidash/issues/615)
This Milestone is divided into two parts. The first part will aim at adding integrations for API response visualizations (line, bar, pie, scatter, radar charts).
209
-
The second part will involve generating API integration frontend code for frontend frameworks.
227
+
This milestone will involve running benchmark evaluations for all LLM providers by comparing the result of key metrics from each model mentioned in the [Detailed Description](#detailed-description) section.
This milestone will involve running benchmark evaluations for all LLM providers by comparing the result of key metrics from each model mentioned in the [Detailed Description](#detailed-description) section.
231
+
This milestone will a new section in the home page of API Dash "Authorization" where users can perform various API Authentication Methods such as,
232
+
- Basic authentication
233
+
- API Auth
234
+
- API key
235
+
- Bearer token
236
+
- JWT Bearer
237
+
- Digest Auth
238
+
- OAuth 1.0
239
+
- OAuth 2.0.
214
240
215
241
## **[GSOC 2025 TIMELINE](https://developers.google.com/open-source/gsoc/timeline) FOR REFERENCE**
216
242
@@ -245,65 +271,98 @@ their final mentor evaluation (standard coding period)
245
271
***Coding Period (June 2 - July 14)**
246
272
***Week 1 (June 2 - June 8)**
247
273
248
-
<u>M#1 is delivered, consisting of a function DashBot.</u>
249
-
250
-
Work on M#2 begins in the latter half of the week.
274
+
- Build an interactive, draggable and responsive interface for DashBot.
275
+
- Add support for Local and Remote LLM providers along with integrated support for switching between local and remote LLM providers.
276
+
277
+
**Deliverables:**
278
+
A fully interactive, draggable, and responsive UI for DashBot, with support for switching between providers.
279
+
251
280
252
281
***Week 2 (June 9 - June 15)**
253
282
254
-
Start of M#2 Implement error debugging based on status codes and error messages.
283
+
- Implement API Response explanation generation.
284
+
- Implement error debugging based on status codes and error messages.
285
+
286
+
**Deliverables:**
287
+
Dashbot capable of providing explanations for API Responses and debugging errors based on status code and error messages.
255
288
256
289
***Week 3 (June 16 - June 22)**
257
290
258
-
Building upon the previous week, the integration for documentation generator and test generator to create unit and integration tests from API specifications is done.
291
+
- Develop a documentation generator supporting Markdown and HTML formats.
292
+
- Develop a Test generator to create unit and integration tests from API specifications is done.
293
+
294
+
**Deliverables:**
295
+
Dashbot capable of generating documentation and tests from API Specifications.
296
+
259
297
260
298
***Week 4 (June 16 - June 22)**
261
299
262
-
Based on the implementation experience and testing feedback from the previous weeks, refinements will be made by enhancing LLM responses using Few-shot prompting and ReAct techniques to ensure robustness and efficiency.
300
+
- Adding integration for API response visualization.
301
+
- Adding integration for frontend code generation for frontend frameworks.
302
+
303
+
**Deliverables:**
304
+
Dashbot capable of visualizing api responses and code generation for frontend frameworks.
263
305
264
306
***Week 5 (June 23 - June 29)**
265
307
266
-
A significant portion of the week will be dedicated to testing all integrations thoroughly and addressing any bugs or issues identified.
267
-
268
-
This week will also contain several steps of documenting DashBot.
308
+
- A significant portion of the week will be dedicated to testing all integrations thoroughly and addressing any bugs or issues identified.
309
+
- Mentor Reviews are requested.
310
+
311
+
**Deliverables:**
312
+
Ensure that Dashbot is capable of performing all action mentioned in the previous weeks and ready for running benchmarks.
269
313
270
-
Mentor Reviews are requested.
271
314
272
315
***Week 6 (June 30 - July 6)**
273
316
274
-
Changes follow, from Mentor Review, if required.
275
-
276
-
Start of M#3 by adding integrations for API response visualizations.
277
-
278
-
Final Mentor Review before Mid-term Evaluation is submitted.
317
+
- Changes follow, from Mentor Review, if required.
318
+
- Setting up a benchmarking environment and evaluating LLMs for API Response Explanation and API Error Debugging.
319
+
- Final Mentor Review before Mid-term Evaluation is submitted.
320
+
321
+
**Deliverables:**
322
+
Benchmarking results of various LLMs for Response Explanation and API Error Debugging.
279
323
280
324
***Midterm Evaluation Submission (July 14 - July 18)**
281
325
* Projects are submitted to the mentors and the GSoC portal.
282
326
283
327
***Work Period (July 14 - August 25)**
284
328
***Week 7 (July 14 - July 20)**
285
329
286
-
Continuation of the work done in Week 6.
330
+
- Running benchmark evaluation for remaining features, Documentation generation, Test Generation, API Visualization and Frontend code generation for frontend frameworks.
331
+
332
+
**Deliverables:**
333
+
Benchmarking results of different LLMs for Documentation generation, Test Generation, API Visualization and Frontend code generation for frontend frameworks.
287
334
288
335
***Week 8 (July 21 - July 27)**
289
336
290
-
A significant portion of the week will be dedicated to testing all integrations thoroughly and addressing any bugs or issues identified.
291
-
Documentation is enhanced in if no issues arise.
337
+
- Extending support for Dashbot in Android/iOS devices.
338
+
- Documentation and benchmarking evaluations are enhanced if time permits.
339
+
- Finishing up Dashbot.
340
+
341
+
**Deliverables:**
342
+
A fully functional Dashbot across all platforms.
292
343
293
344
***Week 9 (July 28 - August 3)**
294
345
295
-
Running benchmark evaluations for all LLM providers.
346
+
- Start developing basic API Authentication methods: Basic authentication, API Auth, API key.
347
+
348
+
**Deliverables:**
349
+
Defined API authentication parameters and initial implementation of basic authentication methods.
296
350
297
351
***Week 10 (August 4 - August 10)**
298
352
299
-
Continuation of the work done in Week 9.
300
-
Mentor Reviews are requested.
353
+
- Implement API Authentication methods: Bearer token, JWT Bearer.
354
+
- Develop a mechanism to allow switching authentication parameters between the request header and body.
355
+
- Mentor Reviews are requested.
356
+
357
+
**Deliverables:**
358
+
Fully implemented Bearer Token and JWT Bearer authentication, along with a configurable authentication parameter placement (header/body).
301
359
302
360
***Week 11 (August 11 - August 17)**
303
361
304
-
The former half of the week acts as a buffer period in case any issues are confronted.
305
-
Documentation and benchmarking evaluations are enhanced in the buffer period if no issues arise.
306
-
<u>Milestone #4 is delivered.</u>
362
+
- Implement test cases for different authentication methods, including Basic Auth, API Key, Bearer Token, and JWT.
363
+
364
+
**Deliverables:**
365
+
Comprehensive test cases covering unit, integration, functional, and end-to-end authentication scenarios.
0 commit comments