-
-
Notifications
You must be signed in to change notification settings - Fork 52
Packaging Alpaca
Alpaca is open source and welcomes external packaging, whilst my intentions with the project is for it to be package in sandboxed universal solutions (Snap and Flatpak), I'm also willing to publicize other packaging methods.
- Running Alpaca outside a sandbox might be dangerous.
- There are required dependencies you must include for Alpaca to run.
- You shouldn't make Ollama a requirement, Alpaca can run without a local instance.
When packaging Alpaca you need to be aware of the importance in sandboxing Alpaca, that mainly has to do with how code running work.
Alpaca uses many Python libraries and other open source projects to include functionality, mainly the connection to Ollama, attachment handling, YouTube caption extraction, ETC.
Name | Reason |
---|---|
Requests | Communication with Ollama instance. |
Pillow | Handling images. |
PyPDF | Extracting text from PDF. |
YouTube-Transcript-API | Extracting transcripts from YouTube videos. |
HTML2Text | Extracting text from webpages. |
PyDBus | Publishing Alpaca to DBus. |
ODFPy | Extracting text from ODT files. |
VTE | Internal terminal for running scripts. |
PyICU | Translating language names for models. |
Name | Reason |
---|---|
NumaCtl | Includes LibNuma, needed inside the Flatpak to provide ROCm support. |
Ollama | Please read the next section to know why Ollama should not be included. |
Alpaca has been made in a way that makes it work with or without an included Ollama instance, this is important because many people might want to run Alpaca with existing Ollama instances in external servers or containers.