@misterscan/sesi 1.1.1 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +44 -19
- package/bin/sesi.js +35 -34
- package/dist/ai-runtime.d.ts +5 -0
- package/dist/ai-runtime.d.ts.map +1 -1
- package/dist/ai-runtime.js +157 -7
- package/dist/ai-runtime.js.map +1 -1
- package/dist/builtins.d.ts +1 -1
- package/dist/builtins.d.ts.map +1 -1
- package/dist/builtins.js +114 -1
- package/dist/builtins.js.map +1 -1
- package/dist/interpreter.d.ts +6 -1
- package/dist/interpreter.d.ts.map +1 -1
- package/dist/interpreter.js +210 -36
- package/dist/interpreter.js.map +1 -1
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +2 -0
- package/dist/parser.js.map +1 -1
- package/dist/sesi.bundled.js +55012 -0
- package/dist/types.d.ts +9 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/docs/ARCHITECTURE.md +9 -9
- package/docs/BUILTINS.md +87 -8
- package/docs/DISTRIBUTED_SYSTEMS.md +1 -1
- package/docs/IMAGE_GENERATION.md +82 -1
- package/docs/IMPLEMENTATION_SUMMARY.md +544 -533
- package/docs/QUICKSTART.md +52 -33
- package/docs/README.md +21 -39
- package/docs/ROADMAP.md +10 -11
- package/docs/SPECIFICATION.md +37 -14
- package/docs/SYSTEMS_REASONING.md +35 -11
- package/docs/bakery_logo.png +0 -0
- package/docs/coffee_mug.png +0 -0
- package/docs/desk_lamp.png +0 -0
- package/docs/logo.png +0 -0
- package/docs/notebook.png +0 -0
- package/docs/sesi_ai_chronicles.md +209 -0
- package/examples/16_modules.sesi +28 -0
- package/examples/17_http_client.sesi +29 -0
- package/examples/18_parallel_requests.sesi +37 -0
- package/main/chatbot.sesi +36 -0
- package/main/conversational_classifier_weights.json +45 -0
- package/main/conversational_sentences.json +304 -0
- package/main/epochs.sesi +94 -0
- package/main/gpu_orchestrator.sesi +36 -0
- package/main/hardware_diagnostics.sesi +118 -0
- package/main/inference.sesi +54 -0
- package/main/native_chatbot.sesi +180 -0
- package/main/native_synthesizer.sesi +83 -0
- package/main/nn_personas_trainer.sesi +302 -0
- package/main/nn_responses_trainer.sesi +269 -0
- package/main/nn_sentences_trainer.sesi +330 -0
- package/main/personas.json +124 -0
- package/main/personas_classifier_weights.json +45 -0
- package/main/playground.sesi +3 -1
- package/main/predictive_typing.sesi +127 -0
- package/main/query_brain.sesi +45 -0
- package/main/response_classifier_weights.json +45 -0
- package/main/retro_chat.html +239 -0
- package/main/retro_chat_generator.sesi +745 -0
- package/main/sesi_ai.sesi +158 -0
- package/main/sesi_db_chatbot.sesi +261 -0
- package/main/terminal_chat.py +385 -0
- package/main/tests/temp_math_mod.sesi +3 -0
- package/main/tests/test_image_input.sesi +40 -0
- package/main/tests/test_v2_features.sesi +48 -0
- package/main/unified_sesi_ai.sesi +334 -0
- package/main/varied_responses.json +304 -0
- package/package.json +12 -5
- package/main/atm_deposit.sesi +0 -37
- package/main/atm_withdraw.sesi +0 -37
- package/main/data.txt +0 -1
- package/main/math_aggregator.sesi +0 -15
- package/main/math_generator.sesi +0 -7
- package/main/math_processor.sesi +0 -23
- package/main/tax_calculator.sesi +0 -15
- package/main/vault.sesi +0 -15
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
// Sesi Script: sesi_ai.sesi
|
|
2
|
+
// 100% Native Pure-Sesi Deep Learning Framework!
|
|
3
|
+
// Trains a 2-layer Backpropagation Neural Network to solve the XOR gate completely offline with zero Python dependencies!
|
|
4
|
+
// Features a dynamic Self-Healing Watchdog that automatically breaks local minima traps by re-seeding synapses!
|
|
5
|
+
|
|
6
|
+
print "=================================================="
|
|
7
|
+
print "🧠 WELCOME TO THE PURE-SESI DEEP LEARNING SYSTEM!"
|
|
8
|
+
print "=================================================="
|
|
9
|
+
print "⚙️ Initializing Sesi AI synaptic structures..."
|
|
10
|
+
|
|
11
|
+
// 1. Sigmoid Activation Math Functions
|
|
12
|
+
fn activate(x) {
|
|
13
|
+
return 1.0 / (1.0 + exp(0.0 - x))
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
fn derivative(y) {
|
|
17
|
+
return y * (1.0 - y)
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// Training dataset (XOR Logical Gate)
|
|
21
|
+
let inputs = [[0.0, 0.0], [0.0, 1.0], [1.0, 0.0], [1.0, 1.0]]
|
|
22
|
+
let targets = [0.0, 1.0, 1.0, 0.0]
|
|
23
|
+
|
|
24
|
+
let lr = 0.4
|
|
25
|
+
let training_epochs = 4000
|
|
26
|
+
|
|
27
|
+
// Active synapse flat variables
|
|
28
|
+
let w00 = 0.0
|
|
29
|
+
let w01 = 0.0
|
|
30
|
+
let bh0 = 0.0
|
|
31
|
+
let w10 = 0.0
|
|
32
|
+
let w11 = 0.0
|
|
33
|
+
let bh1 = 0.0
|
|
34
|
+
let wo0 = 0.0
|
|
35
|
+
let wo1 = 0.0
|
|
36
|
+
let bo = 0.0
|
|
37
|
+
|
|
38
|
+
// Dynamic Self-Healing Training Loop
|
|
39
|
+
let trained = false
|
|
40
|
+
let attempt = 1
|
|
41
|
+
|
|
42
|
+
while !trained {
|
|
43
|
+
print "--------------------------------------------------"
|
|
44
|
+
print "⚡ Training attempt #" + str(attempt) + "..."
|
|
45
|
+
|
|
46
|
+
// Randomize all synaptic weights between -2.0 and 2.0 to break symmetry
|
|
47
|
+
w00 = (random() * 4.0) - 2.0
|
|
48
|
+
w01 = (random() * 4.0) - 2.0
|
|
49
|
+
bh0 = (random() * 4.0) - 2.0
|
|
50
|
+
|
|
51
|
+
w10 = (random() * 4.0) - 2.0
|
|
52
|
+
w11 = (random() * 4.0) - 2.0
|
|
53
|
+
bh1 = (random() * 4.0) - 2.0
|
|
54
|
+
|
|
55
|
+
wo0 = (random() * 4.0) - 2.0
|
|
56
|
+
wo1 = (random() * 4.0) - 2.0
|
|
57
|
+
bo = (random() * 4.0) - 2.0
|
|
58
|
+
|
|
59
|
+
// Train for specified epochs
|
|
60
|
+
let epoch = 1
|
|
61
|
+
while epoch <= training_epochs {
|
|
62
|
+
let i = 0
|
|
63
|
+
while i < 4 {
|
|
64
|
+
let x = inputs[i]
|
|
65
|
+
let target = targets[i]
|
|
66
|
+
|
|
67
|
+
// --- 1. Forward Propagation ---
|
|
68
|
+
let h_sum0 = (x[0] * w00) + (x[1] * w01) + bh0
|
|
69
|
+
let h_out0 = activate(h_sum0)
|
|
70
|
+
|
|
71
|
+
let h_sum1 = (x[0] * w10) + (x[1] * w11) + bh1
|
|
72
|
+
let h_out1 = activate(h_sum1)
|
|
73
|
+
|
|
74
|
+
let o_sum = (h_out0 * wo0) + (h_out1 * wo1) + bo
|
|
75
|
+
let output = activate(o_sum)
|
|
76
|
+
|
|
77
|
+
// --- 2. Backpropagation ---
|
|
78
|
+
let error = target - output
|
|
79
|
+
let delta_output = error * derivative(output)
|
|
80
|
+
|
|
81
|
+
let delta_hidden0 = delta_output * wo0 * derivative(h_out0)
|
|
82
|
+
let delta_hidden1 = delta_output * wo1 * derivative(h_out1)
|
|
83
|
+
|
|
84
|
+
// --- 3. Synaptic Weight Updates ---
|
|
85
|
+
wo0 = wo0 + (lr * delta_output * h_out0)
|
|
86
|
+
wo1 = wo1 + (lr * delta_output * h_out1)
|
|
87
|
+
bo = bo + (lr * delta_output)
|
|
88
|
+
|
|
89
|
+
w00 = w00 + (lr * delta_hidden0 * x[0])
|
|
90
|
+
w01 = w01 + (lr * delta_hidden0 * x[1])
|
|
91
|
+
bh0 = bh0 + (lr * delta_hidden0)
|
|
92
|
+
|
|
93
|
+
w10 = w10 + (lr * delta_hidden1 * x[0])
|
|
94
|
+
w11 = w11 + (lr * delta_hidden1 * x[1])
|
|
95
|
+
bh1 = bh1 + (lr * delta_hidden1)
|
|
96
|
+
|
|
97
|
+
i = i + 1
|
|
98
|
+
}
|
|
99
|
+
epoch = epoch + 1
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// Evaluate final training attempt loss
|
|
103
|
+
let total_error = 0.0
|
|
104
|
+
let v = 0
|
|
105
|
+
while v < 4 {
|
|
106
|
+
let x = inputs[v]
|
|
107
|
+
let target = targets[v]
|
|
108
|
+
|
|
109
|
+
let h_out0 = activate((x[0] * w00) + (x[1] * w01) + bh0)
|
|
110
|
+
let h_out1 = activate((x[0] * w10) + (x[1] * w11) + bh1)
|
|
111
|
+
let output = activate((h_out0 * wo0) + (h_out1 * wo1) + bo)
|
|
112
|
+
|
|
113
|
+
let error = target - output
|
|
114
|
+
total_error = total_error + (error * error)
|
|
115
|
+
v = v + 1
|
|
116
|
+
}
|
|
117
|
+
let mse = total_error / 4.0
|
|
118
|
+
|
|
119
|
+
print "Attempt #" + str(attempt) + " completed -> Final Loss (MSE): " + str(mse)
|
|
120
|
+
|
|
121
|
+
if mse < 0.01 {
|
|
122
|
+
trained = true
|
|
123
|
+
print "🎯 Perfect convergence achieved!"
|
|
124
|
+
} else {
|
|
125
|
+
print "⚠️ Stuck in linear saddle trap (MSE: " + str(mse) + "). Re-seeding synapses..."
|
|
126
|
+
attempt = attempt + 1
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
// 4. Save the trained weights to a JSON file so we can query them offline!
|
|
131
|
+
let savedWeights = {}
|
|
132
|
+
savedWeights["w_hidden"] = [[w00, w01], [w10, w11]]
|
|
133
|
+
savedWeights["b_hidden"] = [bh0, bh1]
|
|
134
|
+
savedWeights["w_output"] = [wo0, wo1]
|
|
135
|
+
savedWeights["b_output"] = bo
|
|
136
|
+
|
|
137
|
+
let jsonString = to_json(savedWeights)
|
|
138
|
+
write_file("sesi_model_weights.json", jsonString)
|
|
139
|
+
print "💾 Synaptic knowledge successfully saved to sesi_model_weights.json!"
|
|
140
|
+
|
|
141
|
+
print "--------------------------------------------------"
|
|
142
|
+
print "🎉 Training Complete! XOR Logical Boundary Learned Natively!"
|
|
143
|
+
print "--------------------------------------------------"
|
|
144
|
+
print "🔮 Running final high-precision native verification:"
|
|
145
|
+
|
|
146
|
+
let v = 0
|
|
147
|
+
while v < 4 {
|
|
148
|
+
let x = inputs[v]
|
|
149
|
+
let target = targets[v]
|
|
150
|
+
|
|
151
|
+
let h_out0 = activate((x[0] * w00) + (x[1] * w01) + bh0)
|
|
152
|
+
let h_out1 = activate((x[0] * w10) + (x[1] * w11) + bh1)
|
|
153
|
+
let output = activate((h_out0 * wo0) + (h_out1 * wo1) + bo)
|
|
154
|
+
|
|
155
|
+
print "Input: [" + str(x[0]) + ", " + str(x[1]) + "] -> Target: " + str(target) + " -> Sesi Natively Predicted: " + str(output)
|
|
156
|
+
v = v + 1
|
|
157
|
+
}
|
|
158
|
+
print "=================================================="
|
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
// Sesi Script: sesi_db_chatbot.sesi
|
|
2
|
+
// 100% NATIVE, ZERO-HARDCODING DEEP LEARNING CO-PILOT!
|
|
3
|
+
// Dynamically indexes the sesi-db knowledge base, trains on-the-fly, and answers queries!
|
|
4
|
+
|
|
5
|
+
// ==================================================
|
|
6
|
+
// 💬 1. CHOOSE YOUR ADVANCED TECHNICAL QUERY HERE!
|
|
7
|
+
// (Test it with custom phrases containing our keywords!)
|
|
8
|
+
let queryText = "how do I parse a json string?"
|
|
9
|
+
try {
|
|
10
|
+
queryText = read_file("query.txt")
|
|
11
|
+
} catch (e) {}
|
|
12
|
+
// ==================================================
|
|
13
|
+
|
|
14
|
+
print "=================================================="
|
|
15
|
+
print "🧠 WELCOME TO THE SESI CO-PILOT!"
|
|
16
|
+
print "=================================================="
|
|
17
|
+
|
|
18
|
+
// Sigmoid math
|
|
19
|
+
fn activate(x) {
|
|
20
|
+
return 1.0 / (1.0 + exp(0.0 - x))
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
fn derivative(y) {
|
|
24
|
+
return y * (1.0 - y)
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// 2. Advanced Bag-of-Words Vectorizer (49 keywords covering all Sesi primitives & built-ins)
|
|
28
|
+
fn vectorize(text) {
|
|
29
|
+
let words = split(text, " ")
|
|
30
|
+
|
|
31
|
+
// Dynamically initialize 49-dimensional vector
|
|
32
|
+
let vec = []
|
|
33
|
+
let k = 0
|
|
34
|
+
while k < 49 {
|
|
35
|
+
push(vec, 0.0)
|
|
36
|
+
k = k + 1
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
let w = 0
|
|
40
|
+
while w < len(words) {
|
|
41
|
+
let word = words[w]
|
|
42
|
+
if word == "print" { vec[0] = 1.0 }
|
|
43
|
+
if word == "str" { vec[1] = 1.0 }
|
|
44
|
+
if word == "type" { vec[2] = 1.0 }
|
|
45
|
+
if word == "num" { vec[3] = 1.0 }
|
|
46
|
+
if word == "bool" { vec[4] = 1.0 }
|
|
47
|
+
if word == "json" { vec[5] = 1.0 }
|
|
48
|
+
if word == "from_json" { vec[6] = 1.0 }
|
|
49
|
+
if word == "to_json" { vec[7] = 1.0 }
|
|
50
|
+
if word == "len" { vec[8] = 1.0 }
|
|
51
|
+
if word == "file" { vec[9] = 1.0 }
|
|
52
|
+
if word == "read_file" { vec[10] = 1.0 }
|
|
53
|
+
if word == "write_file" { vec[11] = 1.0 }
|
|
54
|
+
if word == "dir" { vec[12] = 1.0 }
|
|
55
|
+
if word == "list_dir" { vec[13] = 1.0 }
|
|
56
|
+
if word == "make_dir" { vec[14] = 1.0 }
|
|
57
|
+
if word == "exp" { vec[15] = 1.0 }
|
|
58
|
+
if word == "random" { vec[16] = 1.0 }
|
|
59
|
+
if word == "let" { vec[17] = 1.0 }
|
|
60
|
+
if word == "const" { vec[18] = 1.0 }
|
|
61
|
+
if word == "fn" { vec[19] = 1.0 }
|
|
62
|
+
if word == "if" { vec[20] = 1.0 }
|
|
63
|
+
if word == "else" { vec[21] = 1.0 }
|
|
64
|
+
if word == "while" { vec[22] = 1.0 }
|
|
65
|
+
if word == "for" { vec[23] = 1.0 }
|
|
66
|
+
if word == "return" { vec[24] = 1.0 }
|
|
67
|
+
if word == "break" { vec[25] = 1.0 }
|
|
68
|
+
if word == "continue" { vec[26] = 1.0 }
|
|
69
|
+
if word == "try" { vec[27] = 1.0 }
|
|
70
|
+
if word == "catch" { vec[28] = 1.0 }
|
|
71
|
+
if word == "import" { vec[29] = 1.0 }
|
|
72
|
+
if word == "export" { vec[30] = 1.0 }
|
|
73
|
+
if word == "memory" { vec[31] = 1.0 }
|
|
74
|
+
if word == "sleep" { vec[32] = 1.0 }
|
|
75
|
+
if word == "now" { vec[33] = 1.0 }
|
|
76
|
+
if word == "model" { vec[34] = 1.0 }
|
|
77
|
+
if word == "image" { vec[35] = 1.0 }
|
|
78
|
+
if word == "structured_output" { vec[36] = 1.0 }
|
|
79
|
+
if word == "tool_call" { vec[37] = 1.0 }
|
|
80
|
+
if word == "spawn" { vec[38] = 1.0 }
|
|
81
|
+
if word == "exec" { vec[39] = 1.0 }
|
|
82
|
+
if word == "time" { vec[40] = 1.0 }
|
|
83
|
+
if word == "range" { vec[41] = 1.0 }
|
|
84
|
+
if word == "push" { vec[42] = 1.0 }
|
|
85
|
+
if word == "pop" { vec[43] = 1.0 }
|
|
86
|
+
if word == "join" { vec[44] = 1.0 }
|
|
87
|
+
if word == "split" { vec[45] = 1.0 }
|
|
88
|
+
if word == "keys" { vec[46] = 1.0 }
|
|
89
|
+
if word == "values" { vec[47] = 1.0 }
|
|
90
|
+
if word == "array" { vec[48] = 1.0 }
|
|
91
|
+
w = w + 1
|
|
92
|
+
}
|
|
93
|
+
return vec
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
let db_files = list_dir("sesi-db")
|
|
97
|
+
let num_classes = len(db_files)
|
|
98
|
+
|
|
99
|
+
if num_classes == 0 {
|
|
100
|
+
print "⚠️ Database is empty! Run 'sesi indexer.sesi' first!"
|
|
101
|
+
} else {
|
|
102
|
+
print "✅ Found " + str(num_classes) + " knowledge documents in sesi-db!"
|
|
103
|
+
|
|
104
|
+
let database = []
|
|
105
|
+
let inputs = []
|
|
106
|
+
let targets = []
|
|
107
|
+
|
|
108
|
+
let i = 0
|
|
109
|
+
while i < num_classes {
|
|
110
|
+
let f = db_files[i]
|
|
111
|
+
let raw = read_file("sesi-db/" + f)
|
|
112
|
+
let parsed = from_json(raw)
|
|
113
|
+
|
|
114
|
+
// Combine summary and rules for training text
|
|
115
|
+
let doc_text = parsed["summary"] + " " + parsed["key_rules"]
|
|
116
|
+
let vec = vectorize(doc_text)
|
|
117
|
+
push(inputs, vec)
|
|
118
|
+
|
|
119
|
+
// Create one-hot targets dynamically
|
|
120
|
+
let t = []
|
|
121
|
+
let t_idx = 0
|
|
122
|
+
while t_idx < num_classes {
|
|
123
|
+
if t_idx == i {
|
|
124
|
+
push(t, 1.0)
|
|
125
|
+
} else {
|
|
126
|
+
push(t, 0.0)
|
|
127
|
+
}
|
|
128
|
+
t_idx = t_idx + 1
|
|
129
|
+
}
|
|
130
|
+
push(targets, t)
|
|
131
|
+
push(database, parsed)
|
|
132
|
+
|
|
133
|
+
i = i + 1
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
// 4. Dynamic Multi-Class Weights Matrix Initialization
|
|
137
|
+
let weights = []
|
|
138
|
+
let biases = []
|
|
139
|
+
|
|
140
|
+
let c = 0
|
|
141
|
+
while c < num_classes {
|
|
142
|
+
// Initialize random-seeded weights between -0.2 and 0.2
|
|
143
|
+
let w_row = []
|
|
144
|
+
let k = 0
|
|
145
|
+
while k < 49 {
|
|
146
|
+
let r_val = (random() * 0.4) - 0.2
|
|
147
|
+
push(w_row, r_val)
|
|
148
|
+
k = k + 1
|
|
149
|
+
}
|
|
150
|
+
push(weights, w_row)
|
|
151
|
+
push(biases, 0.0)
|
|
152
|
+
c = c + 1
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
// 5. Run dynamic multi-class gradient descent training loop (2,000 epochs)
|
|
156
|
+
let lr = 0.5
|
|
157
|
+
let epoch = 1
|
|
158
|
+
while epoch <= 2000 {
|
|
159
|
+
let c = 0
|
|
160
|
+
while c < num_classes {
|
|
161
|
+
let x = inputs[c]
|
|
162
|
+
let t = targets[c]
|
|
163
|
+
|
|
164
|
+
// Forward propagation (dynamic dot product)
|
|
165
|
+
let sum = 0.0
|
|
166
|
+
let w_row = weights[c]
|
|
167
|
+
let k = 0
|
|
168
|
+
while k < 49 {
|
|
169
|
+
sum = sum + (x[k] * w_row[k])
|
|
170
|
+
k = k + 1
|
|
171
|
+
}
|
|
172
|
+
let o = activate(sum + biases[c])
|
|
173
|
+
|
|
174
|
+
// Backpropagation delta
|
|
175
|
+
let delta = (t[c] - o) * derivative(o)
|
|
176
|
+
|
|
177
|
+
// Synaptic updates
|
|
178
|
+
k = 0
|
|
179
|
+
while k < 49 {
|
|
180
|
+
w_row[k] = w_row[k] + (lr * delta * x[k])
|
|
181
|
+
k = k + 1
|
|
182
|
+
}
|
|
183
|
+
biases[c] = biases[c] + (lr * delta)
|
|
184
|
+
|
|
185
|
+
c = c + 1
|
|
186
|
+
}
|
|
187
|
+
epoch = epoch + 1
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
let query_vec = vectorize(queryText)
|
|
191
|
+
|
|
192
|
+
// Forward propagation on user query across all dynamic classes
|
|
193
|
+
let outputs = []
|
|
194
|
+
let j = 0
|
|
195
|
+
while j < num_classes {
|
|
196
|
+
let sum = 0.0
|
|
197
|
+
let w_row = weights[j]
|
|
198
|
+
let k = 0
|
|
199
|
+
while k < 49 {
|
|
200
|
+
sum = sum + (query_vec[k] * w_row[k])
|
|
201
|
+
k = k + 1
|
|
202
|
+
}
|
|
203
|
+
let o = activate(sum + biases[j])
|
|
204
|
+
push(outputs, o)
|
|
205
|
+
j = j + 1
|
|
206
|
+
}
|
|
207
|
+
print "🧠 Neural Activation Scores: " + str(outputs)
|
|
208
|
+
|
|
209
|
+
// Determine class index with highest score
|
|
210
|
+
let best_class = 0
|
|
211
|
+
let max_score = -1.0
|
|
212
|
+
let j = 0
|
|
213
|
+
while j < num_classes {
|
|
214
|
+
if outputs[j] > max_score {
|
|
215
|
+
max_score = outputs[j]
|
|
216
|
+
best_class = j
|
|
217
|
+
}
|
|
218
|
+
j = j + 1
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
// 7. Output Dynamic Recommendation with Confidence Thresholding
|
|
222
|
+
print "--------------------------------------------------"
|
|
223
|
+
print "🤖 SESI CO-PILOT RESPONDING:"
|
|
224
|
+
print "--------------------------------------------------"
|
|
225
|
+
if max_score < 0.40 {
|
|
226
|
+
print "🤔 Sesi's native synapses evaluated this query with low confidence: " + str(max_score)
|
|
227
|
+
print " It seems your question does not contain any Sesi keywords in our vocabulary!"
|
|
228
|
+
print " Please try asking about: 'print', 'str', 'files', 'json', 'model', 'image', or 'random'!"
|
|
229
|
+
} else {
|
|
230
|
+
let rec = database[best_class]
|
|
231
|
+
print "📂 DOCUMENTATION MATCHED: " + db_files[best_class]
|
|
232
|
+
print "--------------------------------------------------"
|
|
233
|
+
print "🧠 Dynamic predictive text generation active..."
|
|
234
|
+
print "🤖 Conversationalizing and re-typing manual answer..."
|
|
235
|
+
|
|
236
|
+
let docs_list = list_dir("docs")
|
|
237
|
+
let sesiDocs = ""
|
|
238
|
+
let d = 0
|
|
239
|
+
while d < len(docs_list) {
|
|
240
|
+
let f_name = docs_list[d]
|
|
241
|
+
let parts = split(f_name, ".")
|
|
242
|
+
let ext = parts[len(parts) - 1]
|
|
243
|
+
|
|
244
|
+
if ext == "md" {
|
|
245
|
+
let doc_content = read_file("docs/" + f_name)
|
|
246
|
+
sesiDocs = sesiDocs + "\n\n=== DOCUMENT: " + f_name + " ===\n" + doc_content
|
|
247
|
+
}
|
|
248
|
+
d = d + 1
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
let ragPrompt = "Sesi Official Reference Documentation:\n" + sesiDocs + "\n\nUser Query: " + queryText + "\n\nMatched Context from Sesi DB:\nSummary: " + rec["summary"] + "\nKey Rules: " + rec["key_rules"] + "\n\nInstructions: Write a direct, beautiful, highly conversational response to the user's question using strictly the matched rules. Walk them through Sesi's syntax with direct examples. Be helpful and concise. Do not mention that you got this from a database—act as a supportive code copilot. All responses must not anticipate a future response."
|
|
252
|
+
|
|
253
|
+
let generated_response = model("gemini-3.1-flash-lite") {"temperature": 0.3, "max_tokens": 200} {ragPrompt}
|
|
254
|
+
|
|
255
|
+
print "--------------------------------------------------"
|
|
256
|
+
print generated_response
|
|
257
|
+
print "--------------------------------------------------"
|
|
258
|
+
print "📐 Neural Classification Confidence: " + str(max_score)
|
|
259
|
+
}
|
|
260
|
+
print "=================================================="
|
|
261
|
+
}
|