Introducing v3 of the deal.II Assistant

103 views
Skip to first unread message

Mehdi Memar

unread,
Jun 10, 2025, 6:28:22 AM6/10/25
to dealii
Dear deal.II Community,

I'm excited to share the third version of the deal.II Assistant, an agent-based, enhanced RAG virtual assistant designed to support users of the deal.II.

This latest version now covers the entire deal.II documentation, including all 90 tutorials, the test suite, and the complete reference documentation.

A summary of key improvements over earlier versions can be found here:


You can access the assistant here:

https://huggingface.co/spaces/mma666/agentic_dealii_assistant

and also learn more about the project here:


Please note that to keep costs low, the app is deployed on a free server, which may result in slower performance.

I hope this tool proves helpful in navigating and using deal.II, and I warmly welcome your feedback.

Best regards,
Mehdi Memar

Wolfgang Bangerth

unread,
Jul 20, 2025, 10:48:23 PM7/20/25
to dea...@googlegroups.com
Mehdi and all:

> I'm excited to share the third version of the deal.II Assistant, an agent-
> based, enhanced RAG virtual assistant designed to support users of the deal.II.
>
> This latest version now covers the entire deal.II documentation, including all
> 90 tutorials, the test suite, and the complete reference documentation.
> [...]

First, many thanks for making this resource available to the community!

I have wanted to give this a try since you first posted a link first, and
finally found the time to do so a couple of weeks ago. I am currently working
on a project (which will become step-91) in which I am simulating erosion
processes. I needed a function that figures out at which locations the
vertical elevation is a local maximum -- the mountain-tops of the elevation --
and thought that might make for a good example to try the Assistant. I had
just written the function myself, but thought I'd let the Assistant show me
how I could have done it, and to compare how long it would take.

My experience matches pretty closely that of others who have tried these
assistants in other contexts: The AI is pretty good at providing code outlines
for boiler-plate code that are syntactically mostly correct, and in which
function names and arguments are correct. But the algorithm is wrong if it is
not something that already exists elsewhere, which was the case for me: It
proposed an algorithm that on each cell found the DoF with the largest value.
But if that DoF lives on a vertex shared with other cells, that doesn't mean
that it's a local maximum. I pointed that out, and it gave me a different try
that was also wrong. We went around perhaps half a dozen times, but none of
the attempts was actually correct. None were even close -- perhaps not
surprisingly, since I don't think there's anything comparable in all of
deal.II (=the training set).

It is other words, the Assistant has great *recall*, but little *creativity*.
That's useful to accelerate routine set-up tasks, for which I definitely will
use it again -- say, how exactly again does one set up a parallel block vector
with ghost elements? Or, can you write the outline for assembling a matrix in
a nonlinear problem where one needs access to function values from the
previous iteration? But it doesn't reduce the need to creatively think about
algorithms for the *new* stuff -- any new algorithm that isn't already in the
code base and that is coming out of the Assistant is likely wrong; in any
case, one still needs to be able to *understand* the Assistant's output to
verify its correctness.

All that said, thank you again for providing this resource! I definitely think
that it has its place, and it was an enjoyable exercise to try it out!

Best
Wolfgang

Mehdi Memar

unread,
Jul 21, 2025, 11:18:00 PM7/21/25
to dea...@googlegroups.com
Dear Professor Bangerth,

Thank you very much for taking the time to try out the Assistant and for sharing such thoughtful feedback. It truly means a lot.

I completely agree with your observations. The Assistant, by design, relies heavily on information retrieved from existing deal.II resources. As you noted, this gives it strong recall and makes it a helpful tool for navigating documentation, generating boilerplate code, or retrieving specific usage patterns. However, when it comes to creating novel algorithms, its lack of reasoning beyond the existing resources becomes apparent. I'll make sure to highlight this limitation in the documentation.

I'm also encouraged to hear that you found value in using it for more routine tasks, and I'll further refine it to improve retrieval accuracy.

Thank you again for your support and encouragement. I hope the Assistant continues to be a useful companion for the community.

Best regards,
Mehdi

--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en
---
You received this message because you are subscribed to the Google Groups "deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dealii+un...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/dealii/f081181b-fa9a-4fa5-b541-d0792a8da2fd%40colostate.edu.

Wolfgang Bangerth

unread,
Jul 21, 2025, 11:32:21 PM7/21/25
to dea...@googlegroups.com

Mehdi:

> I completely agree with your observations. The Assistant, by design, relies
> heavily on information retrieved from existing deal.II resources. As you
> noted, this gives it strong recall and makes it a helpful tool for navigating
> documentation, generating boilerplate code, or retrieving specific usage
> patterns. However, when it comes to creating novel algorithms, its lack of
> reasoning beyond the existing resources becomes apparent. I'll make sure to
> highlight this limitation in the documentation.
>
> I'm also encouraged to hear that you found value in using it for more routine
> tasks, and I'll further refine it to improve retrieval accuracy.

I think it's useful for all of us to try out new tools. I've surely badgered
enough people over the years who are still using vi or emacs for programming
because they unnecessarily deprive themselves of tools that *actually*
understand an entire code base [1]. But I think it's also worthwhile to be
realistic about the benefits of AI tools -- a lot of people are promising that
they will make programmers 2x, 3x, or 4x faster, when actual experiments show
that that is not actually true:
https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/
Either way, I think we should all be open-minded about tools and where they
are best used. I appreciate you giving us a tool we can try, and for which we
can figure out what it is best at and what perhaps not.

Best
W.


[1] Just in case: If you spent a week configuring your vi to have access to a
symbol database, good for you. But that's not what everyone takes the time to
do, so let's not start an email thread about editors here.


Reply all
Reply to author
Forward
0 new messages