Fixed chat title generation and image recognition (+ added support for jpg)
This commit is contained in:
parent
c6110e8cde
commit
b6a180080f
@ -4,17 +4,17 @@ import json, requests
|
|||||||
url = None
|
url = None
|
||||||
bearer_token = None
|
bearer_token = None
|
||||||
|
|
||||||
def get_headers() -> dict:
|
def get_headers(include_json:bool) -> dict:
|
||||||
headers = {
|
headers = {}
|
||||||
"Content-Type": "application/json"
|
if include_json:
|
||||||
}
|
headers["Content-Type"] = "application/json"
|
||||||
if bearer_token:
|
if bearer_token:
|
||||||
headers["Authorization"] = "Bearer " + bearer_token
|
headers["Authorization"] = "Bearer {}".format(bearer_token)
|
||||||
return headers
|
return headers if len(headers.keys()) > 0 else None
|
||||||
|
|
||||||
def simple_get(connection_url:str) -> dict:
|
def simple_get(connection_url:str) -> dict:
|
||||||
try:
|
try:
|
||||||
response = requests.get(connection_url, headers=get_headers())
|
response = requests.get(connection_url, headers=get_headers(False))
|
||||||
if response.status_code == 200:
|
if response.status_code == 200:
|
||||||
return {"status": "ok", "text": response.text, "status_code": response.status_code}
|
return {"status": "ok", "text": response.text, "status_code": response.status_code}
|
||||||
else:
|
else:
|
||||||
@ -24,7 +24,7 @@ def simple_get(connection_url:str) -> dict:
|
|||||||
|
|
||||||
def simple_post(connection_url:str, data) -> dict:
|
def simple_post(connection_url:str, data) -> dict:
|
||||||
try:
|
try:
|
||||||
response = requests.post(connection_url, headers=get_headers(), data=data, stream=False)
|
response = requests.post(connection_url, headers=get_headers(True), data=data, stream=False)
|
||||||
if response.status_code == 200:
|
if response.status_code == 200:
|
||||||
return {"status": "ok", "text": response.text, "status_code": response.status_code}
|
return {"status": "ok", "text": response.text, "status_code": response.status_code}
|
||||||
else:
|
else:
|
||||||
@ -34,7 +34,7 @@ def simple_post(connection_url:str, data) -> dict:
|
|||||||
|
|
||||||
def simple_delete(connection_url:str, data) -> dict:
|
def simple_delete(connection_url:str, data) -> dict:
|
||||||
try:
|
try:
|
||||||
response = requests.delete(connection_url, headers=get_headers(), json=data)
|
response = requests.delete(connection_url, headers=get_headers(False), json=data)
|
||||||
if response.status_code == 200:
|
if response.status_code == 200:
|
||||||
return {"status": "ok", "status_code": response.status_code}
|
return {"status": "ok", "status_code": response.status_code}
|
||||||
else:
|
else:
|
||||||
@ -44,7 +44,7 @@ def simple_delete(connection_url:str, data) -> dict:
|
|||||||
|
|
||||||
def stream_post(connection_url:str, data, callback:callable) -> dict:
|
def stream_post(connection_url:str, data, callback:callable) -> dict:
|
||||||
try:
|
try:
|
||||||
response = requests.post(connection_url, headers=get_headers(), data=data, stream=True)
|
response = requests.post(connection_url, headers=get_headers(True), data=data, stream=True)
|
||||||
if response.status_code == 200:
|
if response.status_code == 200:
|
||||||
for line in response.iter_lines():
|
for line in response.iter_lines():
|
||||||
if line:
|
if line:
|
||||||
|
@ -156,8 +156,8 @@ class AlpacaWindow(Adw.ApplicationWindow):
|
|||||||
@Gtk.Template.Callback()
|
@Gtk.Template.Callback()
|
||||||
def verify_if_image_can_be_used(self, pspec=None, user_data=None):
|
def verify_if_image_can_be_used(self, pspec=None, user_data=None):
|
||||||
if self.model_drop_down.get_selected_item() == None: return True
|
if self.model_drop_down.get_selected_item() == None: return True
|
||||||
selected = self.model_drop_down.get_selected_item().get_string().split(" (")[0]
|
selected = self.model_drop_down.get_selected_item().get_string().split(" (")[0].lower()
|
||||||
if selected in ['llava', 'bakllava', 'moondream', 'llava-llama3']:
|
if selected in [key for key, value in self.available_models.items() if value["image"]]:
|
||||||
for name, content in self.attachments.items():
|
for name, content in self.attachments.items():
|
||||||
if content['type'] == 'image':
|
if content['type'] == 'image':
|
||||||
content['button'].set_css_classes(["flat"])
|
content['button'].set_css_classes(["flat"])
|
||||||
@ -501,7 +501,7 @@ Generate a title following these rules:
|
|||||||
{message}
|
{message}
|
||||||
```"""
|
```"""
|
||||||
current_model = self.model_drop_down.get_selected_item().get_string()
|
current_model = self.model_drop_down.get_selected_item().get_string()
|
||||||
current_model = current_model.replace(' (', ':')[:-1]
|
current_model = current_model.replace(' (', ':')[:-1].lower()
|
||||||
response = connection_handler.simple_post(f"{connection_handler.url}/api/generate", data=json.dumps({"model": current_model, "prompt": prompt, "stream": False}))
|
response = connection_handler.simple_post(f"{connection_handler.url}/api/generate", data=json.dumps({"model": current_model, "prompt": prompt, "stream": False}))
|
||||||
new_chat_name = json.loads(response['text'])["response"].replace('"', '').replace("'", "")
|
new_chat_name = json.loads(response['text'])["response"].replace('"', '').replace("'", "")
|
||||||
new_chat_name = self.generate_numbered_name(new_chat_name, self.chats["chats"].keys())
|
new_chat_name = self.generate_numbered_name(new_chat_name, self.chats["chats"].keys())
|
||||||
|
@ -1021,6 +1021,7 @@
|
|||||||
<suffix>pdf</suffix>
|
<suffix>pdf</suffix>
|
||||||
<suffix>png</suffix>
|
<suffix>png</suffix>
|
||||||
<suffix>jpeg</suffix>
|
<suffix>jpeg</suffix>
|
||||||
|
<suffix>jpg</suffix>
|
||||||
<suffix>webp</suffix>
|
<suffix>webp</suffix>
|
||||||
<suffix>gif</suffix>
|
<suffix>gif</suffix>
|
||||||
</suffixes>
|
</suffixes>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user