56 lines
1.4 KiB
Python
56 lines
1.4 KiB
Python
from .base import BavarderProvider
|
|
|
|
import socket
|
|
import requests
|
|
|
|
from gi.repository import Gtk, Adw, GLib
|
|
|
|
|
|
class AlpacaLoRAProvider(BavarderProvider):
|
|
name = "Alpaca-LoRA"
|
|
slug = "alpacalora"
|
|
|
|
def __init__(self, win, app, *args, **kwargs):
|
|
super().__init__(win, app, *args, **kwargs)
|
|
|
|
def ask(self, prompt):
|
|
try:
|
|
response = requests.post(
|
|
"https://tloen-alpaca-lora.hf.space/run/predict",
|
|
json={
|
|
"data": [
|
|
prompt,
|
|
prompt,
|
|
0.1,
|
|
0.75,
|
|
40,
|
|
4,
|
|
128,
|
|
]
|
|
},
|
|
).json()
|
|
except socket.gaierror:
|
|
self.no_connection()
|
|
return ""
|
|
else:
|
|
self.win.banner.set_revealed(False)
|
|
if "error" in response:
|
|
self.win.banner.props.title = response["error"]
|
|
self.win.banner.props.button_label = ""
|
|
self.win.banner.set_revealed(True)
|
|
return ""
|
|
else:
|
|
r = response["data"][0]
|
|
GLib.idle_add(self.update_response, r)
|
|
return r
|
|
|
|
@property
|
|
def require_api_key(self):
|
|
return False
|
|
|
|
def save(self):
|
|
return {}
|
|
|
|
def load(self, data):
|
|
pass
|