48 lines
1.4 KiB
Python
48 lines
1.4 KiB
Python
import requests
|
|
import json
|
|
|
|
def get_token():
|
|
resp = requests.get("http://localhost:3015/auth-status")
|
|
return resp.json()["access_token"]
|
|
|
|
def list_documents():
|
|
token = get_token()
|
|
url = "http://localhost:3015/documents"
|
|
headers = {"Authorization": f"Bearer {token}"}
|
|
params = {"workspace": "test_workspace"}
|
|
resp = requests.get(url, headers=headers, params=params)
|
|
print(f"Status: {resp.status_code}")
|
|
if resp.status_code == 200:
|
|
data = resp.json()
|
|
print(f"Documents: {json.dumps(data, indent=2)}")
|
|
return data
|
|
else:
|
|
print(f"Error: {resp.text}")
|
|
return None
|
|
|
|
def search(query):
|
|
token = get_token()
|
|
url = "http://localhost:3015/search"
|
|
headers = {"Authorization": f"Bearer {token}", "Content-Type": "application/json"}
|
|
data = {
|
|
"workspace": "test_workspace",
|
|
"query": query,
|
|
"top_k": 5
|
|
}
|
|
resp = requests.post(url, headers=headers, json=data)
|
|
print(f"Search status: {resp.status_code}")
|
|
if resp.status_code == 200:
|
|
results = resp.json()
|
|
print(f"Search results: {json.dumps(results, indent=2)}")
|
|
return results
|
|
else:
|
|
print(f"Search error: {resp.text}")
|
|
return None
|
|
|
|
if __name__ == "__main__":
|
|
print("Listing documents...")
|
|
docs = list_documents()
|
|
print("\nSearching for 'bee'...")
|
|
search("bee")
|
|
print("\nSearching for 'table'...")
|
|
search("table") |