Skip to content
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

DashBot - the AI assistant for API Dash #621

Open
ashitaprasad opened this issue Feb 23, 2025 · 16 comments
Open

DashBot - the AI assistant for API Dash #621

ashitaprasad opened this issue Feb 23, 2025 · 16 comments
Labels
good first issue Good for newcomers

Comments

@ashitaprasad
Copy link
Member

Tell us about the task you want to perform and are unable to do so because the feature is not available

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 must be designed in a modular and extensible manner and provide the following list of features (suggestive, not exhaustive):

  • Explain responses & identify any discrepancy
  • Debug requests based on Status codes & Error messages
  • Generate API documentation
  • Understand API and generate tests
  • Generate plots & visualizations for API responses along with ability to customize
  • Generate API integration frontend code for frontend frameworks like React, Flutter, etc.
@ashitaprasad ashitaprasad added the enhancement New feature or request label Feb 23, 2025
@Mrudul111
Copy link
Contributor

hey @ashitaprasad this was the idea I was most interested in from the list of ideas in GSOC 2025 idea list. Can I start with some groundwork research and prepare a basic flow for this?

@ashitaprasad
Copy link
Member Author

Sure @Mrudul111 👍

@foss42 foss42 deleted a comment from TechQaiser Feb 27, 2025
@Clasherzz
Copy link
Contributor

@ashitaprasad hey there , surely lot of ai buzz going on in the repo now , quite surprised to see this actually. I was wondering if contributors use python for communication with some llms and creating memory layer. Would it be through a server hoisting the python scripts.Just curious about how this is structured!

@siddu015
Copy link
Contributor

Hi @ashitaprasad

Just wanted to share an update on Dashbot:

  • Finished Features 1 & 2 (Explain Responses + Debug Requests) – they’re working well now.
  • Also added conversation memory, delete conversation and copy response functionality.

I have a question: Should I keep separate conversation memory for each new request, or maintain a single memory for all requests (where the bot adapts based on the user’s current request)?

Here are some screenshots of the current progress. Let me know if you have any suggestions for UI improvements, response tuning or other approaches!

Image Image Image Image

@PRANJALRANA11
Copy link

@siddu015 hey man you don't have to develop it right now ig it's in the program

@siddu015
Copy link
Contributor

Actually, I’ve been working on this since FOSS Hack! Met mentors there, discussed the idea, and got started on it.

@Mrudul111
Copy link
Contributor

Hi @ashitaprasad

Just wanted to share an update on Dashbot:

  • Finished Features 1 & 2 (Explain Responses + Debug Requests) – they’re working well now.
  • Also added conversation memory, delete conversation and copy response functionality.

I have a question: Should I keep separate conversation memory for each new request, or maintain a single memory for all requests (where the bot adapts based on the user’s current request)?

Here are some screenshots of the current progress. Let me know if you have any suggestions for UI improvements, response tuning or other approaches!

Image Image Image Image

What LLM are we using here for the results

@siddu015
Copy link
Contributor

siddu015 commented Mar 1, 2025

llama3.2:3b

@ARYPROGRAMMER
Copy link

@ashitaprasad Hey, I have a probabilistic idea for this. What I think is that instead of making simple genai calls to get this done or creating a simple chatbot type of conversation ai agent like the one implemented earlier in this issue, we can use langchain implementation alongwith langgraph to actually get a stepwise response generation with all parameters covered as separate nodes of a langgraph.

Instead of traditional system prompted ai agent [prompted to be the assistant - which may create hallucinations], we may use a series of dependent calls to make it more reliable. Just an idea can be to create a separate backend service for dashbot and integrating in the apidash frontend. I think this sounds reliable and achievable quickly. It solves major overheads like context management and chat history [which may be needed]. Keeping it as separate module in backend actually makes sense though. Let me know further obviously open to discussions

@ashitaprasad
Copy link
Member Author

@ashitaprasad hey there , surely lot of ai buzz going on in the repo now , quite surprised to see this actually. I was wondering if contributors use python for communication with some llms and creating memory layer. Would it be through a server hoisting the python scripts.Just curious about how this is structured!

@Clasherzz There is no involvement of Python or server. Dart has sufficient packages to connect to Ollama API or any commercial API like ChatGPT. The memory layer and communication must be handled by API Dash.

@ashitaprasad
Copy link
Member Author

Hi @ashitaprasad

Just wanted to share an update on Dashbot:

  • Finished Features 1 & 2 (Explain Responses + Debug Requests) – they’re working well now.
  • Also added conversation memory, delete conversation and copy response functionality.

I have a question: Should I keep separate conversation memory for each new request, or maintain a single memory for all requests (where the bot adapts based on the user’s current request)?

Here are some screenshots of the current progress. Let me know if you have any suggestions for UI improvements, response tuning or other approaches!

@siddu015 You can send a draft PR for review.

Also, we have updated the application guide here where you can learn how to share your idea in more detail and get feedback.

@ashitaprasad
Copy link
Member Author

@siddu015 hey man you don't have to develop it right now ig it's in the program

@PRANJALRANA11 Read the Application Guide. This is an issue and anyone can start working on it. It will ultimately give the contributors more ideas as the project brief is just the start.

@ashitaprasad
Copy link
Member Author

ashitaprasad commented Mar 1, 2025

@ashitaprasad Hey, I have a probabilistic idea for this. What I think is that instead of making simple genai calls to get this done or creating a simple chatbot type of conversation ai agent like the one implemented earlier in this issue, we can use langchain implementation alongwith langgraph to actually get a stepwise response generation with all parameters covered as separate nodes of a langgraph.

Instead of traditional system prompted ai agent [prompted to be the assistant - which may create hallucinations], we may use a series of dependent calls to make it more reliable. Just an idea can be to create a separate backend service for dashbot and integrating in the apidash frontend. I think this sounds reliable and achievable quickly. It solves major overheads like context management and chat history [which may be needed]. Keeping it as separate module in backend actually makes sense though. Let me know further obviously open to discussions

@ARYPROGRAMMER We have updated the application guide here where you can learn how to share your idea details with architecture and implementation plan and get feedback.

@ashitaprasad ashitaprasad added good first issue Good for newcomers and removed enhancement New feature or request labels Mar 1, 2025
@TechQaiser

This comment has been minimized.

@Clasherzz
Copy link
Contributor

Clasherzz commented Mar 3, 2025

@ashitaprasad hey there , surely lot of ai buzz going on in the repo now , quite surprised to see this actually. I was wondering if contributors use python for communication with some llms and creating memory layer. Would it be through a server hoisting the python scripts.Just curious about how this is structured!

why we cant do the same thing in python? is there any limitations?? guess what bro you need to actually start researching on this topic

Well 2 ways to do this are either through a server or through a flutter dart bridge . The second one can be a little too complex. And ig like maintainer said the organization is not looking forward on using python in their codebase

@Mrudul111
Copy link
Contributor

@siddu015 is the dashbot there for mobile version for just the Windows/macOS atp?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

7 participants