iuiaoin / wechat-gptbot

A wechat robot based on ChatGPT with no risk, very stable! πŸš€
MIT License
579 stars 113 forks source link

[Feat]: Imagine a new mode of interaction in groups #78

Open WestXu opened 1 year ago

WestXu commented 1 year ago

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!!!

iuiaoin commented 1 year ago

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!