Fix: tool description
This commit is contained in:
41
bot.go
41
bot.go
@@ -272,6 +272,28 @@ func roleToIcon(role string) string {
|
|||||||
return "<" + role + ">: "
|
return "<" + role + ">: "
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func checkGame(role string, tv *tview.TextView) {
|
||||||
|
// Handle Cluedo game flow
|
||||||
|
// should go before form msg, since formmsg takes chatBody and makes ioreader out of it
|
||||||
|
// role is almost always user, unless it's regen or resume
|
||||||
|
// cannot get in this block, since cluedoState is nil;
|
||||||
|
// check if cfg.EnableCluedo is true and init the cluedo state; ai!
|
||||||
|
if cfg.EnableCluedo && cluedoState != nil {
|
||||||
|
notifyUser("got in cluedo", "yay")
|
||||||
|
currentPlayer := playerOrder[0]
|
||||||
|
playerOrder = append(playerOrder[1:], currentPlayer) // Rotate turns
|
||||||
|
if role == cfg.UserRole {
|
||||||
|
fmt.Fprintf(tv, "Your (%s) cards: %s\n", currentPlayer, cluedoState.GetPlayerCards(currentPlayer))
|
||||||
|
} else {
|
||||||
|
chatBody.Messages = append(chatBody.Messages, models.RoleMsg{
|
||||||
|
Role: cfg.ToolRole,
|
||||||
|
Content: cluedoState.GetPlayerCards(currentPlayer),
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
func chatRound(userMsg, role string, tv *tview.TextView, regen, resume bool) {
|
func chatRound(userMsg, role string, tv *tview.TextView, regen, resume bool) {
|
||||||
botRespMode = true
|
botRespMode = true
|
||||||
defer func() { botRespMode = false }()
|
defer func() { botRespMode = false }()
|
||||||
@@ -285,23 +307,8 @@ func chatRound(userMsg, role string, tv *tview.TextView, regen, resume bool) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Handle Cluedo game flow
|
if !resume {
|
||||||
// should go before form msg, since formmsg takes chatBody and makes ioreader out of it
|
checkGame(role, tv)
|
||||||
// role is almost always user, unless it's regen or resume
|
|
||||||
// cannot get in this block, since cluedoState is nil;
|
|
||||||
// check if cfg.EnableCluedo is true and init the cluedo state; ai!
|
|
||||||
if cfg.EnableCluedo && cluedoState != nil && !resume {
|
|
||||||
notifyUser("got in cluedo", "yay")
|
|
||||||
currentPlayer := playerOrder[0]
|
|
||||||
playerOrder = append(playerOrder[1:], currentPlayer) // Rotate turns
|
|
||||||
if role == cfg.UserRole {
|
|
||||||
fmt.Fprintf(tv, "Your (%s) cards: %s\n", currentPlayer, cluedoState.GetPlayerCards(currentPlayer))
|
|
||||||
} else {
|
|
||||||
chatBody.Messages = append(chatBody.Messages, models.RoleMsg{
|
|
||||||
Role: cfg.ToolRole,
|
|
||||||
Content: cluedoState.GetPlayerCards(currentPlayer),
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
choseChunkParser()
|
choseChunkParser()
|
||||||
reader, err := chunkParser.FormMsg(userMsg, role, resume)
|
reader, err := chunkParser.FormMsg(userMsg, role, resume)
|
||||||
|
|||||||
11
extra/twentyq.go
Normal file
11
extra/twentyq.go
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
package extra
|
||||||
|
|
||||||
|
import "math/rand"
|
||||||
|
|
||||||
|
var (
|
||||||
|
chars = []string{"Shrek", "Garfield", "Jack the Ripper"}
|
||||||
|
)
|
||||||
|
|
||||||
|
func GetRandomChar() string {
|
||||||
|
return chars[rand.Intn(len(chars))]
|
||||||
|
}
|
||||||
6
tools.go
6
tools.go
@@ -26,7 +26,7 @@ Your current tools:
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"name":"recall",
|
"name":"recall",
|
||||||
"args": "topic",
|
"args": ["topic"],
|
||||||
"when_to_use": "when asked about topic that user previously asked to memorise"
|
"when_to_use": "when asked about topic that user previously asked to memorise"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -36,7 +36,7 @@ Your current tools:
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name":"recall_topics",
|
"name":"recall_topics",
|
||||||
"args": null,
|
"args": [],
|
||||||
"when_to_use": "to see what topics are saved in memory"
|
"when_to_use": "to see what topics are saved in memory"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -46,7 +46,7 @@ To make a function call return a json object within __tool_call__ tags;
|
|||||||
__tool_call__
|
__tool_call__
|
||||||
{
|
{
|
||||||
"name":"recall",
|
"name":"recall",
|
||||||
"args": "Adam's number"
|
"args": ["Adam's number"]
|
||||||
}
|
}
|
||||||
__tool_call__
|
__tool_call__
|
||||||
</example_request>
|
</example_request>
|
||||||
|
|||||||
Reference in New Issue
Block a user