10 comments

[ 2.9 ms ] story [ 28.3 ms ] thread
There are so many Emacs chat-gpt packages already. How does this one differ from xenodium/chatgpt-shell? That one too, has org-mode integration.
chatgpt-shell in org-mode does not support chaining together multiple messages whereas org-assistant supports:

#+BEGIN_SRC ?

A

#+END_SRC

#+BEGIN_EXAMPLE

A-response

#+END_EXAMPLE

#+BEGIN_SRC ?

B

#+END_SRC

Where if you run Ctrl-c Ctrl-C on the block it sends the conversation to chatgpt:

User: A

Assistant: A-response

User: B

This enables notebook style development if you are tinkering with a prompt and want to see how the responses cascade based on further input.

Oh, that's cool. I'll give it a try. Thank you!
Clarification question: When you press C-c C-c on the B block, what is sent to ChatGPT, only B or the whole previous conversation? If the latter, this would break Org Babel semantics. Not necessarily a dealbreaker, but something to be aware of.
It's the whole previous conversation prior to the top level headline containing the block.

Makes sense, I won't be changing it from the current way. I think chatgpt-shell works more idiomatically in the org way in that context so that can be an alternative for people who prefer the former variant.

How many of them specifically integrate with org-babel? I agree that there are a ton of Emacs packages trying to take advantage of ChatGPT, but I don't remember any particular ones that integrate with org-babel to give you a sort of "AI-assisted notebooks" software.
> How many of them specifically integrate with org-babel?

The one I asked about. It does integrate with babel. I simply didn't know to what extent.

org-ai does and was recommended here before[1]. The readme mentions the differences:

   org-assistant.el and org-ai.el

    org-ai.el is focused more on runtime interaction with AI
    org-assistant.el is focused more on reproducible sessions via org babel
    org-assistant.el supports branching conversations
    org-assistant.el is not meant to be used downstream as a library for AI endpoint interactions.
    In org-assistant.el, all interaction is async using org-babel, which allows for notebook style prompt development
    In org-ai.el, interaction is synchronous and inline, which is better for in-editor use cases
    org-ai.el supports a lot of other AI use cases like text to speech

[1] https://github.com/rksm/org-ai
Wonder which package will replace M-x doctor.