We would love to have ai bot in the chat function. our user uses Chat heavily .
Can you expand on how you wish it would work?
My users would use it like
- my vet said dogs can get vitamin D from sunlight
- I don’t think so… everybody says we have to use nutraceuticals
- really? Hi
@helpful-botcan dogs get vitamin D from the sun?
Something like that. Means I don’t need different personas. But for me that is not a deal breaker. I have that another chatbot in use at channels
Apologies for the ambiguity. I meant to say that we want our users to be able to summon the bot in the general chat channel by using @botname. Additionally, users within the eligible group should have the capability to directly message the bot. like the screen shots below;
I see, so trying to zero in here there are … with a bit more technical details.
@gpt3.5-botwould select the first prioritized persona… that would usually be forum helper but you could change it.
- We would also supply context (lets say 1000 tokens of previous chat messages) so it would be lined up. (is this configurable or not? configurable by persona or not?)
- We clearly need to restrict the group of people who can
@mentionin chat, so we would need a site setting for it.
- We would need to think about auditability, an easy minimum here would be to ship a data explorer query.
- Given recent chat refactors, we can open “unlimited” new discussions with a bot, so we could design something there for sure.
- If we allow @mentioning in chat… why not also allow it in forum posts to the same group? different group.
Given all of this… my V0 suggestion would be:
- Add site setting
- Hard code 1000 tokens of context for now - choose first prioritized persona
- Only do
@mentionsupport for V0
- Streaming and cancel support
- Add optional support for “Group DMs with ai bots”
- Ensure we also have a nice UI to find all this stuff and minimize overhead of doing this.
Optionally allow personas to also stage a dedicated user with a dedicated avatar. Then you can interact with multiple bots in chat. In this mode persona would have a user/model selected as well.
Also move some configuration to persona UI … which persona is enabled for chat?
- Think about limits - maximum token usage per day per user, stuff like that
- Think about also adding some of this into standard topics - (needs site setting, etc…) eg:
@summary_bot summarize this topic up till now
Overall I like a lot of this, just need to figure out how we line this stuff into our roadmap.
In the meantime, if you are self-hosted, you can always consider Discourse Chatbot, which has supported Chat from the very beginning (and indeed was the first AI Chatbot for Discourse).
This sounds like a very solid plan.
Maybe we start with a setting for a default chat persona, and eventually migrate to per-channel?
I think chat is a good place to start, then eventually port same behavior to topics.
I pretty much agree with your and @Falco’s thoughts here, the only thing to add would be to make sure it’s working with Chat Threads as well, if not V0 then V1/V2
(Optional) One additional thing that might be worth adding down the line is an option here to initiate a chat with the bot, my thinking is that for certain users might not even know they can do that!
Seems ok for a V0. I think having a better UI to create bots and be able to define allowed groups from this UI would be far better than a site setting in mid/long term.
Persona editor is how we will get there, for sure.
We already have all the bones for attaching a new user to a persona