-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathutils.py
More file actions
63 lines (49 loc) · 1.49 KB
/
utils.py
File metadata and controls
63 lines (49 loc) · 1.49 KB
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
import os
import requests
from typing import Optional
API_URL: str = os.getenv("API_URL", "http://localhost:8000")
def check_api_status() -> bool:
"""Check if the API is reachable.
Returns:
True if API is connected, False otherwise.
"""
try:
response = requests.get(f"{API_URL}/all_memories")
return response.status_code == 200
except:
return False
def add_memory(text: str) -> requests.Response:
"""Add a new memory to the database.
Args:
text: The memory text to store.
Returns:
API response object.
"""
response = requests.post(f"{API_URL}/ingest", json={"text": text})
return response
def search_memories(query: str, top_k: int = 5) -> requests.Response:
"""Search for similar memories.
Args:
query: Search query.
top_k: Number of results to return.
Returns:
API response object.
"""
response = requests.post(f"{API_URL}/context", json={"query": query, "top_k": top_k})
return response
def get_all_memories() -> requests.Response:
"""Retrieve all memories.
Returns:
API response object.
"""
response = requests.get(f"{API_URL}/all_memories")
return response
def delete_memory(mem_id: str) -> requests.Response:
"""Delete a memory by ID.
Args:
mem_id: ID of the memory to delete.
Returns:
API response object.
"""
response = requests.delete(f"{API_URL}/delete", json={"id": mem_id})
return response