[X] I have searched issues, there is no similar issue related
Feature description
At the moment the bot only reacts to at-messages, which is reasonable for large groups. If we let the bot react to every message instead, it would be spamming the chat. So here I propose another way: let the bot decide whether it wants to reply.
In the first version, we can tell the bot in system prompt to decide whether it wants to engage a topic or conversation by itself. For example, only if it can provide useful information. If not, replay a dummy answer like empty or None or null or whatever, so we don't send it to wechat.
A better approach is to use the new function-call feature of the openai api, the bot can decide if it wants to get involved in a message. And it should be informed about the context it's in in the system prompt, like "you're a bot in a group chat, only engage in a conversation when you can be helpful. Reply in short and concise format like people talk in groupchat. " And we should allow users to define different system prompt for different groups, and a default one if not specified for a group.
It shouldn't be at-ting people in this mode, because we people are not doing this naturally.
It can also decide whether it should be at-ting people, or quoting some message, which all can be achievable by the function-call feature. The idea is to give the bot as much context as possible and let the bot decide what to do, because it can.
In this new mode, the bot would feel more like a real person. Group chats will be much more interesting and exciting.
This mode should not be the default behavior.
Motivation
Imagine this bot is in a somewhat quiet group, with only few people in it like your parents. This proposed new mode will make the group so much talkative and funnier.
This is such a cool project. Let's make it even cooler!!!
Yes, sounds great π! This can be done with function calling, and it's on the list #30. Yet I'm quite busy recently, welcome to join the contributors to help build it!
Search for answers in existing issues
Feature description
At the moment the bot only reacts to at-messages, which is reasonable for large groups. If we let the bot react to every message instead, it would be spamming the chat. So here I propose another way: let the bot decide whether it wants to reply.
In the first version, we can tell the bot in system prompt to decide whether it wants to engage a topic or conversation by itself. For example, only if it can provide useful information. If not, replay a dummy answer like empty or None or null or whatever, so we don't send it to wechat.
A better approach is to use the new function-call feature of the openai api, the bot can decide if it wants to get involved in a message. And it should be informed about the context it's in in the system prompt, like "you're a bot in a group chat, only engage in a conversation when you can be helpful. Reply in short and concise format like people talk in groupchat. " And we should allow users to define different system prompt for different groups, and a default one if not specified for a group.
It shouldn't be at-ting people in this mode, because we people are not doing this naturally.
It can also decide whether it should be at-ting people, or quoting some message, which all can be achievable by the function-call feature. The idea is to give the bot as much context as possible and let the bot decide what to do, because it can.
In this new mode, the bot would feel more like a real person. Group chats will be much more interesting and exciting.
This mode should not be the default behavior.
Motivation
Imagine this bot is in a somewhat quiet group, with only few people in it like your parents. This proposed new mode will make the group so much talkative and funnier.
This is such a cool project. Let's make it even cooler!!!