Initial commit for discussion bot
refer to #29986
This project originates from @hugary1995 's idea and his side project of creating a MOOSE Discussion database and retrieval method. Our goal is to integrate this into MOOSE and develop an automated MOOSE chatbot that displays the most relevant posts when a new discussion is initiated on MOOSE.
The current design utilizes purely vector retrieval(use LlamaIndex to build it). The algorithm compares the discussion title with the content of all previous discussions (title + discussions) in our database, and provides the most relevant posts to the user. In future updates, we plan to incorporate Large Language Models (LLMs) into this process to generate summaries of the recommended posts. The database will be updated regularly to include all new posts (potentially on a monthly basis). The scripts for fetching and generating the database, as well as the GitHub bot script, are included in this pull request. Unit tests for each script are also provided.
We are also looking for a fitting name for the discussion bot. If you have any suggestions, please share them here!
Below is a snapshot of how it looks like in discussion page:
link: https://github.com/MengnanLi91/moose/discussions/18
Job Documentation, step Docs: sync website on f5dc8b4 wanted to post the following:
View the site here
This comment will be updated on new commits.
Job Coverage, step Generate coverage on f5dc8b4 wanted to post the following:
Framework coverage
| 3459da | #29988 f5dc8b | ||||
|---|---|---|---|---|---|
| Total | Total | +/- | New | ||
| Rate | 85.49% | 85.48% | -0.00% | - | |
| Hits | 114776 | 114775 | -1 | 0 | |
| Misses | 19488 | 19489 | +1 | 0 | |
Modules coverage
Coverage did not change
Full coverage reports
Reports
-
framework -
chemical_reactions -
combined -
contact -
electromagnetics -
external_petsc_solver -
fluid_properties -
fsi -
functional_expansion_tools -
geochemistry -
heat_transfer -
level_set -
misc -
navier_stokes -
optimization -
peridynamics -
phase_field -
porous_flow -
ray_tracing -
rdg -
reactor -
richards -
scalar_transport -
solid_mechanics -
solid_properties -
stochastic_tools -
subchannel -
thermal_hydraulics -
xfem
This comment will be updated on new commits.
@GiudGiud How do you want to set the threshold? If we don't find similar posts above this threshold, what should we reply to user?
How do you want to set the threshold?
Experimentally? Start too low and raise it over time
If we don't find similar posts above this threshold, what should we reply to user?
nothing. They can wait for someone to reply
We are also looking for a fitting name for the discussion bot. If you have any suggestions, please share them here!
Not sure if we should try to adhere to our animal naming convention here. But maybe mechamoose?
Job Precheck, step Size check on f5dc8b4 wanted to post the following:
Warning: This PR changes repo size by 13.50 MiB.
This pull request has been automatically marked as stale because it has not had recent activity in the last 100 days. It will be closed in 7 days if no further activity occurs. Thank you for your contributions.