forked from daveshap/REMO_Framework
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathremo.py
42 lines (33 loc) · 1.15 KB
/
remo.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
from fastapi import FastAPI
import utils
import os
app = FastAPI()
root_folder = os.getcwd()
#root_folder = 'C:/raven_private/REMO/'
max_cluster_size = 5
# REMO = Rolling Episodic Memory Organizer
@app.post("/add_message")
async def add_message(message: str, speaker: str, timestamp: float):
# Add message to REMO
new_message = utils.create_message(message, speaker, timestamp)
print('\n\nADD MESSAGE -', new_message)
utils.save_message(root_folder, new_message)
return {"detail": "Message added"}
@app.get("/search")
async def search(query: str):
# Search the tree for relevant nodes
print('\n\nSEARCH -', query)
taxonomy = utils.search_tree(root_folder, query)
return {"results": taxonomy}
@app.post("/rebuild_tree")
async def rebuild_tree():
# Trigger full tree rebuilding event
print('\n\nREBUILD TREE')
utils.rebuild_tree(root_folder, max_cluster_size)
return {"detail": "Tree rebuilding completed"}
@app.post("/maintain_tree")
async def maintain_tree():
# Trigger tree maintenance event
print('\n\nMAINTAIN TREE')
utils.maintain_tree(root_folder)
return {"detail": "Tree maintenance completed"}