woriking
This commit is contained in:
@@ -7,3 +7,6 @@ bavarder.flatpak
|
||||
r.txt
|
||||
.vscode/
|
||||
.flatpak/
|
||||
*.pyc
|
||||
__pycache__/
|
||||
*.log
|
||||
|
||||
Generated
+6
-6
@@ -5,11 +5,11 @@
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1705309234,
|
||||
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -20,11 +20,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1708751719,
|
||||
"narHash": "sha256-0uWOKSpXJXmXswOvDM5Vk3blB74apFB6rNGWV5IjoN0=",
|
||||
"lastModified": 1775403759,
|
||||
"narHash": "sha256-cGyKiTspHEUx3QwAnV3RfyT+VOXhHLs+NEr17HU34Wo=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "f63ce824cd2f036216eb5f637dfef31e1a03ee89",
|
||||
"rev": "5e11f7acce6c3469bef9df154d78534fa7ae8b6c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -24,6 +24,39 @@
|
||||
let
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
|
||||
litert-lm-api-nightly = pkgs.python3Packages.buildPythonApplication rec {
|
||||
pname = "litert-lm-api-nightly";
|
||||
version = "0.10.0.dev20260405";
|
||||
format = "wheel";
|
||||
|
||||
src = pkgs.fetchurl {
|
||||
url = "https://files.pythonhosted.org/packages/31/6a/9942b0216289ec631a6b842dd6973b57eb58a3194516d509c306f74a1ba5/litert_lm_api_nightly-${version}-cp313-cp313-manylinux_2_35_x86_64.whl";
|
||||
hash = "sha256-gkrP5Y3/CLNCr5lzXLlEdHQeG2LPRP9VGv2Sku41TAc=";
|
||||
};
|
||||
|
||||
dependencies = with pkgs.python3Packages; [
|
||||
numpy
|
||||
];
|
||||
};
|
||||
|
||||
litert-lm-nightly = pkgs.python3Packages.buildPythonApplication rec {
|
||||
pname = "litert-lm-nightly";
|
||||
version = "0.10.0.dev20260405";
|
||||
format = "wheel";
|
||||
|
||||
src = pkgs.fetchurl {
|
||||
url = "https://files.pythonhosted.org/packages/d6/d8/269de6dc0a8715e9b6665349f9d5d8beb9c76977f844339736e13a47c387/litert_lm_nightly-${version}-py3-none-any.whl";
|
||||
hash = "sha256-mQYmzdaRScLDLhJ+xaTG7DrdAd7BvMakY2fccWXQOiw=";
|
||||
};
|
||||
|
||||
dependencies = with pkgs.python3Packages; [
|
||||
litert-lm-api-nightly
|
||||
click
|
||||
huggingface-hub
|
||||
prompt-toolkit
|
||||
];
|
||||
};
|
||||
|
||||
bavarder = pkgs.python3Packages.buildPythonApplication rec {
|
||||
pname = "bavarder";
|
||||
version = self.rev or "dirty";
|
||||
@@ -57,6 +90,8 @@
|
||||
pygobject3
|
||||
pillow
|
||||
requests
|
||||
litert-lm-api-nightly
|
||||
litert-lm-nightly
|
||||
];
|
||||
|
||||
};
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
from .local import LocalProvider
|
||||
from .litert_lm import LiteRTLMProvider
|
||||
|
||||
PROVIDERS = {
|
||||
LocalProvider,
|
||||
PROVIDERS = [
|
||||
LiteRTLMProvider,
|
||||
}
|
||||
]
|
||||
|
||||
@@ -21,9 +21,7 @@ class LiteRTLMProvider(BaseProvider):
|
||||
self.model_path_row = Adw.EntryRow()
|
||||
self.model_path_row.connect("apply", self.on_apply)
|
||||
self.model_path_row.props.title = _("Model Path")
|
||||
self.model_path_row.props.subtitle = _(
|
||||
"Path to .litertlm model file"
|
||||
)
|
||||
|
||||
if "model_path" in self.data:
|
||||
self.model_path_row.props.text = str(self.data["model_path"])
|
||||
else:
|
||||
@@ -38,6 +36,7 @@ class LiteRTLMProvider(BaseProvider):
|
||||
model_path = self.model_path_row.get_text()
|
||||
self.data["model_path"] = model_path
|
||||
self.model = None
|
||||
self.conversation = None
|
||||
|
||||
def load_model(self):
|
||||
if self.model is not None:
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
from .openai import BaseOpenAIProvider
|
||||
import openai
|
||||
from gi.repository import Gtk, Adw
|
||||
|
||||
class LocalProvider(BaseOpenAIProvider):
|
||||
name = "Local"
|
||||
description = "Choose any model you want!"
|
||||
|
||||
|
||||
def get_settings_rows(self):
|
||||
self.url = f"https://bavarder.codeberg.page/help/local/"
|
||||
rows = super().get_settings_rows()
|
||||
|
||||
self.model_row = Adw.EntryRow()
|
||||
self.model_row.connect("apply", self.on_apply)
|
||||
self.model_row.props.title = _("Model")
|
||||
if 'model' in self.data:
|
||||
self.model_row.props.text = str(self.data["model"])
|
||||
else:
|
||||
self.model_row.props.text = ""
|
||||
self.model_row.add_suffix(self.how_to_choose_model())
|
||||
self.model_row.set_show_apply_button(True)
|
||||
|
||||
rows.append(self.model_row)
|
||||
|
||||
return rows
|
||||
|
||||
def how_to_choose_model(self):
|
||||
about_button = Gtk.Button()
|
||||
about_button.set_icon_name("dialog-information-symbolic")
|
||||
about_button.set_tooltip_text(_("How to choose a model"))
|
||||
about_button.add_css_class("flat")
|
||||
about_button.set_valign(Gtk.Align.CENTER)
|
||||
about_button.connect("clicked", self.open_documentation)
|
||||
return about_button
|
||||
|
||||
def on_apply(self, widget):
|
||||
api_key = self.api_row.get_text()
|
||||
openai.api_key = api_key
|
||||
openai.api_base = self.api_url_row.get_text()
|
||||
|
||||
self.model = str(self.model_row.get_text())
|
||||
|
||||
self.data["model"] = self.model
|
||||
self.data["api_key"] = openai.api_key
|
||||
self.data["api_base"] = openai.api_base
|
||||
@@ -3,7 +3,6 @@ providers_dir = join_paths(MODULE_DIR, 'providers')
|
||||
providers_sources = [
|
||||
'__init__.py',
|
||||
'base.py',
|
||||
'local.py',
|
||||
'litert_lm.py',
|
||||
'provider_item.py',
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user