Skip to main content

Silly Language Models by Allika

Project description

SillikaLM - Krishnakanth Allika's Silly Language Models

Overview

SillikaLM is a project I created as a fun yet meaningful exploration of language models—its name, a playful twist on "Allika's Silly Language Models." The goal is to dive into LLM technology: setting up and running models locally with Ollama, evaluating small and tiny models from Ollama and Hugging Face, integrating them into a Python-based web UI, and even developing new SillikaLM models for local use.

At its core, SillikaLM is a lightweight platform for managing and deploying language models. Built with FastAPI, it provides functionalities for creating, listing, and deleting models. It leverages Ollama for model management and OpenWebUI for an intuitive web-based interface, making AI experimentation more accessible and seamless.

SillikaLM Models and Their Personalities

Model Name Personality Summary
Armchair Athlete 🏆🍕 Yells sports strategies at the TV but hasn’t exercised since 2012.
Cashanova the Banker 💰📈 Treats friendships like investments and emotions like stock market trends.
CEO - Chief Evil Officer 😈🏢 Measures happiness in profit margins and fires interns for sport.
Deus Exasperatus ⚡😩 A god who regrets creating humans and sighs more than he speaks.
Dr. Nurse 🩺🔬 Diagnoses strangers mid-conversation and carries a defibrillator just in case.
Kumbhakarna 😴🍗 Wakes up only for food and world-ending catastrophes—maybe.
Miss Marshmallow 🍭💖 Sweet, soft, and suspiciously good at revenge.
Pipelinestein 🔬⚙️ Automates everything, including morning coffee and breathing.
PyThanos 🧑‍💻🔮 Snaps half of all bad code into oblivion—documentation included.
Ramanujenius 🧮🤓 Solves equations for fun and statistically proves you're wrong.

Features

SillikaLM allows users to create, list, and delete SillikaLM models with ease. It supports base models from Ollama and Hugging Face, enabling flexible model selection. The platform simplifies model creation based on base model information and includes comprehensive logging for activity and error tracking. Additionally, it features a web-based interface powered by OpenWebUI for a seamless user experience.

Installation

Prerequisites

Python

Ensure you have Python installed on your system. For beginners, using Anaconda to manage Python installations is recommended.

Windows:
  1. Download Miniconda from here and install it.
macOS and Linux:
  1. Follow the instructions at Anaconda's official documentation.

Alternatively, you can install Python from python.org if you are comfortable managing upgrades and environments.

Ollama

Ollama must me installed on your system. If you haven't installed Ollama, you can do so by following the instructions here.

Running SillikaLM

SillikaLM is tested on Python 3.11 and 3.12. It is recommended to use Python 3.11 for default compatibility. If you are using Python 3.12, you may need to install Visual C++ Build Tools.

With uv (Recommended)

  1. Create a new conda environment with Python 3.11:
    conda create -n sillikalm uv python=3.11
    
  2. Activate the environment:
    conda activate sillikalm
    
  3. Install SillikaLM:
    uv pip install sillikalm
    
  4. Run SillikaLM:
    sillikalm
    

With pip

  1. Create a new conda environment with Python 3.11:
    conda create -n sillikalm python=3.11
    
  2. Activate the environment:
    conda activate sillikalm
    
  3. Install SillikaLM:
    pip install sillikalm
    
  4. Run SillikaLM:
    sillikalm
    

Web Interface

The SillikaLM web interface, powered by OpenWebUI, provides a user-friendly experience for managing language models. Key features include:

  • Model Selection: Choose a base model from the dropdown menu to build SillikaLM models.
  • Install Models: Install all SillikaLM models with a single click.
  • List Models: Display a list of all installed SillikaLM models.
  • Chat: Interact with SillikaLM models through a chat interface.
  • Delete Model: Select and delete a specific SillikaLM model.
  • Delete all SillikaLMs: Remove all installed SillikaLM models.
  • Shutdown: Safely shut down the SillikaLM application.
  • Logs: View detailed logs of model activities, including installations, deletions, and interactions.

The interface also displays model details such as name, size, parameters, quantization, and last modified date.

License

This project is licensed under the GNU General Public License v3 (GPLv3). For more details, refer to the LICENSE file.

Contact

For any inquiries or support, please contact Krishnakanth Allika at speed-acorn-whiff [at] duck [dot] com.


This documentation provides a comprehensive guide for end users to understand, install, and use the SillikaLM project. For further details, refer to the source code and comments within the project files.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sillikalm-0.1.4.tar.gz (284.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sillikalm-0.1.4-py3-none-any.whl (282.5 kB view details)

Uploaded Python 3

File details

Details for the file sillikalm-0.1.4.tar.gz.

File metadata

  • Download URL: sillikalm-0.1.4.tar.gz
  • Upload date:
  • Size: 284.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.11

File hashes

Hashes for sillikalm-0.1.4.tar.gz
Algorithm Hash digest
SHA256 8508cc9cf5b4d0cc85332ecc16b44c0abf4e582f4ae20cc57355dd7671dd9b26
MD5 7ff9738419c41c59f562518f6c0dd2e3
BLAKE2b-256 7a5dc72d8fdcc1f621ad1ec3a10e92414c2997f47e0f0ab9161eb629e12e0ae3

See more details on using hashes here.

File details

Details for the file sillikalm-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: sillikalm-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 282.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.11

File hashes

Hashes for sillikalm-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 db82de7cff5fceb2e4ab2328b8c0a322cde0619b3476cc78ecaa167ccba51ff5
MD5 621480e5443c4f31bb29dab3cd8aa636
BLAKE2b-256 faa4c1cf0a63e7176234287af03329c22f429ab246238a4432ea0b3ac8621e4e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page