Installation

Ditana GNU/Linux

Ditana Assistant is integrated into the Ditana GNU/Linux distribution with native Arch packages. The corresponding package in the Ditana Arch repository is ditana-assistant.

Note that this package does not depend on the ditana-koboldcpp AUR package, because you have free choice of which AI API you want to use, including OpenAI. ditana-koboldcpp includes an optimized configuration for the Gemma language model. In KoboldCpp operation mode, the assistant makes use of Gemma’s prompt format.

Other Linux Distributions, Windows, and macOS

For other platforms, including Windows and macOS, you can install Ditana Assistant from source using Poetry:

  1. Clone the repository:

    git clone https://github.com/acrion/ditana-assistant.git
    cd ditana-assistant
    
  2. Install Poetry:

    pip install poetry
    
  3. Install ditana-assistant’s dependencies:

    poetry install
    

    This command will create a virtual environment (if one does not already exist) and install all dependencies listed in the pyproject.toml file. To execute ditana-assistant, you need to spawn a shell within the virtual environment with this command:

    poetry shell
    

    The dependencies include either an OpenAI API key or a local KoboldCpp server. For the latter, please consider using Google’s Gemma LLM (Download), as Ditana Assistant utilizes Gemma’s Instruct Tag Format. For this, you should select the Instruct Tag Preset Gemma 2 in KoboldCpp’s Format settings.

Why no requirements.txt?

Ditana Assistant uses Poetry to manage dependencies, which eliminates the need for a requirements.txt file. Poetry provides a pyproject.toml file to define dependencies and a poetry.lock file to lock the exact versions of these dependencies for consistency across different environments. This approach simplifies dependency management by ensuring that all environments use the exact same versions, reducing potential conflicts.

For more information on how Poetry manages dependencies, visit the Poetry documentation.

Prerequisites

Ditana Assistant supports two main operating modes:

  1. Local operation with KoboldCpp:

  2. Cloud-based operation with OpenAI API:

Choose the mode that best fits your needs and system capabilities.