-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathllmproxy.py
More file actions
117 lines (95 loc) · 2.87 KB
/
llmproxy.py
File metadata and controls
117 lines (95 loc) · 2.87 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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
from __future__ import annotations
import json
import requests
from dotenv import load_dotenv
import os
load_dotenv()
api_key = os.getenv('api_key')
end_point = os.getenv('end_point')
print(f"API Key: {api_key}")
print(f"Database URL: {end_point}")
def generate(
model: str,
system: str,
query: str,
temperature: float | None = None,
lastk: int | None = None,
session_id: str | None = None,
rag_threshold: float | None = 0.5,
rag_usage: bool | None = False,
rag_k: int | None = 0
):
headers = {
'x-api-key': api_key
}
request = {
'model': model,
'system': system,
'query': query,
'temperature': temperature,
'lastk': lastk,
'session_id': session_id,
'rag_threshold': rag_threshold,
'rag_usage': rag_usage,
'rag_k': rag_k
}
print(f"request: {request}")
msg = None
try:
response = requests.post(end_point, headers=headers, json=request)
if response.status_code == 200:
res = json.loads(response.text)
msg = {'response': res['result'], 'rag_context': res['rag_context']}
else:
msg = f"Error: Received response code {response.status_code}"
except requests.exceptions.RequestException as e:
msg = f"An error occurred: {e}"
return msg
def upload(multipart_form_data):
headers = {
'x-api-key': api_key
}
msg = None
try:
response = requests.post(end_point, headers=headers, files=multipart_form_data)
if response.status_code == 200:
msg = "Successfully uploaded. It may take a short while for the document to be added to your context"
else:
msg = f"Error: Received response code {response.status_code}"
except requests.exceptions.RequestException as e:
msg = f"An error occurred: {e}"
return msg
def pdf_upload(
path: str,
strategy: str | None = None,
description: str | None = None,
session_id: str | None = None
):
params = {
'description': description,
'session_id': session_id,
'strategy': strategy
}
multipart_form_data = {
'params': (None, json.dumps(params), 'application/json'),
'file': (None, open(path, 'rb'), "application/pdf")
}
response = upload(multipart_form_data)
return response
def text_upload(
text: str,
strategy: str | None = None,
description: str | None = None,
session_id: str | None = None
):
params = {
'description': description,
'session_id': session_id,
'strategy': strategy
}
multipart_form_data = {
'params': (None, json.dumps(params), 'application/json'),
'text': (None, text, "application/text")
}
response = upload(multipart_form_data)
return response