Skip to content

gsoc application for dashbot #722

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 8 commits into from
Apr 5, 2025

Conversation

Udhay-Adithya
Copy link
Contributor

@Udhay-Adithya Udhay-Adithya commented Mar 28, 2025

PR Description

This is my application for the idea: DashBot

I'd like to ask a few questions to clarify the requirements for the DashBot project:

  1. Should DashBot be supported on mobile platforms in addition to desktop?
  2. Are there any other LLM providers you would like me to include besides Gemini, OpenAI, Anthropic, and Ollama?
  3. Should I create or modify any design files for the UI/UX?
  4. Are there specific benchmarking metrics or evaluation criteria you would like prioritized?
  5. Should I implement logic to store chat history and relevant context locally, similar to a memory layer?

Related Issues

Checklist

  • I have gone through the contributing guide
  • I have updated my branch and synced it with project main branch before making this PR
  • I am using the latest Flutter stable branch (run flutter upgrade and verify)
  • I have run the tests (flutter test) and all tests are passing

OS on which you have developed and tested the feature?

  • Windows
  • macOS
  • Linux

@animator
Copy link
Member

animator commented Mar 29, 2025

  1. Should DashBot be supported on mobile platforms in addition to desktop?

Yes it should be supported for mobile. Only through API access. Ollama still be supported as it lets you provide URL which can be provided in case of hosted version of API Dash.

  1. Are there any other LLM providers you would like me to include besides Gemini, OpenAI, Anthropic, and Ollama?

The most important API provider that needs to be added is Ollama as API Dash was built with the spirit of privacy first.
Other API providers can or cannot be added as the focus of the project should be to ensure the correctness of features, testing and benchmarking the results.

  1. Should I create or modify any design files for the UI/UX?

Right now the UI of DashBot provided is a simple chatbot, but DashBot is a task specific chatbot which assists user with API specific tasks so this UI will not work.
We already have an initial implementation, along with some PRs on DashBot. Study them and rethink the UI design.
Also, check out the review comments left on this PR #704 where provision must also be provided to modify LLM provider settings.

Provide more DashBot task specific UI designs. You have already mentioned the tasks DashBot will help with in the proposal .. now you can prepare some initial designs for each of these tasks to get more clarity how the user interaction will happen.

  1. Are there specific benchmarking metrics or evaluation criteria you would like prioritized?

We are pushing the boundary by being the first to produce API task benchmarks. This is an essential step to ensure that we can suggest the best model to the end users. I will recommend you to look out for ways in which you can judge the outputs for these tasks. It will require some research.

5 Should I implement logic to store chat history and relevant context locally, similar to a memory layer?

Actually, it is similar. A memory layer can manage and store chat history for a request.

@Udhay-Adithya Please update your proposal taking into account the above feedback.

@Udhay-Adithya
Copy link
Contributor Author

Thank you for the feedback; it is immensely valuable to me, @animator.

To clarify further:

Currently, the UI for DashBot is designed as a simple chatbot. However, since DashBot is a task-specific assistant that helps users with API-related tasks, this UI is not suitable. We already have an initial implementation, along with some PRs related to DashBot. Please review them and reconsider the UI design. Additionally, check the review comments left on PR #704, which mention the need to provide an option for modifying LLM provider settings.

I will go through the existing PRs and review comments carefully. However, I wanted to confirm: Is DashBot strictly a task-specific bot, or can it also support general interactions?

@animator
Copy link
Member

Thank you for the feedback; it is immensely valuable to me, @animator.

To clarify further:

Currently, the UI for DashBot is designed as a simple chatbot. However, since DashBot is a task-specific assistant that helps users with API-related tasks, this UI is not suitable. We already have an initial implementation, along with some PRs related to DashBot. Please review them and reconsider the UI design. Additionally, check the review comments left on PR #704, which mention the need to provide an option for modifying LLM provider settings.

I will go through the existing PRs and review comments carefully. However, I wanted to confirm: Is DashBot strictly a task-specific bot, or can it also support general interactions?

What do you mean by "general interactions"?
DashBot is not a ChatGPT or Claude API alternative. Why will someone use DashBot if they can use ChatGPT or Claude directly.
We want to keep a tight focus on making it the best API task specific chatbot which can help API developers/testers.

@animator
Copy link
Member

It will allow "general interactions" to improve the task results. But, it will not be a chatbot for general interactions with large language models.

@Udhay-Adithya
Copy link
Contributor Author

Udhay-Adithya commented Mar 29, 2025

Thank you for the clarification @animator, and I apologize for not clearly stating what I meant by "general interactions."

By "general interactions," I was referring specifically to interactions related to APIs. My question was whether we could provide users with the ability to further prompt DashBot based on its responses. This would allow users to explore certain API-related topics in more depth or gain additional insights without having to switch to another tool like ChatGPT or Claude.

Of course, DashBot would remain strictly focused on API-related queries and tasks, ensuring that its purpose as an API-specific assistant is maintained. My intent was to explore whether we could enhance the user experience by enabling deeper engagement within API Dash itself.

EDIT: I didn't notice the above comment while writing this(I didn't refresh the page).

@Udhay-Adithya
Copy link
Contributor Author

It will allow "general interactions" to improve the task results. But, it will not be a chatbot for general interactions with large language models.

Yes this is what i meant by "general interactions". Thanks

@animator
Copy link
Member

It will allow "general interactions" to improve the task results. But, it will not be a chatbot for general interactions with large language models.

Yes this is what i meant by "general interactions". Thanks

We are on the same page then 👍

@Udhay-Adithya
Copy link
Contributor Author

Hey @animator , I've made the improvements as you suggested, and I hope they match your expectations. Your feedback is extremely valuable, so please let me know if you need any further adjustments.

Regarding the absence of additional buttons for features like response explanation, documentation generation, test generation, and frontend code generation in the design: these functionalities are directly accessible via the floating action button on the home screen. Once users tap it, they can choose from a range of developer-specific features. Since not everyone requires these options, only the debugging feature—which is frequently used for API error troubleshooting—has its own dedicated button. If you think adding these buttons would enhance the user experience, just let me know and I'm happy to make the changes.

@animator
Copy link
Member

The proposal looks good for now .. You can now work on a draft PR of your approach or modify the existing API Dash Dashbot code to incorporate some of these suggested design elements and raise it by Wednesday.
Let me know in case you have any doubts.

@Udhay-Adithya
Copy link
Contributor Author

Thank you for the feedback! I'll start working on DashBot and incorporate the changes I suggested. Also, just to update you—I have uploaded my proposal as a PDF document on the GSoC website as instructed by @ashitaprasad . Let me know if there's anything else I should take care of.

@animator
Copy link
Member

animator commented Mar 30, 2025

Thank you for the feedback! I'll start working on DashBot and incorporate the changes I suggested. Also, just to update you—I have uploaded my proposal as a PDF document on the GSoC website as instructed by @ashitaprasad . Let me know if there's anything else I should take care of.

You still have the option to update the proposal on the website right .. as we might make some changes this week after PR review?

@Udhay-Adithya
Copy link
Contributor Author

You still have the option to update the proposal on the website right .. as we might make some changes this week after PR review?

Yes I see that there is an option to update my proposal.

@animator animator merged commit e31dfff into foss42:main Apr 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants