Improve dice rolling for discourse-narrative-bot

Although @discobot has a dice roller, it’s too simple. It’s not yet capable of rolling complex dice and formulas for specific needs. So, I’d like to improve this feature and make it possible to run dice like 1d20+5, 1d20+2 + 2d12-1, 5d10k2 and so on…

I submitted this PR and would very much appreciate reviews and thoughts about it. Thanks! :slight_smile:

https://github.com/discourse/discourse/pull/7381

4 Mi Piace

Hi! To find out what I can do, say @discobot display help.

2 Mi Piace

Shoo! I don’t want to talk to you… ¬¬

6 Mi Piace

Discourse AI ora ha un generatore di dadi ragionevolmente capace e creativo, ad esempio @random_picker_bot, che ne dici di tirare un 1d20+5 per me?

Inoltre, mentre ci sei, scegli un nome casuale per il mio gatto.

3 Mi Piace
Random Picker

Picking from ["1-20"], picked: [5]

Random Picker

Picking from ["Whiskers,Mittens,Socks,Shadow,Simba,Leo,Oliver,Luna,Bella,Max"], picked: ["Shadow"]

For your adventurous roll of 1d20+5, the dice landed on a 5, which adds up to a grand total of 10!

And for your future feline friend, the Random Picker has decreed its name shall be Shadow. Sounds like a kitty destined for stealthy midnight adventures, doesn’t it? :cat::sparkles:

4 Mi Piace

Il grande vantaggio qui è che non è necessario imparare alcuna sintassi speciale, GPT-4 lo capisce da solo. Può rendere il lancio dei dadi un po’ costoso, ma anche GPT 3.5 fa un lavoro ragionevole.

2 Mi Piace

Come potremmo sapere se questo tipo di sistema sta facendo ciò che ci aspettiamo? Potrebbe preferire i numeri dispari, o preferire di non ottenere doppi, o qualsiasi altra cosa.

1 Mi Piace

Puoi controllare il codice di randomizzazione su https://github.com/discourse/discourse-ai/blob/main/lib/ai_bot/tools/random_picker.rb. Ad esempio, i tiri di dadi sembrano essere determinati da:

2 Mi Piace

Ah, grazie mille. Avevo ingenuamente supposto che l’LLM stesse facendo il lavoro: essere collegato a qualche codice procedurale è una storia diversa e in questo caso la risposta giusta!

Cose simili su Chatbot. Se gli chiedi di fare calcoli, chiamerà una funzione deterministica invece di lasciarla al caso.

2 Mi Piace