23 Commits
2.0.3 ... 2.0.6

Author SHA1 Message Date
jeffser
22116b0d1e Preparing for 2.0.6 2024-09-29 16:10:36 -06:00
jeffser
03d92de88b Merge branch 'main' of github.com-jeffser:Jeffser/Alpaca 2024-09-29 16:07:19 -06:00
jeffser
0be0942da3 Fix: Text rendering causing crash because of notification being in a different thread 2024-09-29 16:07:12 -06:00
Jeffry Samuel
b488b64473 Added instructions for Snap 2024-09-25 14:20:57 -06:00
jeffser
56eac5ccd6 Removed unnecesary line from release notes 2024-09-25 13:50:54 -06:00
jeffser
ad5d6dfa41 Preparing for 2.0.5 2024-09-25 13:50:32 -06:00
Jeffry Samuel
c4fb424514 Removed tag from Snap 2024-09-25 13:23:40 -06:00
সৌম্যদীপ ঘোষ
28e09d5c2e snap: improve the snap (#318)
1. cleaned up the manifest
2. added arm64 support
2024-09-25 12:21:01 -06:00
jeffser
633507fecd Quick fix to message generation 2024-09-25 09:34:12 -06:00
jeffser
5f3c01d231 Preparing for 2.0.4 2024-09-22 15:08:40 -06:00
jeffser
4851b7858b Merge branch 'main' of github.com-jeffser:Jeffser/Alpaca 2024-09-22 15:03:30 -06:00
jeffser
d4f359bba7 Update Ollama to v0.3.11 2024-09-22 15:02:47 -06:00
jeffser
40afce9fb0 New models added to list 2024-09-22 14:55:38 -06:00
ProjectMoon
61d2e7c7a0 Use show API to detect vision. (#316)
* Use show API to detect vision.

* Update so it actually works.

* Removed Cache

---------

Co-authored-by: Jeffry Samuel <jeffrysamuer@gmail.com>
2024-09-21 16:39:22 -06:00
jeffser
0cb1891d9e Added Telugu officialy 2024-09-21 16:29:38 -06:00
jeffser
5bd55843db Merge branch 'main' of github.com-jeffser:Jeffser/Alpaca 2024-09-21 15:50:44 -06:00
jeffser
5150fd769a Message search (yeah finally) 2024-09-21 15:50:38 -06:00
Aryan Karamtoth
d5eea3397c Added te.po - Telugu Translation (#320)
* Added te.po - Telugu Translation

* Update te.po
2024-09-21 15:01:23 -06:00
Louis Chauvet-Villaret
11b0b6a8d7 hop, fr updated (#319) 2024-09-21 15:00:53 -06:00
aritra saha
ecc93cda78 Update bn.po hi.po (#309)
* Update bn.po

* Update hi.po
2024-09-19 20:00:08 -06:00
jeffser
3653af7b81 Fixed model manager with accessibility large text on (wip) 2024-09-18 18:10:47 -06:00
jeffser
bed097c760 Merge branch 'main' of github.com-jeffser:Jeffser/Alpaca 2024-09-18 17:47:13 -06:00
jeffser
f8d18afd13 Fixed right click on messages sometimes crashes app 2024-09-18 17:45:21 -06:00
20 changed files with 9983 additions and 5713 deletions

View File

@@ -45,6 +45,14 @@ You can find the latest stable version of the app on [Flathub](https://flathub.o
Everytime a new version is published they become available on the [releases page](https://github.com/Jeffser/Alpaca/releases) of the repository
### Snap Package
You can also find the Snap package on the [releases page](https://github.com/Jeffser/Alpaca/releases), to install it run this command:
```BASH
sudo snap install ./{package name} --dangerous
```
The `--dangerous` comes from the package being installed without any involvement of the SnapStore, I'm working on getting the app there, but for now you can test the app this way.
### Building Git Version
Note: This is not recommended since the prerelease versions of the app often present errors and general instability.
@@ -69,6 +77,7 @@ Language | Contributors
🇺🇦 Ukrainian | [Simon](https://github.com/OriginalSimon)
🇩🇪 German | [Marcel Margenberg](https://github.com/MehrzweckMandala)
🇮🇱 Hebrew | [Yosef Or Boczko](https://github.com/yoseforb)
🇮🇳 Telugu | [Aryan Karamtoth](https://github.com/SpaciousCoder78)
Want to add a language? Visit [this discussion](https://github.com/Jeffser/Alpaca/discussions/153) to get started!

View File

@@ -134,16 +134,16 @@
"sources": [
{
"type": "archive",
"url": "https://github.com/ollama/ollama/releases/download/v0.3.9/ollama-linux-amd64.tgz",
"sha256": "b0062fbccd46134818d9d59cfa3867ad6849163653cb1171bc852c5f379b0851",
"url": "https://github.com/ollama/ollama/releases/download/v0.3.11/ollama-linux-amd64.tgz",
"sha256": "aa4d26889a6a413f676a7f80116983731f06287534bb72adec37dd39d168d40a",
"only-arches": [
"x86_64"
]
},
{
"type": "archive",
"url": "https://github.com/ollama/ollama/releases/download/v0.3.9/ollama-linux-arm64.tgz",
"sha256": "8979484bcb1448ab9b45107fbcb3b9f43c2af46f961487449b9ebf3518cd70eb",
"url": "https://github.com/ollama/ollama/releases/download/v0.3.11/ollama-linux-arm64.tgz",
"sha256": "61e3a21bec7f706b404424b80602240281d9b651ca4e00e8edee4527a533a15b",
"only-arches": [
"aarch64"
]

View File

@@ -78,6 +78,42 @@
<url type="contribute">https://github.com/Jeffser/Alpaca/discussions/154</url>
<url type="vcs-browser">https://github.com/Jeffser/Alpaca</url>
<releases>
<release version="2.0.6" date="2024-09-29">
<url type="details">https://github.com/Jeffser/Alpaca/releases/tag/2.0.6</url>
<description>
<p>Fixes</p>
<ul>
<li>Fixed message notification sometimes crashing text rendering because of them running on different threads</li>
</ul>
</description>
</release>
<release version="2.0.5" date="2024-09-25">
<url type="details">https://github.com/Jeffser/Alpaca/releases/tag/2.0.5</url>
<description>
<p>Fixes</p>
<ul>
<li>Fixed message generation sometimes failing</li>
</ul>
</description>
</release>
<release version="2.0.4" date="2024-09-22">
<url type="details">https://github.com/Jeffser/Alpaca/releases/tag/2.0.4</url>
<description>
<p>New</p>
<ul>
<li>Sidebar resizes with the window</li>
<li>New welcome dialog</li>
<li>Message search</li>
<li>Updated Ollama to v0.3.11</li>
<li>A lot of new models provided by Ollama repository</li>
</ul>
<p>Fixes</p>
<ul>
<li>Fixed text inside model manager when the accessibility option 'large text' is on</li>
<li>Fixed image recognition on unsupported models</li>
</ul>
</description>
</release>
<release version="2.0.3" date="2024-09-18">
<url type="details">https://github.com/Jeffser/Alpaca/releases/tag/2.0.3</url>
<description>

View File

@@ -1,5 +1,5 @@
project('Alpaca', 'c',
version: '2.0.3',
version: '2.0.6',
meson_version: '>= 0.62.0',
default_options: [ 'warning_level=2', 'werror=false', ],
)

View File

@@ -10,3 +10,4 @@ tr
uk
de
he
te

View File

@@ -134,19 +134,19 @@ msgstr "সংশোধন করে"
#: data/com.jeffser.Alpaca.metainfo.xml.in:86
msgid "Fixed spinner not hiding if the back end fails"
msgstr ""
msgstr "ব্যাক এন্ড ব্যর্থ হলে স্পিনার লুকানো ঠিক করা হয়েছে"
#: data/com.jeffser.Alpaca.metainfo.xml.in:87
msgid "Fixed image recognition with local images"
msgstr ""
msgstr "স্থানীয় চিত্রের সাথে চিত্র সনাক্তকরণ ঠিক করা হয়েছে"
#: data/com.jeffser.Alpaca.metainfo.xml.in:88
msgid "Changed appearance of delete / stop model buttons"
msgstr ""
msgstr "মুছে ফেলা / মডেল বন্ধ করার বোতামের চেহারা পরিবর্তন করা হয়েছে"
#: data/com.jeffser.Alpaca.metainfo.xml.in:89
msgid "Fixed stop button crashing the app"
msgstr ""
msgstr "স্টপ বোতাম অ্যাপটি ক্র্যাশ করা ঠিক করা হয়েছে"
#: data/com.jeffser.Alpaca.metainfo.xml.in:91
#: data/com.jeffser.Alpaca.metainfo.xml.in:122
@@ -162,31 +162,31 @@ msgstr "নতুন"
#: data/com.jeffser.Alpaca.metainfo.xml.in:93
msgid "Made sidebar resize a little when the window is smaller"
msgstr ""
msgstr "উইন্ডো ছোট হলে সাইডবারটি একটু আকার পরিবর্তন করা হয়েছে"
#: data/com.jeffser.Alpaca.metainfo.xml.in:94
msgid "Instant launch"
msgstr ""
msgstr "তাত্ক্ষণিক চালু"
#: data/com.jeffser.Alpaca.metainfo.xml.in:103
msgid "Fixed error on first run (welcome dialog)"
msgstr ""
msgstr "প্রথম চালানোর সময় ত্রুটি ঠিক করা হয়েছে (স্বাগত সংলাপ)"
#: data/com.jeffser.Alpaca.metainfo.xml.in:104
msgid "Fixed checker for Ollama instance (used on system packages)"
msgstr ""
msgstr "সিস্টেম প্যাকেজে ব্যবহৃত ওলামা ইনস্ট্যান্সের জন্য চেকার ঠিক করা হয়েছে"
#: data/com.jeffser.Alpaca.metainfo.xml.in:113
msgid "Fixed 'clear chat' option"
msgstr ""
msgstr "চ্যাট পরিষ্কার করার বিকল্পটি ঠিক করা হয়েছে"
#: data/com.jeffser.Alpaca.metainfo.xml.in:114
msgid "Fixed welcome dialog causing the local instance to not launch"
msgstr ""
msgstr "স্থানীয় ইনস্ট্যান্সটি চালু না করার কারণে স্বাগত সংলাপটি ঠিক করা হয়েছে"
#: data/com.jeffser.Alpaca.metainfo.xml.in:115
msgid "Fixed support for AMD GPUs"
msgstr ""
msgstr "এএমডি জিপিইউ-এর জন্য সমর্থন ঠিক করা হয়েছে"
#: data/com.jeffser.Alpaca.metainfo.xml.in:124
msgid "Model, message and chat systems have been rewritten"
@@ -533,8 +533,7 @@ msgstr "Ollama আপডেট করা হয়েছে v0.3.0 (নতুন
#: data/com.jeffser.Alpaca.metainfo.xml.in:296
msgid "Models with '-' in their names didn't work properly, this is now fixed"
msgstr ""
"তাদের নামে '-' থাকা মডেলগুলি সঠিকভাবে কাজ করে না, এটি এখন সংশোধন করা হয়েছে"
msgstr "তাদের নামে '-' থাকা মডেলগুলি সঠিকভাবে কাজ করে না, এটি এখন সংশোধন করা হয়েছে"
#: data/com.jeffser.Alpaca.metainfo.xml.in:297
msgid "Better connection check for Ollama"
@@ -715,7 +714,8 @@ msgstr "অনুবাদ"
msgid ""
"These are all the available translations on 1.0.0, thanks to all the "
"contributors!"
msgstr "এগুলি 1.0.0 এর উপলব্ধ সমস্ত অনুবাদ, সমস্ত অবদানকারীদের ধন্যবাদ!"
msgstr ""
"এগুলি 1.0.0 এর উপলব্ধ সমস্ত অনুবাদ, সমস্ত অবদানকারীদের ধন্যবাদ!"
#: data/com.jeffser.Alpaca.metainfo.xml.in:350
msgid "Russian: Alex K"
@@ -853,8 +853,7 @@ msgstr "ঠিক করা হয়েছে পাঠান/স্টপ ব
#: data/com.jeffser.Alpaca.metainfo.xml.in:427
msgid "Fixed app not checking if remote connection works when starting"
msgstr ""
"ঠিক করা হয়েছে অ্যাপ শুরু করার সময় দূরবর্তী সংযোগ কাজ করে কিনা তা পরীক্ষা করছে না"
msgstr "ঠিক করা হয়েছে অ্যাপ শুরু করার সময় দূরবর্তী সংযোগ কাজ করে কিনা তা পরীক্ষা করছে না"
#: data/com.jeffser.Alpaca.metainfo.xml.in:434
msgid "Daily Update"
@@ -862,8 +861,7 @@ msgstr "প্রতিদিনের আপডেট"
#: data/com.jeffser.Alpaca.metainfo.xml.in:436
msgid "Added text ellipsis to chat name so it doesn't change the button width"
msgstr ""
"চ্যাটের নামে পাঠ্য উপবৃত্ত যোগ করা হয়েছে যাতে এটি বোতামের প্রস্থ পরিবর্তন না করে"
msgstr "চ্যাটের নামে পাঠ্য উপবৃত্ত যোগ করা হয়েছে যাতে এটি বোতামের প্রস্থ পরিবর্তন না করে"
#: data/com.jeffser.Alpaca.metainfo.xml.in:437
msgid "New shortcut for creating a chat (CTRL+N)"
@@ -1160,8 +1158,7 @@ msgstr "একাধিক চ্যাট সমর্থন যোগ কর
#: data/com.jeffser.Alpaca.metainfo.xml.in:608
msgid "Added Pango Markup support (bold, list, title, subtitle, monospace)"
msgstr ""
"বোল্ড, তালিকা, শিরোনাম, উপশিরোনাম, মনোস্পেস সহ Pango Markup সমর্থন যোগ করা হয়েছে"
msgstr "বোল্ড, তালিকা, শিরোনাম, উপশিরোনাম, মনোস্পেস সহ Pango Markup সমর্থন যোগ করা হয়েছে"
#: data/com.jeffser.Alpaca.metainfo.xml.in:609
msgid "Added autoscroll if the user is at the bottom of the chat"
@@ -1593,7 +1590,8 @@ msgstr ""
#: src/available_models_descriptions.py:34
msgid ""
"StarCoder is a code generation model trained on 80+ programming languages."
msgstr "স্টারকোডার হল 80+ প্রোগ্রামিং ভাষায় প্রশিক্ষিত একটি কোড জেনারেশন মডেল।"
msgstr ""
"স্টারকোডার হল 80+ প্রোগ্রামিং ভাষায় প্রশিক্ষিত একটি কোড জেনারেশন মডেল।"
#: src/available_models_descriptions.py:35
msgid "Llama 2 based model fine tuned to improve Chinese dialogue ability."
@@ -1798,7 +1796,8 @@ msgstr ""
msgid ""
"A versatile model for AI software development scenarios, including code "
"completion."
msgstr "এআই সফটওয়্যার উন্নয়ন দৃশ্যকল্পের জন্য বহুমুখী মডেল, কোড সম্পূর্ণতা সহ।"
msgstr ""
"এআই সফটওয়্যার উন্নয়ন দৃশ্যকল্পের জন্য বহুমুখী মডেল, কোড সম্পূর্ণতা সহ।"
#: src/available_models_descriptions.py:66
msgid ""
@@ -2626,7 +2625,8 @@ msgstr "এই প্রম্পটগুলির মধ্যে একটি
msgid ""
"It looks like you don't have any models downloaded yet. Download models to "
"get started!"
msgstr "মনে হচ্ছে আপনি এখনও কোনও মডেল ডাউনলোড করেননি। শুরু করতে মডেল ডাউনলোড করুন!"
msgstr ""
"মনে হচ্ছে আপনি এখনও কোনও মডেল ডাউনলোড করেননি। শুরু করতে মডেল ডাউনলোড করুন!"
#: src/custom_widgets/chat_widget.py:191
msgid "Regenerate Response"

View File

@@ -5,10 +5,10 @@
#
msgid ""
msgstr ""
"Project-Id-Version: 2.0.0\n"
"Project-Id-Version: 2.0.4\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-18 10:32-0600\n"
"PO-Revision-Date: 2024-09-04 12:35+0200\n"
"PO-Revision-Date: 2024-09-21 11:43+0200\n"
"Last-Translator: Louis Chauvet-Villaret <louischauvet0@gmail.com>\n"
"Language-Team: French\n"
"Language: fr\n"
@@ -137,18 +137,20 @@ msgstr "Correctifs"
#: data/com.jeffser.Alpaca.metainfo.xml.in:86
msgid "Fixed spinner not hiding if the back end fails"
msgstr ""
"Résolu : l'indicateur de chargement ne se masquait pas lorsque la tâche "
"échouait"
#: data/com.jeffser.Alpaca.metainfo.xml.in:87
msgid "Fixed image recognition with local images"
msgstr ""
msgstr "Résolu : reconnaissance d'image locales"
#: data/com.jeffser.Alpaca.metainfo.xml.in:88
msgid "Changed appearance of delete / stop model buttons"
msgstr ""
msgstr "Changé : apparence des boutons de suppression et arrêt de modèle"
#: data/com.jeffser.Alpaca.metainfo.xml.in:89
msgid "Fixed stop button crashing the app"
msgstr ""
msgstr "Résolu : le bouton arrêter faisait planter l'application"
#: data/com.jeffser.Alpaca.metainfo.xml.in:91
#: data/com.jeffser.Alpaca.metainfo.xml.in:122
@@ -165,30 +167,36 @@ msgstr "Nouveautés"
#: data/com.jeffser.Alpaca.metainfo.xml.in:93
msgid "Made sidebar resize a little when the window is smaller"
msgstr ""
"Changé : la barre latérale est légèrement redimmensionnée lorsque la fenêtre "
"est petite"
#: data/com.jeffser.Alpaca.metainfo.xml.in:94
msgid "Instant launch"
msgstr ""
msgstr "Changé : lancement instantanée"
#: data/com.jeffser.Alpaca.metainfo.xml.in:103
msgid "Fixed error on first run (welcome dialog)"
msgstr ""
msgstr "Résolu : erreur au lancement (boite de dialogue de bienvenue)"
#: data/com.jeffser.Alpaca.metainfo.xml.in:104
msgid "Fixed checker for Ollama instance (used on system packages)"
msgstr ""
"Résolu : vérification de l'instance Ollama (utilisé en tant que paquet "
"système)"
#: data/com.jeffser.Alpaca.metainfo.xml.in:113
msgid "Fixed 'clear chat' option"
msgstr ""
msgstr "Résolu : option 'effacer la discussion'"
#: data/com.jeffser.Alpaca.metainfo.xml.in:114
msgid "Fixed welcome dialog causing the local instance to not launch"
msgstr ""
"Résolu : la boite de dialogue de bienvenue empêchait l'instance locale de "
"démarrer"
#: data/com.jeffser.Alpaca.metainfo.xml.in:115
msgid "Fixed support for AMD GPUs"
msgstr ""
msgstr "Résolu : support des GPU AMD"
#: data/com.jeffser.Alpaca.metainfo.xml.in:124
msgid "Model, message and chat systems have been rewritten"
@@ -2425,7 +2433,7 @@ msgstr "Basculer la barre latérale"
#: src/window.ui:84
msgid "Loading Instance"
msgstr ""
msgstr "Chargement de l'instance"
#: src/window.ui:97
msgid "Chat Menu"
@@ -2435,8 +2443,8 @@ msgstr "Menu de la discussion"
msgid ""
"Warning: Power saver mode is enabled, this will slow down message generation"
msgstr ""
"Attention : économiseur de batterie activé, la génération des messages sera "
"ralentie"
"Attention : mode Économie d'énergie activé, cela pourrait ralentir la "
"génération des messages"
#: src/window.ui:157
msgid "Attach File"
@@ -2476,7 +2484,7 @@ msgstr "Exécuter Alpaca en arrière-plan"
#: src/window.ui:297
msgid "Show Power Saver Warning"
msgstr ""
msgstr "Voir l'avertissement lorsque le mode Économie d'énergie est activé"
#: src/window.ui:308
msgid "Temperature"
@@ -2669,7 +2677,7 @@ msgstr "Renommer la discussion"
#: src/window.ui:937 src/window.ui:963
msgid "Duplicate Chat"
msgstr "Dupliquer"
msgstr "Dupliquer la discussion"
#: src/window.ui:941 src/window.ui:967
msgid "Export Chat"

View File

@@ -5,7 +5,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: 2.0.0\n"
"Project-Id-Version: 2.0.4\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-18 10:32-0600\n"
"PO-Revision-Date: 2024-09-02 HO:MI+ZONE\n"
@@ -134,19 +134,19 @@ msgstr "सुधार"
#: data/com.jeffser.Alpaca.metainfo.xml.in:86
msgid "Fixed spinner not hiding if the back end fails"
msgstr ""
msgstr "बैकएंड विफल होने पर स्पिनर छिपाने की समस्या ठीक की गई"
#: data/com.jeffser.Alpaca.metainfo.xml.in:87
msgid "Fixed image recognition with local images"
msgstr ""
msgstr "स्थानीय छवियों के साथ छवि पहचान ठीक की गई"
#: data/com.jeffser.Alpaca.metainfo.xml.in:88
msgid "Changed appearance of delete / stop model buttons"
msgstr ""
msgstr "मिटाएं / मॉडल बंद करें बटन की उपस्थिति बदली गई"
#: data/com.jeffser.Alpaca.metainfo.xml.in:89
msgid "Fixed stop button crashing the app"
msgstr ""
msgstr "स्टॉप बटन के कारण ऐप क्रैश होने की समस्या ठीक की गई"
#: data/com.jeffser.Alpaca.metainfo.xml.in:91
#: data/com.jeffser.Alpaca.metainfo.xml.in:122
@@ -162,31 +162,31 @@ msgstr "नया"
#: data/com.jeffser.Alpaca.metainfo.xml.in:93
msgid "Made sidebar resize a little when the window is smaller"
msgstr ""
msgstr "विंडो छोटा होने पर साइडबार को थोड़ा आकार बदलने के लिए बनाया गया"
#: data/com.jeffser.Alpaca.metainfo.xml.in:94
msgid "Instant launch"
msgstr ""
msgstr "तत्काल लॉन्च"
#: data/com.jeffser.Alpaca.metainfo.xml.in:103
msgid "Fixed error on first run (welcome dialog)"
msgstr ""
msgstr "पहली बार चलाने पर त्रुटि ठीक की गई (स्वागत संवाद)"
#: data/com.jeffser.Alpaca.metainfo.xml.in:104
msgid "Fixed checker for Ollama instance (used on system packages)"
msgstr ""
msgstr "ओलामा इंस्टेंस के लिए चेकर ठीक किया गया (सिस्टम पैकेजों पर उपयोग किया गया)"
#: data/com.jeffser.Alpaca.metainfo.xml.in:113
msgid "Fixed 'clear chat' option"
msgstr ""
msgstr "चैट साफ़ करने का विकल्प ठीक किया गया"
#: data/com.jeffser.Alpaca.metainfo.xml.in:114
msgid "Fixed welcome dialog causing the local instance to not launch"
msgstr ""
msgstr "स्थानीय इंस्टेंस को लॉन्च नहीं करने के कारण स्वागत संवाद ठीक किया गया"
#: data/com.jeffser.Alpaca.metainfo.xml.in:115
msgid "Fixed support for AMD GPUs"
msgstr ""
msgstr "एएमडी जीपीयू के लिए समर्थन ठीक किया गया"
#: data/com.jeffser.Alpaca.metainfo.xml.in:124
msgid "Model, message and chat systems have been rewritten"

2687
po/te.po Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,9 +0,0 @@
[Desktop Entry]
Name=alpaca
Exec=alpaca
Icon=${SNAP}/meta/gui/com.jeffser.Alpaca.svg
Terminal=false
Type=Application
Categories=Utility;Development;Chat;
Keywords=ai;ollama;llm
X-Purism-FormFactor=Workstation;Mobile;

View File

@@ -1,150 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
height="128px"
viewBox="0 0 128 128"
width="128px"
version="1.1"
id="svg26"
sodipodi:docname="com.jeffser.Alpaca.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs26" />
<sodipodi:namedview
id="namedview26"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="6.65625"
inkscape:cx="64"
inkscape:cy="64"
inkscape:window-width="1920"
inkscape:window-height="1011"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg26" />
<linearGradient
id="a"
gradientUnits="userSpaceOnUse"
x1="48"
x2="48"
y1="88"
y2="48">
<stop
offset="0"
stop-color="#b6d1f2"
id="stop1" />
<stop
offset="1"
stop-color="#e9eef4"
id="stop2" />
</linearGradient>
<path
d="m 2 66 h 24 v 12 h -24 z m 0 0"
fill="#99c1f1"
id="path2" />
<path
d="m 12.324219 56 h 3.351562 c 5.703125 0 10.324219 4.621094 10.324219 10.324219 v 1.351562 c 0 5.703125 -4.621094 10.324219 -10.324219 10.324219 h -3.351562 c -5.703125 0 -10.324219 -4.621094 -10.324219 -10.324219 v -1.351562 c 0 -5.703125 4.621094 -10.324219 10.324219 -10.324219 z m 0 0"
fill="#99c1f1"
id="path3" />
<g
fill="#5e5c64"
id="g7">
<path
d="m 82 101 h 8 v 23 h -8 z m 0 0"
id="path4" />
<path
d="m 100 101 h 8 v 23 h -8 z m 0 0"
id="path5" />
<path
d="m 20 101 h 8 v 23 h -8 z m 0 0"
id="path6" />
<path
d="m 38 101 h 8 v 23 h -8 z m 0 0"
id="path7" />
</g>
<path
d="m 40.324219 80 h 3.351562 c 5.703125 0 10.324219 4.621094 10.324219 10.324219 v 17.351562 c 0 5.703125 -4.621094 10.324219 -10.324219 10.324219 h -3.351562 c -5.703125 0 -10.324219 -4.621094 -10.324219 -10.324219 v -17.351562 c 0 -5.703125 4.621094 -10.324219 10.324219 -10.324219 z m 0 0"
fill="#6b9bd2"
id="path8" />
<path
d="m 102.324219 80 h 3.351562 c 5.703125 0 10.324219 4.621094 10.324219 10.324219 v 17.351562 c 0 5.703125 -4.621094 10.324219 -10.324219 10.324219 h -3.351562 c -5.703125 0 -10.324219 -4.621094 -10.324219 -10.324219 v -17.351562 c 0 -5.703125 4.621094 -10.324219 10.324219 -10.324219 z m 0 0"
fill="#6b9bd2"
id="path9" />
<path
d="m 40.324219 76 h 3.351562 c 5.703125 0 10.324219 4.621094 10.324219 10.324219 v 17.351562 c 0 5.703125 -4.621094 10.324219 -10.324219 10.324219 h -3.351562 c -5.703125 0 -10.324219 -4.621094 -10.324219 -10.324219 v -17.351562 c 0 -5.703125 4.621094 -10.324219 10.324219 -10.324219 z m 0 0"
fill="#82adde"
id="path10" />
<path
d="m 102.324219 76 h 3.351562 c 5.703125 0 10.324219 4.621094 10.324219 10.324219 v 17.351562 c 0 5.703125 -4.621094 10.324219 -10.324219 10.324219 h -3.351562 c -5.703125 0 -10.324219 -4.621094 -10.324219 -10.324219 v -17.351562 c 0 -5.703125 4.621094 -10.324219 10.324219 -10.324219 z m 0 0"
fill="#82adde"
id="path11" />
<path
d="m 22.324219 80 h 3.351562 c 5.703125 0 10.324219 4.621094 10.324219 10.324219 v 17.351562 c 0 5.703125 -4.621094 10.324219 -10.324219 10.324219 h -3.351562 c -5.703125 0 -10.324219 -4.621094 -10.324219 -10.324219 v -17.351562 c 0 -5.703125 4.621094 -10.324219 10.324219 -10.324219 z m 0 0"
fill="#99c1f1"
id="path12" />
<path
d="m 84.324219 80 h 3.351562 c 5.703125 0 10.324219 4.621094 10.324219 10.324219 v 17.351562 c 0 5.703125 -4.621094 10.324219 -10.324219 10.324219 h -3.351562 c -5.703125 0 -10.324219 -4.621094 -10.324219 -10.324219 v -17.351562 c 0 -5.703125 4.621094 -10.324219 10.324219 -10.324219 z m 0 0"
fill="#99c1f1"
id="path13" />
<path
d="m 28 58 h 72 c 8.835938 0 16 7.164062 16 16 v 18 c 0 8.835938 -7.164062 16 -16 16 h -72 c -8.835938 0 -16 -7.164062 -16 -16 v -18 c 0 -8.835938 7.164062 -16 16 -16 z m 0 0"
fill="#99c1f1"
id="path14" />
<path
d="m 22.324219 76 h 3.351562 c 5.703125 0 10.324219 4.621094 10.324219 10.324219 v 17.351562 c 0 5.703125 -4.621094 10.324219 -10.324219 10.324219 h -3.351562 c -5.703125 0 -10.324219 -4.621094 -10.324219 -10.324219 v -17.351562 c 0 -5.703125 4.621094 -10.324219 10.324219 -10.324219 z m 0 0"
fill="#b6d1f2"
id="path15" />
<path
d="m 84.324219 76 h 3.351562 c 5.703125 0 10.324219 4.621094 10.324219 10.324219 v 17.351562 c 0 5.703125 -4.621094 10.324219 -10.324219 10.324219 h -3.351562 c -5.703125 0 -10.324219 -4.621094 -10.324219 -10.324219 v -17.351562 c 0 -5.703125 4.621094 -10.324219 10.324219 -10.324219 z m 0 0"
fill="#b6d1f2"
id="path16" />
<path
d="m 111 16 c -2.859375 0 -5.5 -1.523438 -6.929688 -4 c -1.425781 -2.476562 -1.425781 -5.523438 0 -8 c 1.429688 -2.476562 4.070313 -4 6.929688 -4"
fill="#bbd6f6"
id="path17" />
<path
d="m 103 8 h 8 v 16 h -8 z m 0 0"
fill="#99c1f1"
id="path18" />
<path
d="m 96 8 h 18 c 2.210938 0 4 1.789062 4 4 v 6 c 0 2.210938 -1.789062 4 -4 4 h -18 c -2.207031 0 -4 -1.789062 -4 -4 v -6 c 0 -2.210938 1.792969 -4 4 -4 z m 0 0"
fill="#e9eef4"
id="path19" />
<path
d="m 100 16 c -2.859375 0 -5.5 -1.523438 -6.929688 -4 c -1.425781 -2.476562 -1.425781 -5.523438 0 -8 c 1.429688 -2.476562 4.070313 -4 6.929688 -4"
fill="#e9eef4"
id="path20" />
<path
d="m 92 16 v 21.675781 c 0 5.71875 -4.605469 10.324219 -10.324219 10.324219 h -53.675781 c -8.863281 0 -16 7.136719 -16 16 v 24 c 0 8.863281 7.136719 16 16 16 h 72 c 8.863281 0 16 -7.136719 16 -16 v -72 z m 0 0"
fill="url(#a)"
id="path21" />
<path
d="m 92 8 h 13 v 16 h -13 z m 0 0"
fill="#e9eef4"
id="path22" />
<path
d="m 104 14 h 22 v 6 c -11.335938 0.6875 -11.078125 8.476562 -17 8 h -5 z m 0 0"
fill="#5e5c64"
id="path23" />
<path
d="m 118 14 c 0 1.378906 -1.117188 2.5 -2.5 2.5 c -1.378906 0 -2.5 -1.121094 -2.5 -2.5 s 1.121094 -2.5 2.5 -2.5 c 1.382812 0 2.5 1.121094 2.5 2.5 z m 0 0"
fill="#e9eef4"
id="path24" />
<path
d="m 113 14 c 0 1.378906 -1.121094 2.5 -2.5 2.5 c -1.382812 0 -2.5 -1.121094 -2.5 -2.5 s 1.117188 -2.5 2.5 -2.5 c 1.378906 0 2.5 1.121094 2.5 2.5 z m 0 0"
fill="#e9eef4"
id="path25" />
<path
d="m 108 14 c 0 1.378906 -1.117188 2.5 -2.5 2.5 c -1.378906 0 -2.5 -1.121094 -2.5 -2.5 s 1.121094 -2.5 2.5 -2.5 c 1.382812 0 2.5 1.121094 2.5 2.5 z m 0 0"
fill="#e9eef4"
id="path26" />
</svg>

Before

Width:  |  Height:  |  Size: 6.7 KiB

View File

@@ -1,14 +1,10 @@
name: alpaca
base: core24
adopt-info: alpaca
summary: An Ollama client made with GTK4 and Adwaita
description: |
Alpaca is an Ollama client where you can manage and chat with multiple models,
Alpaca provides an easy and begginer friendly way of interacting with local AI,
everything is open source and powered by Ollama.
platforms:
amd64:
arm64:
confinement: strict
grade: stable
@@ -23,21 +19,14 @@ slots:
apps:
alpaca:
command: usr/bin/alpaca
desktop: meta/gui/alpaca.desktop
common-id: com.jeffser.Alpaca
extensions:
- gnome
plugs:
- network
- network-bind
- desktop
- desktop-legacy
- wayland
- opengl
- home
- removable-media
slots:
- dbus-alpaca
ollama:
command: bin/ollama
@@ -46,7 +35,6 @@ apps:
- removable-media
- network
- network-bind
- opengl
ollama-daemon:
command: bin/ollama serve
@@ -58,7 +46,6 @@ apps:
- removable-media
- network
- network-bind
- opengl
parts:
# Python dependencies
@@ -75,37 +62,31 @@ parts:
# Ollama plugin
ollama:
plugin: dump
source: https://github.com/ollama/ollama/releases/download/v0.3.10/ollama-linux-amd64.tgz
source:
- on amd64: https://github.com/ollama/ollama/releases/download/v0.3.10/ollama-linux-amd64.tgz
- on arm64: https://github.com/ollama/ollama/releases/download/v0.3.10/ollama-linux-arm64.tgz
# Alpaca app
alpaca:
plugin: meson
source-type: git
source: https://github.com/Jeffser/Alpaca.git
source-tag: '2.0.2'
source-depth: 1
meson-parameters:
- --prefix=/snap/alpaca/current/usr
build-packages:
- meson
- ninja-build
- pkg-config
- libcairo2-dev
- libgtk-3-dev
- libglib2.0-dev
- gettext
- desktop-file-utils
- appstream
override-pull: |
craftctl default
craftctl set version=$(git describe --tags --abbrev=0)
override-build: |
craftctl default
sed -i '1c#!/usr/bin/env python3' $CRAFT_PART_INSTALL/snap/alpaca/current/usr/bin/alpaca
stage-packages:
- libnuma1
parse-info:
- usr/share/metainfo/com.jeffser.Alpaca.metainfo.xml
organize:
snap/alpaca/current/usr: usr
snap/alpaca/current: .
after: [python-deps]
deps:
plugin: nil
after: [alpaca]
stage-packages:
- libnuma1
prime:
- usr/lib/*/libnuma.so.1*

File diff suppressed because it is too large Load Diff

View File

@@ -1,11 +1,12 @@
descriptions = {
'llama3.1': _("Llama 3.1 is a new state-of-the-art model from Meta available in 8B, 70B and 405B parameter sizes."),
'gemma2': _("Google Gemma 2 is a high-performing and efficient model by now available in three sizes: 2B, 9B, and 27B."),
'gemma2': _("Google Gemma 2 is a high-performing and efficient model available in three sizes: 2B, 9B, and 27B."),
'qwen2.5': _("Qwen2.5 models are pretrained on Alibaba's latest large-scale dataset, encompassing up to 18 trillion tokens. The model supports up to 128K tokens and has multilingual support."),
'phi3.5': _("A lightweight AI model with 3.8 billion parameters with performance overtaking similarly and larger sized models."),
'nemotron-mini': _("A commercial-friendly small language model by NVIDIA optimized for roleplay, RAG QA, and function calling."),
'mistral-small': _("Mistral Small is a lightweight model designed for cost-effective use in tasks like translation and summarization."),
'mistral-nemo': _("A state-of-the-art 12B model with 128k context length, built by Mistral AI in collaboration with NVIDIA."),
'mistral-large': _("Mistral Large 2 is Mistral's new flagship model that is significantly more capable in code generation, mathematics, and reasoning with 128k context window and support for dozens of languages."),
'qwen2': _("Qwen2 is a new series of large language models from Alibaba group"),
'deepseek-coder-v2': _("An open-source Mixture-of-Experts code language model that achieves performance comparable to GPT4-Turbo in code-specific tasks."),
'phi3': _("Phi-3 is a family of lightweight 3B (Mini) and 14B (Medium) state-of-the-art open models by Microsoft."),
'mistral': _("The 7B model released by Mistral AI, updated to version 0.3."),
'mixtral': _("A set of Mixture of Experts (MoE) model with open weights by Mistral AI in 8x7b and 8x22b parameter sizes."),
'codegemma': _("CodeGemma is a collection of powerful, lightweight models that can perform a variety of coding tasks like fill-in-the-middle code completion, code generation, natural language understanding, mathematical reasoning, and instruction following."),
@@ -15,6 +16,8 @@ descriptions = {
'llama3': _("Meta Llama 3: The most capable openly available LLM to date"),
'gemma': _("Gemma is a family of lightweight, state-of-the-art open models built by Google DeepMind. Updated to version 1.1"),
'qwen': _("Qwen 1.5 is a series of large language models by Alibaba Cloud spanning from 0.5B to 110B parameters"),
'qwen2': _("Qwen2 is a new series of large language models from Alibaba group"),
'phi3': _("Phi-3 is a family of lightweight 3B (Mini) and 14B (Medium) state-of-the-art open models by Microsoft."),
'llama2': _("Llama 2 is a collection of foundation language models ranging from 7B to 70B parameters."),
'codellama': _("A large language model that can use text prompts to generate and discuss code."),
'nomic-embed-text': _("A high-performing open embedding model with a large token context window."),
@@ -23,90 +26,98 @@ descriptions = {
'llama2-uncensored': _("Uncensored Llama 2 model by George Sung and Jarrad Hope."),
'deepseek-coder': _("DeepSeek Coder is a capable coding model trained on two trillion code and natural language tokens."),
'mxbai-embed-large': _("State-of-the-art large embedding model from mixedbread.ai"),
'zephyr': _("Zephyr is a series of fine-tuned versions of the Mistral and Mixtral models that are trained to act as helpful assistants."),
'dolphin-mistral': _("The uncensored Dolphin model based on Mistral that excels at coding tasks. Updated to version 2.8."),
'starcoder2': _("StarCoder2 is the next generation of transparently trained open code LLMs that comes in three sizes: 3B, 7B and 15B parameters."),
'orca-mini': _("A general-purpose model ranging from 3 billion parameters to 70 billion, suitable for entry-level hardware."),
'dolphin-mistral': _("The uncensored Dolphin model based on Mistral that excels at coding tasks. Updated to version 2.8."),
'zephyr': _("Zephyr is a series of fine-tuned versions of the Mistral and Mixtral models that are trained to act as helpful assistants."),
'dolphin-llama3': _("Dolphin 2.9 is a new model with 8B and 70B sizes by Eric Hartford based on Llama 3 that has a variety of instruction, conversational, and coding skills."),
'orca-mini': _("A general-purpose model ranging from 3 billion parameters to 70 billion, suitable for entry-level hardware."),
'yi': _("Yi 1.5 is a high-performing, bilingual language model."),
'mistral-openorca': _("Mistral OpenOrca is a 7 billion parameter model, fine-tuned on top of the Mistral 7B model using the OpenOrca dataset."),
'llava-llama3': _("A LLaVA model fine-tuned from Llama 3 Instruct with better scores in several benchmarks."),
'mistral-openorca': _("Mistral OpenOrca is a 7 billion parameter model, fine-tuned on top of the Mistral 7B model using the OpenOrca dataset."),
'starcoder': _("StarCoder is a code generation model trained on 80+ programming languages."),
'llama2-chinese': _("Llama 2 based model fine tuned to improve Chinese dialogue ability."),
'vicuna': _("General use chat model based on Llama and Llama 2 with 2K to 16K context sizes."),
'tinyllama': _("The TinyLlama project is an open endeavor to train a compact 1.1B Llama model on 3 trillion tokens."),
'vicuna': _("General use chat model based on Llama and Llama 2 with 2K to 16K context sizes."),
'codestral': _("Codestral is Mistral AIs first-ever code model designed for code generation tasks."),
'llama2-chinese': _("Llama 2 based model fine tuned to improve Chinese dialogue ability."),
'wizard-vicuna-uncensored': _("Wizard Vicuna Uncensored is a 7B, 13B, and 30B parameter model based on Llama 2 uncensored by Eric Hartford."),
'codegeex4': _("A versatile model for AI software development scenarios, including code completion."),
'nous-hermes2': _("The powerful family of models by Nous Research that excels at scientific discussion and coding tasks."),
'granite-code': _("A family of open foundation models by IBM for Code Intelligence"),
'openchat': _("A family of open-source models trained on a wide variety of data, surpassing ChatGPT on various benchmarks. Updated to version 3.5-0106."),
'aya': _("Aya 23, released by Cohere, is a new family of state-of-the-art, multilingual models that support 23 languages."),
'wizardlm2': _("State of the art large language model from Microsoft AI with improved performance on complex chat, multilingual, reasoning and agent use cases."),
'codeqwen': _("CodeQwen1.5 is a large language model pretrained on a large amount of code data."),
'tinydolphin': _("An experimental 1.1B parameter model trained on the new Dolphin 2.8 dataset by Eric Hartford and based on TinyLlama."),
'granite-code': _("A family of open foundation models by IBM for Code Intelligence"),
'all-minilm': _("Embedding models on very large sentence level datasets."),
'wizardcoder': _("State-of-the-art code generation model"),
'stable-code': _("Stable Code 3B is a coding model with instruct and code completion variants on par with models such as Code Llama 7B that are 2.5x larger."),
'openhermes': _("OpenHermes 2.5 is a 7B model fine-tuned by Teknium on Mistral with fully open datasets."),
'all-minilm': _("Embedding models on very large sentence level datasets."),
'codeqwen': _("CodeQwen1.5 is a large language model pretrained on a large amount of code data."),
'bakllava': _("BakLLaVA is a multimodal model consisting of the Mistral 7B base model augmented with the LLaVA architecture."),
'stablelm2': _("Stable LM 2 is a state-of-the-art 1.6B and 12B parameter language model trained on multilingual data in English, Spanish, German, Italian, French, Portuguese, and Dutch."),
'qwen2-math': _("Qwen2 Math is a series of specialized math language models built upon the Qwen2 LLMs, which significantly outperforms the mathematical capabilities of open-source models and even closed-source models (e.g., GPT4o)."),
'wizard-math': _("Model focused on math and logic problems"),
'neural-chat': _("A fine-tuned model based on Mistral with good coverage of domain and language."),
'llama3-gradient': _("This model extends LLama-3 8B's context length from 8k to over 1m tokens."),
'neural-chat': _("A fine-tuned model based on Mistral with good coverage of domain and language."),
'deepseek-llm': _("An advanced language model crafted with 2 trillion bilingual tokens."),
'phind-codellama': _("Code generation model based on Code Llama."),
'nous-hermes': _("General use models based on Llama and Llama 2 from Nous Research."),
'dolphincoder': _("A 7B and 15B uncensored variant of the Dolphin model family that excels at coding, based on StarCoder2."),
'sqlcoder': _("SQLCoder is a code completion model fined-tuned on StarCoder for SQL generation tasks"),
'xwinlm': _("Conversational model based on Llama 2 that performs competitively on various benchmarks."),
'deepseek-llm': _("An advanced language model crafted with 2 trillion bilingual tokens."),
'yarn-llama2': _("An extension of Llama 2 that supports a context of up to 128k tokens."),
'sqlcoder': _("SQLCoder is a code completion model fined-tuned on StarCoder for SQL generation tasks"),
'dolphincoder': _("A 7B and 15B uncensored variant of the Dolphin model family that excels at coding, based on StarCoder2."),
'llama3-chatqa': _("A model from NVIDIA based on Llama 3 that excels at conversational question answering (QA) and retrieval-augmented generation (RAG)."),
'yarn-llama2': _("An extension of Llama 2 that supports a context of up to 128k tokens."),
'mistral-large': _("Mistral Large 2 is Mistral's new flagship model that is significantly more capable in code generation, mathematics, and reasoning with 128k context window and support for dozens of languages."),
'wizardlm': _("General use model based on Llama 2."),
'starling-lm': _("Starling is a large language model trained by reinforcement learning from AI feedback focused on improving chatbot helpfulness."),
'codegeex4': _("A versatile model for AI software development scenarios, including code completion."),
'snowflake-arctic-embed': _("A suite of text embedding models by Snowflake, optimized for performance."),
'orca2': _("Orca 2 is built by Microsoft research, and are a fine-tuned version of Meta's Llama 2 models. The model is designed to excel particularly in reasoning."),
'solar': _("A compact, yet powerful 10.7B large language model designed for single-turn conversation."),
'samantha-mistral': _("A companion assistant trained in philosophy, psychology, and personal relationships. Based on Mistral."),
'moondream': _("moondream2 is a small vision language model designed to run efficiently on edge devices."),
'smollm': _("🪐 A family of small models with 135M, 360M, and 1.7B parameters, trained on a new high-quality dataset."),
'stable-beluga': _("🪐 A family of small models with 135M, 360M, and 1.7B parameters, trained on a new high-quality dataset."),
'qwen2-math': _("Qwen2 Math is a series of specialized math language models built upon the Qwen2 LLMs, which significantly outperforms the mathematical capabilities of open-source models and even closed-source models (e.g., GPT4o)."),
'dolphin-phi': _("2.7B uncensored Dolphin model by Eric Hartford, based on the Phi language model by Microsoft Research."),
'starling-lm': _("Starling is a large language model trained by reinforcement learning from AI feedback focused on improving chatbot helpfulness."),
'reflection': _("A high-performing model trained with a new technique called Reflection-tuning that teaches a LLM to detect mistakes in its reasoning and correct course."),
'moondream': _("moondream2 is a small vision language model designed to run efficiently on edge devices."),
'snowflake-arctic-embed': _("A suite of text embedding models by Snowflake, optimized for performance."),
'samantha-mistral': _("A companion assistant trained in philosophy, psychology, and personal relationships. Based on Mistral."),
'solar': _("A compact, yet powerful 10.7B large language model designed for single-turn conversation."),
'orca2': _("Orca 2 is built by Microsoft research, and are a fine-tuned version of Meta's Llama 2 models. The model is designed to excel particularly in reasoning."),
'deepseek-v2': _("A strong, economical, and efficient Mixture-of-Experts language model."),
'bakllava': _("BakLLaVA is a multimodal model consisting of the Mistral 7B base model augmented with the LLaVA architecture."),
'stable-beluga': _("Llama 2 based model fine tuned on an Orca-style dataset. Originally called Free Willy."),
'glm4': _("A strong multi-lingual general language model with competitive performance to Llama 3."),
'dolphin-phi': _("2.7B uncensored Dolphin model by Eric Hartford, based on the Phi language model by Microsoft Research."),
'wizardlm-uncensored': _("Uncensored version of Wizard LM model"),
'yarn-mistral': _("An extension of Mistral to support context windows of 64K or 128K."),
'phi3.5': _("A lightweight AI model with 3.8 billion parameters with performance overtaking similarly and larger sized models."),
'medllama2': _("Fine-tuned Llama 2 model to answer medical questions based on an open source medical dataset."),
'llama-pro': _("An expansion of Llama 2 that specializes in integrating both general language understanding and domain-specific knowledge, particularly in programming and mathematics."),
'llava-phi3': _("A new small LLaVA model fine-tuned from Phi 3 Mini."),
'hermes3': _("Hermes 3 is the latest version of the flagship Hermes series of LLMs by Nous Research"),
'yarn-mistral': _("An extension of Mistral to support context windows of 64K or 128K."),
'llama-pro': _("An expansion of Llama 2 that specializes in integrating both general language understanding and domain-specific knowledge, particularly in programming and mathematics."),
'medllama2': _("Fine-tuned Llama 2 model to answer medical questions based on an open source medical dataset."),
'yi-coder': _("Yi-Coder is a series of open-source code language models that delivers state-of-the-art coding performance with fewer than 10 billion parameters."),
'internlm2': _("InternLM2.5 is a 7B parameter model tailored for practical scenarios with outstanding reasoning capability."),
'meditron': _("Open-source medical large language model adapted from Llama 2 to the medical domain."),
'nous-hermes2-mixtral': _("The Nous Hermes 2 model from Nous Research, now trained over Mixtral."),
'nexusraven': _("Nexus Raven is a 13B instruction tuned model for function calling tasks."),
'nous-hermes2-mixtral': _("The Nous Hermes 2 model from Nous Research, now trained over Mixtral."),
'codeup': _("Great code generation model based on Llama2."),
'everythinglm': _("Uncensored Llama2 based model with support for a 16K context window."),
'hermes3': _("Hermes 3 is the latest version of the flagship Hermes series of LLMs by Nous Research"),
'internlm2': _("InternLM2.5 is a 7B parameter model tailored for practical scenarios with outstanding reasoning capability."),
'llama3-groq-tool-use': _("A series of models from Groq that represent a significant advancement in open-source AI capabilities for tool use/function calling."),
'magicoder': _("🎩 Magicoder is a family of 7B parameter models trained on 75K synthetic instruction data using OSS-Instruct, a novel approach to enlightening LLMs with open-source code snippets."),
'stablelm-zephyr': _("A lightweight chat model allowing accurate, and responsive output without requiring high-end hardware."),
'codebooga': _("A high-performing code instruct model created by merging two existing code models."),
'mistrallite': _("MistralLite is a fine-tuned model based on Mistral with enhanced capabilities of processing long contexts."),
'llama3-groq-tool-use': _("A series of models from Groq that represent a significant advancement in open-source AI capabilities for tool use/function calling."),
'falcon2': _("Falcon2 is an 11B parameters causal decoder-only model built by TII and trained over 5T tokens."),
'wizard-vicuna': _("Wizard Vicuna is a 13B parameter model based on Llama 2 trained by MelodysDreamj."),
'duckdb-nsql': _("7B parameter text-to-SQL model made by MotherDuck and Numbers Station."),
'qwen2.5-coder': _("The latest series of Code-Specific Qwen models, with significant improvements in code generation, code reasoning, and code fixing."),
'megadolphin': _("MegaDolphin-2.2-120b is a transformation of Dolphin-2.2-70b created by interleaving the model with itself."),
'notux': _("A top-performing mixture of experts model, fine-tuned with high-quality data."),
'goliath': _("A language model created by combining two fine-tuned Llama 2 70B models into one."),
'open-orca-platypus2': _("Merge of the Open Orca OpenChat model and the Garage-bAInd Platypus 2 model. Designed for chat and code generation."),
'notus': _("A 7B chat model fine-tuned with high-quality data and based on Zephyr."),
'dbrx': _("DBRX is an open, general-purpose LLM created by Databricks."),
'mathstral': _("MathΣtral: a 7B model designed for math reasoning and scientific discovery by Mistral AI."),
'bge-m3': _("BGE-M3 is a new model from BAAI distinguished for its versatility in Multi-Functionality, Multi-Linguality, and Multi-Granularity."),
'mathstral': _("MathΣtral: a 7B model designed for math reasoning and scientific discovery by Mistral AI."),
'dbrx': _("DBRX is an open, general-purpose LLM created by Databricks."),
'minicpm-v': _("A series of multimodal LLMs (MLLMs) designed for vision-language understanding."),
'nuextract': _("A 3.8B model fine-tuned on a private high-quality synthetic dataset for information extraction, based on Phi-3."),
'alfred': _("A robust conversational model designed to be used for both chat and instruct use cases."),
'firefunction-v2': _("An open weights function calling model based on Llama 3, competitive with GPT-4o function calling capabilities."),
'nuextract': _("A 3.8B model fine-tuned on a private high-quality synthetic dataset for information extraction, based on Phi-3."),
'solar-pro': _("Solar Pro Preview: an advanced large language model (LLM) with 22 billion parameters designed to fit into a single GPU"),
'bge-large': _("Embedding model from BAAI mapping texts to vectors."),
'reader-lm': _("A series of models that convert HTML content to Markdown content, which is useful for content conversion tasks."),
'deepseek-v2.5': _("An upgraded version of DeekSeek-V2 that integrates the general and coding abilities of both DeepSeek-V2-Chat and DeepSeek-Coder-V2-Instruct."),
'paraphrase-multilingual': _("Sentence-transformers model that can be used for tasks like clustering or semantic search."),
'bespoke-minicheck': _("A state-of-the-art fact-checking model developed by Bespoke Labs."),
}

View File

@@ -72,7 +72,8 @@ class chat(Gtk.ScrolledWindow):
self.welcome_screen = None
self.regenerate_button = None
self.busy = False
self.get_vadjustment().connect('notify::page-size', lambda va, *_: va.set_value(va.get_upper() - va.get_page_size()) if va.get_value() == 0 else None)
#self.get_vadjustment().connect('notify::page-size', lambda va, *_: va.set_value(va.get_upper() - va.get_page_size()) if va.get_value() == 0 else None)
##TODO Figure out how to do this with the search thing
def stop_message(self):
self.busy = False
@@ -436,6 +437,10 @@ class chat_list(Gtk.ListBox):
if row:
current_tab_i = next((i for i, t in enumerate(self.tab_list) if t.chat_window == window.chat_stack.get_visible_child()), -1)
if self.tab_list.index(row) != current_tab_i:
if window.searchentry_messages.get_text() != '':
window.searchentry_messages.set_text('')
window.message_search_changed(window.searchentry_messages, window.chat_stack.get_visible_child())
window.message_searchbar.set_search_mode(False)
window.chat_stack.set_transition_type(4 if self.tab_list.index(row) > current_tab_i else 5)
window.chat_stack.set_visible_child(row.chat_window)
window.switch_send_stop_button(not row.chat_window.busy)

View File

@@ -59,7 +59,7 @@ class text_block(Gtk.Label):
selectable=True
)
self.update_property([4, 7], [_("Response message") if bot else _("User message"), False])
self.connect('notify::has-focus', lambda *_: None if self.has_focus() else self.remove_selection() )
self.connect('notify::has-focus', lambda *_: GLib.idle_add(self.remove_selection) if self.has_focus() else None)
def remove_selection(self):
self.set_selectable(False)
@@ -442,7 +442,7 @@ class message(Gtk.Overlay):
GLib.idle_add(vadjustment.set_value, vadjustment.get_upper())
elif vadjustment.get_value() + 50 >= vadjustment.get_upper() - vadjustment.get_page_size():
GLib.idle_add(vadjustment.set_value, vadjustment.get_upper() - vadjustment.get_page_size())
self.content_children[-1].insert_at_end(data['message']['content'], False)
GLib.idle_add(self.content_children[-1].insert_at_end, data['message']['content'], False)
if 'done' in data and data['done']:
window.chat_list_box.get_tab_by_name(chat.get_name()).spinner.set_visible(False)
if window.chat_list_box.get_current_chat().get_name() != chat.get_name():
@@ -451,11 +451,12 @@ class message(Gtk.Overlay):
chat.container.remove(chat.welcome_screen)
chat.welcome_screen = None
chat.stop_message()
self.set_text(self.content_children[-1].get_label())
self.text = self.content_children[-1].get_label()
GLib.idle_add(self.set_text, self.content_children[-1].get_label())
self.dt = datetime.datetime.now()
self.add_footer(self.dt)
GLib.idle_add(self.add_footer, self.dt)
window.show_notification(chat.get_name(), self.text[:200] + (self.text[200:] and '...'), Gio.ThemedIcon.new("chat-message-new-symbolic"))
window.save_history(chat)
GLib.idle_add(window.save_history, chat)
else:
if self.spinner:
GLib.idle_add(self.container.remove, self.spinner)
@@ -557,3 +558,4 @@ class message(Gtk.Overlay):
self.container.append(text_b)
self.container.queue_draw()

View File

@@ -415,6 +415,7 @@ class model_manager_container(Gtk.Box):
spacing=12,
orientation=1
)
self.pulling_list = pulling_model_list()
self.append(self.pulling_list)
self.local_list = local_model_list()
@@ -483,11 +484,37 @@ class model_manager_container(Gtk.Box):
def change_model(self, model_name:str):
self.model_selector.change_model(model_name)
def has_vision(self, model_name) -> bool:
response = (
window.ollama_instance.request(
"POST", "api/show", json.dumps({"name": model_name})
)
)
if response.status_code != 200:
logger.error(f"Status code was {response.status_code}")
return False
try:
model_info = json.loads(response.text)
logger.debug(f"Vision for {model_name}: {'projector_info' in model_info}")
return 'projector_info' in model_info
except Exception as e:
logger.error(f"Error fetching vision info: {str(e)}")
return False
def verify_if_image_can_be_used(self):
logger.debug("Verifying if image can be used")
selected = self.get_selected_model()
if selected == None:
return False
# first try ollama show API.
if self.has_vision(selected):
return True
# then fall back to the old method.)
selected = selected.split(":")[0]
with open(os.path.join(source_dir, 'available_models.json'), 'r', encoding="utf-8") as f:
if selected in [key for key, value in json.load(f).items() if value["image"]]:
@@ -532,4 +559,3 @@ class model_manager_container(Gtk.Box):
GLib.idle_add(window.chat_list_box.update_welcome_screens, len(self.get_model_list()) > 0)
if len(list(self.pulling_list)) == 0:
GLib.idle_add(self.pulling_list.set_visible, False)

View File

@@ -92,6 +92,9 @@ class AlpacaWindow(Adw.ApplicationWindow):
file_preview_remove_button = Gtk.Template.Child()
secondary_menu_button = Gtk.Template.Child()
model_searchbar = Gtk.Template.Child()
message_searchbar = Gtk.Template.Child()
message_search_button = Gtk.Template.Child()
searchentry_messages = Gtk.Template.Child()
no_results_page = Gtk.Template.Child()
model_link_button = Gtk.Template.Child()
title_stack = Gtk.Template.Child()
@@ -321,6 +324,10 @@ class AlpacaWindow(Adw.ApplicationWindow):
self.model_manager.pulling_list.set_visible(not button.get_active() and len(list(self.model_manager.pulling_list)) > 0)
self.model_manager.local_list.set_visible(not button.get_active() and len(list(self.model_manager.local_list)) > 0)
@Gtk.Template.Callback()
def message_search_toggle(self, button):
self.message_searchbar.set_search_mode(button.get_active())
@Gtk.Template.Callback()
def model_search_changed(self, entry):
results = 0
@@ -336,6 +343,23 @@ class AlpacaWindow(Adw.ApplicationWindow):
self.model_scroller.set_visible(True)
self.no_results_page.set_visible(False)
@Gtk.Template.Callback()
def message_search_changed(self, entry, current_chat=None):
search_term=entry.get_text()
results = 0
if not current_chat:
current_chat = self.chat_list_box.get_current_chat()
if current_chat:
for key, message in current_chat.messages.items():
message.set_visible(re.search(search_term, message.text, re.IGNORECASE))
for block in message.content_children:
if isinstance(block, message_widget.text_block):
if search_term:
highlighted_text = re.sub(f"({re.escape(search_term)})", r"<span background='yellow' bgalpha='30%'>\1</span>", block.get_text(),flags=re.IGNORECASE)
block.set_markup(highlighted_text)
else:
block.set_markup(block.get_text())
@Gtk.Template.Callback()
def on_clipboard_paste(self, textview):
logger.debug("Pasting from clipboard")
@@ -551,6 +575,7 @@ Generate a title following these rules:
if response.status_code != 200:
raise Exception('Network Error')
except Exception as e:
logger.error(e)
self.chat_list_box.get_tab_by_name(chat.get_name()).spinner.set_visible(False)
chat.busy = False
GLib.idle_add(message_element.add_action_buttons)
@@ -827,7 +852,7 @@ Generate a title following these rules:
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.message_searchbar.connect('notify::search-mode-enabled', lambda *_: self.message_search_button.set_active(self.message_searchbar.get_search_mode()))
message_widget.window = self
chat_widget.window = self
model_widget.window = self
@@ -864,7 +889,8 @@ Generate a title following these rules:
'export_chat': [self.chat_actions],
'export_current_chat': [self.current_chat_actions],
'toggle_sidebar': [lambda *_: self.split_view_overlay.set_show_sidebar(not self.split_view_overlay.get_show_sidebar()), ['F9']],
'manage_models': [lambda *_: self.manage_models_dialog.present(self), ['<primary>m']]
'manage_models': [lambda *_: self.manage_models_dialog.present(self), ['<primary>m']],
'search_messages': [lambda *_: self.message_searchbar.set_search_mode(not self.message_searchbar.get_search_mode()), ['<primary>f']]
}
for action_name, data in universal_actions.items():

View File

@@ -54,6 +54,7 @@
</property>
<child>
<object class="AdwToolbarView">
<property name="height-request">140</property>
<child type="top">
<object class="AdwHeaderBar">
<child type="start">
@@ -63,6 +64,13 @@
<property name="active" bind-source="split_view_overlay" bind-property="show-sidebar" bind-flags="sync-create"/>
</object>
</child>
<child type="start">
<object class="GtkToggleButton" id="message_search_button">
<property name="icon-name">edit-find-symbolic</property>
<property name="tooltip-text" translatable="yes">Search Messages</property>
<signal name="clicked" handler="message_search_toggle"/>
</object>
</child>
<child type="title">
<object class="GtkStack" id="title_stack">
<property name="transition_duration">100</property>
@@ -100,6 +108,24 @@
</child>
</object>
</child>
<child type="top">
<object class="GtkSearchBar" id="message_searchbar">
<accessibility>
<property name="label" translatable="yes">Message search bar</property>
</accessibility>
<property name="key-capture-widget">AlpacaWindow</property>
<child>
<object class="GtkSearchEntry" id="searchentry_messages">
<signal name="search-changed" handler="message_search_changed"/>
<property name="search-delay">200</property>
<property name="placeholder-text" translatable="yes">Search messages</property>
<accessibility>
<property name="label" translatable="yes">Search messages</property>
</accessibility>
</object>
</child>
</object>
</child>
<property name="content">
<object class="GtkBox"><!--ACTUAL CONTENT-->
<property name="orientation">1</property>
@@ -508,6 +534,7 @@
<property name="vexpand">true</property>
<child>
<object class="GtkScrolledWindow" id="model_scroller">
<property name="hscrollbar-policy">2</property>
<property name="hexpand">true</property>
<property name="vexpand">true</property>
</object>

View File

@@ -25,4 +25,6 @@ msgmerge --no-fuzzy-matching -U po/uk.po po/alpaca.pot
echo "Updating German"
msgmerge --no-fuzzy-matching -U po/de.po po/alpaca.pot
echo "Updating Hebrew"
msgmerge --no-fuzzy-matching -U po/he.po po/alpaca.pot
msgmerge --no-fuzzy-matching -U po/he.po po/alpaca.pot
echo "Updating Telugu"
msgmerge --no-fuzzy-matching -U po/te.po po/alpaca.pot