This commit is contained in:
2026-04-06 09:42:48 +02:00
parent 2e003a3b0e
commit 56c59a05bd
7 changed files with 48 additions and 60 deletions
+3
View File
@@ -7,3 +7,6 @@ bavarder.flatpak
r.txt
.vscode/
.flatpak/
*.pyc
__pycache__/
*.log
Generated
+6 -6
View File
@@ -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": {
+35
View File
@@ -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
];
};
+2 -4
View File
@@ -1,7 +1,5 @@
from .local import LocalProvider
from .litert_lm import LiteRTLMProvider
PROVIDERS = {
LocalProvider,
PROVIDERS = [
LiteRTLMProvider,
}
]
+2 -3
View File
@@ -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:
-46
View File
@@ -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
-1
View File
@@ -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',
]