summaryrefslogtreecommitdiff
path: root/tools.go
diff options
context:
space:
mode:
Diffstat (limited to 'tools.go')
-rw-r--r--tools.go59
1 files changed, 59 insertions, 0 deletions
diff --git a/tools.go b/tools.go
new file mode 100644
index 0000000..82f07b3
--- /dev/null
+++ b/tools.go
@@ -0,0 +1,59 @@
+package main
+
+var (
+ // TODO: form that message based on existing funcs
+ 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.
+`
+)
+
+func memorize(topic, info string) {
+ //
+}
+
+func recall(topic string) string {
+ //
+ return ""
+}
+
+func recallTopics() []string {
+ return []string{}
+}
+
+func fullMemoryLoad() {}
+
+// 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,
+}