Pārlūkot izejas kodu

refac: endpoints regarding db operations

Timothy J. Baek 8 mēneši atpakaļ
vecāks
revīzija
062649e483

+ 3 - 3
backend/apps/rag/main.py

@@ -1373,12 +1373,12 @@ def scan_docs_dir(user=Depends(get_admin_user)):
     return True
 
 
-@app.get("/reset/db")
+@app.post("/reset/db")
 def reset_vector_db(user=Depends(get_admin_user)):
     CHROMA_CLIENT.reset()
 
 
-@app.get("/reset/uploads")
+@app.post("/reset/uploads")
 def reset_upload_dir(user=Depends(get_admin_user)) -> bool:
     folder = f"{UPLOAD_DIR}"
     try:
@@ -1402,7 +1402,7 @@ def reset_upload_dir(user=Depends(get_admin_user)) -> bool:
     return True
 
 
-@app.get("/reset")
+@app.post("/reset")
 def reset(user=Depends(get_admin_user)) -> bool:
     folder = f"{UPLOAD_DIR}"
     for filename in os.listdir(folder):

+ 35 - 30
backend/apps/webui/routers/memories.py

@@ -68,34 +68,6 @@ async def add_memory(
     return memory
 
 
-@router.post("/{memory_id}/update", response_model=Optional[MemoryModel])
-async def update_memory_by_id(
-    memory_id: str,
-    request: Request,
-    form_data: MemoryUpdateModel,
-    user=Depends(get_verified_user),
-):
-    memory = Memories.update_memory_by_id(memory_id, form_data.content)
-    if memory is None:
-        raise HTTPException(status_code=404, detail="Memory not found")
-
-    if form_data.content is not None:
-        memory_embedding = request.app.state.EMBEDDING_FUNCTION(form_data.content)
-        collection = CHROMA_CLIENT.get_or_create_collection(
-            name=f"user-memory-{user.id}"
-        )
-        collection.upsert(
-            documents=[form_data.content],
-            ids=[memory.id],
-            embeddings=[memory_embedding],
-            metadatas=[
-                {"created_at": memory.created_at, "updated_at": memory.updated_at}
-            ],
-        )
-
-    return memory
-
-
 ############################
 # QueryMemory
 ############################
@@ -124,7 +96,7 @@ async def query_memory(
 ############################
 # ResetMemoryFromVectorDB
 ############################
-@router.get("/reset", response_model=bool)
+@router.post("/reset", response_model=bool)
 async def reset_memory_from_vector_db(
     request: Request, user=Depends(get_verified_user)
 ):
@@ -147,7 +119,7 @@ async def reset_memory_from_vector_db(
 ############################
 
 
-@router.delete("/user", response_model=bool)
+@router.delete("/delete/user", response_model=bool)
 async def delete_memory_by_user_id(user=Depends(get_verified_user)):
     result = Memories.delete_memories_by_user_id(user.id)
 
@@ -161,6 +133,39 @@ async def delete_memory_by_user_id(user=Depends(get_verified_user)):
     return False
 
 
+############################
+# UpdateMemoryById
+############################
+
+
+@router.post("/{memory_id}/update", response_model=Optional[MemoryModel])
+async def update_memory_by_id(
+    memory_id: str,
+    request: Request,
+    form_data: MemoryUpdateModel,
+    user=Depends(get_verified_user),
+):
+    memory = Memories.update_memory_by_id(memory_id, form_data.content)
+    if memory is None:
+        raise HTTPException(status_code=404, detail="Memory not found")
+
+    if form_data.content is not None:
+        memory_embedding = request.app.state.EMBEDDING_FUNCTION(form_data.content)
+        collection = CHROMA_CLIENT.get_or_create_collection(
+            name=f"user-memory-{user.id}"
+        )
+        collection.upsert(
+            documents=[form_data.content],
+            ids=[memory.id],
+            embeddings=[memory_embedding],
+            metadatas=[
+                {"created_at": memory.created_at, "updated_at": memory.updated_at}
+            ],
+        )
+
+    return memory
+
+
 ############################
 # DeleteMemoryById
 ############################

+ 1 - 1
src/lib/apis/memories/index.ts

@@ -156,7 +156,7 @@ export const deleteMemoryById = async (token: string, id: string) => {
 export const deleteMemoriesByUserId = async (token: string) => {
 	let error = null;
 
-	const res = await fetch(`${WEBUI_API_BASE_URL}/memories/user`, {
+	const res = await fetch(`${WEBUI_API_BASE_URL}/memories/delete/user`, {
 		method: 'DELETE',
 		headers: {
 			Accept: 'application/json',

+ 2 - 2
src/lib/apis/rag/index.ts

@@ -400,7 +400,7 @@ export const resetUploadDir = async (token: string) => {
 	let error = null;
 
 	const res = await fetch(`${RAG_API_BASE_URL}/reset/uploads`, {
-		method: 'GET',
+		method: 'POST',
 		headers: {
 			Accept: 'application/json',
 			authorization: `Bearer ${token}`
@@ -426,7 +426,7 @@ export const resetVectorDB = async (token: string) => {
 	let error = null;
 
 	const res = await fetch(`${RAG_API_BASE_URL}/reset/db`, {
-		method: 'GET',
+		method: 'POST',
 		headers: {
 			Accept: 'application/json',
 			authorization: `Bearer ${token}`