This repository was archived by the owner on Oct 16, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathclient.py
More file actions
43 lines (31 loc) · 1.29 KB
/
client.py
File metadata and controls
43 lines (31 loc) · 1.29 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
import requests
import json
def create_api_key():
response = requests.get("https://embeddings.arguflow.ai/key")
return json.loads(response.text)["key"]
class OpenEmbeddingsClient:
def __init__(self, api_key: str):
if not api_key:
raise ValueError("API key is required")
self.api_key = api_key
def create_payment_address(self):
response = requests.get(f"https://embeddings.arguflow.ai/gateway/{self.api_key}")
return json.loads(response.text)["address"]
def get_balance(self):
response = requests.get(f"https://embeddings.arguflow.ai/balance/{self.api_key}")
return json.loads(response.text)["balance"]
def create_embedding(self, input: str, model="bge-large-en"):
if model != "bge-large-en":
raise ValueError("Only bge-large-en is supported at the moment")
req_json = {
"model": model,
"input": input,
"key": self.api_key,
}
response = requests.post(f"https://embeddings.arguflow.ai/encode", json=req_json)
if response.status_code == requests.codes.ok:
return json.loads(response.text)["embeddings"]
else:
return json.loads(response.text)
def get_key(self):
return self.api_key