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

[FEATURE] Integration chat bot in the community webiste #1204

Open
2 tasks done
AayushSaini101 opened this issue May 9, 2024 · 6 comments
Open
2 tasks done

[FEATURE] Integration chat bot in the community webiste #1204

AayushSaini101 opened this issue May 9, 2024 · 6 comments
Labels
enhancement New feature or request stale

Comments

@AayushSaini101
Copy link
Contributor

Why do we need this improvement?

We can start integrating AI tools in our organisation, starting with chat bot that increases the contributor experience throughout the organisation. Later, we can start training the bot with our documentation.

How will this change help?

  • Introducing AI Integration in the community.
  • Increasing the developer experience

Screenshots

No response

How could it be implemented/designed?

  • Started with intergrating small bot use OpenAPI APIs for the first version.
  • Later, we can work on training the bot with our documentations.

🚧 Breaking changes

No

👀 Have you checked for similar open issues?

  • I checked and didn't find a similar issue

🏢 Have you read the Contributing Guidelines?

Are you willing to work on this issue?

Yes I am willing to submit a PR!

@AayushSaini101 AayushSaini101 added the enhancement New feature or request label May 9, 2024
@derberg
Copy link
Member

derberg commented May 9, 2024

Started with intergrating small bot use OpenAPI APIs for the first version.

why OpenAPI?


Thanks for opening the issue, there are multiple folks in the community talking about the same. Basically redefining concept that we worked on before ChatGPT AI boom -> https://github.com/asyncapi/chatbot

Pinging folks that started talking about it in slack already:
@Souvikns @AceTheCreator @lmgyuan

Regarding training - we should not just train the bot on data from docs but also:

  • all public conversations in Slack - we have access to all history - lots of knowledge there
  • all discussions in GitHub Issues/PRs and Discussions - lots of knowledge there as well

@Souvikns
Copy link
Member

Souvikns commented May 9, 2024

https://github.com/janhq/jan this is a opensource alternative for OpenAPI.

@AayushSaini101
Copy link
Contributor Author

Started with intergrating small bot use OpenAPI APIs for the first version.

why OpenAPI?

Thanks for opening the issue, there are multiple folks in the community talking about the same. Basically redefining concept that we worked on before ChatGPT AI boom -> https://github.com/asyncapi/chatbot

Pinging folks that started talking about it in slack already: @Souvikns @AceTheCreator @lmgyuan

Regarding training - we should not just train the bot on data from docs but also:

  • all public conversations in Slack - we have access to all history - lots of knowledge there
  • all discussions in GitHub Issues/PRs and Discussions - lots of knowledge there as well

@derberg I thought we don't have any chat bot before thanks, Just a doubt, i found one issue regarding the archive asyncapi/chatbot#96 why do we need to archieve the repo ? Can we continue starting working on it

Copy link
Member

derberg commented May 9, 2024

yeah, its current shape, correct me if Im wrong @AceTheCreator , is a subject for complete rework. Even existence of repo ... maybe we do not need separate repo, maybe work can be done in some other existing repo - no strong opinion

@lmgyuan
Copy link

lmgyuan commented May 16, 2024

My experience with LLM and GenAI is that, unless absolutely necessary, don't train your own model. It's costly and resource-consuming. Unless we need the model to learn some really specific patterns in the data (like doing specialized tasks such as categorizing emotions in reviews), we don't need to train a new model. Plus, our community always has new data (discussions, new PRs, new issues) coming in, so training a model is not preferable since it will not know any data or information beyond the data used to train it.

I think using RAG might be preferable (https://research.aimultiple.com/retrieval-augmented-generation/). We can use a vector database to store the Slack chat history, Issues and PRs on Github, specifications and other documents. When a user or developer asks a question, it would be embedded for doing a search in the vector database. The retrieved data will be used for generating a response by the LLM.

Although the workflow is clear, there are a few questions that we should discuss:

  • Cost: The most popular choice for LLM is OpenAI GPT4 / GPT4o. However, their API calls are expensive. We might have hundreds or thousands of users asking questions in a month. We probably don't want to spend all our money on it. Thus, we need to find alternatives to OpenAI GPT. I found that Microsoft provides credits for Non-profits to use their AI Service. We could use its RAG and AI service to build our RAG application. Whether this is feasible requires further research.
  • Model Choice: This is mentioned in the cost section, but since it's so important I think it's best to list it out. We can experiment with using different LLMs to do this, but I think it would be great if we could spend some time researching the best candidate.
  • Integration and Deployment: I think we should write this application in Python and deploy it on a cloud service. However, I am not very familiar with whether we could have credits or money for this since we are Non-profits. If anyone could enlighten me on this, that'd be great : ).

Some other potentially useful resources that I have found: BentoML; Tutorial on StackOverflow; Slack Chat Bot with LLM

I am happy to work on this project : ). Let me know if any of you have any thoughts! Let's discuss!

Copy link

This issue has been automatically marked as stale because it has not had recent activity 😴

It will be closed in 120 days if no further activity occurs. To unstale this issue, add a comment with a detailed explanation.

There can be many reasons why some specific issue has no activity. The most probable cause is lack of time, not lack of interest. AsyncAPI Initiative is a Linux Foundation project not owned by a single for-profit company. It is a community-driven initiative ruled under open governance model.

Let us figure out together how to push this issue forward. Connect with us through one of many communication channels we established here.

Thank you for your patience ❤️

@github-actions github-actions bot added the stale label Sep 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request stale
Projects
None yet
Development

No branches or pull requests

4 participants