Chore: tools to their own file [wip]
This commit is contained in:
39
bot.go
39
bot.go
@@ -44,47 +44,8 @@ var (
|
||||
{Role: assistantRole, Content: defaultFirstMsg},
|
||||
}
|
||||
interruptResp = false
|
||||
systemMsg = `You're a helpful assistant.
|
||||
# Tools
|
||||
You can do functions call if needed.
|
||||
Your current tools:
|
||||
<tools>
|
||||
{
|
||||
"name":"get_id",
|
||||
"args": "username"
|
||||
}
|
||||
</tools>
|
||||
To make a function call return a json object within __tool_call__ tags;
|
||||
Example:
|
||||
__tool_call__
|
||||
{
|
||||
"name":"get_id",
|
||||
"args": "Adam"
|
||||
}
|
||||
__tool_call___
|
||||
When making function call avoid typing anything else. 'tool' user will respond with the results of the call.
|
||||
After that you are free to respond to the user.
|
||||
`
|
||||
)
|
||||
|
||||
// predifine funcs
|
||||
func getUserDetails(id ...string) map[string]any {
|
||||
// db query
|
||||
// return DB[id[0]]
|
||||
return map[string]any{
|
||||
"username": "fm11",
|
||||
"id": 24983,
|
||||
"reputation": 911,
|
||||
"balance": 214.73,
|
||||
}
|
||||
}
|
||||
|
||||
type fnSig func(...string) map[string]any
|
||||
|
||||
var fnMap = map[string]fnSig{
|
||||
"get_id": getUserDetails,
|
||||
}
|
||||
|
||||
// ====
|
||||
|
||||
func getUserInput(userPrompt string) string {
|
||||
|
||||
Reference in New Issue
Block a user