kink-visuals

Kink Description Generator

This project helps you generate detailed descriptions for kinks/activities using local LLMs through Ollama. It processes a CSV file containing kink information and generates structured responses with consistent formatting.

Features

Setup

  1. Clone the repository:
    git clone https://github.com/drourke/kink-visuals.git
    cd kink-visuals
    
  2. Install dependencies:
    npm install
    
  3. Make sure you have Ollama installed and running:
    # Install Ollama (if not already installed)
    # See https://github.com/ollama/ollama for installation instructions
    
    # Start Ollama server
    ollama serve
    
    # Pull the deepseek-r1:70b model (or any other model you want to use)
    ollama pull deepseek-r1:70b
    

Using Ollama

Installing Ollama

  1. Visit the Ollama GitHub repository for installation instructions.
  2. For macOS, you can download the app from the Ollama website.
  3. For Linux, you can use the install script:
    curl -fsSL https://ollama.ai/install.sh | sh
    
  4. For Windows, you can use WSL or Docker.

Starting Ollama

  1. If you installed the macOS app, simply open the Ollama application.
  2. If you installed via command line, start the Ollama server:
    ollama serve
    

Checking Ollama Status

You can check if Ollama is running and if the required model is available:

npm run check

If the model is not available, you’ll need to pull it:

ollama pull deepseek-r1:70b

Using Different Models

The script supports using different models with Ollama. By default, it uses deepseek-r1:70b, but you can use any model available in Ollama.

Check available models:

npm run check

Use a specific model:

npm run start -- --model llama3

We’ve included shortcuts for some popular models:

Usage

Basic Usage

Run the script to process all kinks:

npm start

Process a Single Kink

To process just one kink:

npm run one

Process a Batch of Kinks

To process a batch of kinks (default: 5) with a delay between each:

npm run batch

Fully Automated Processing

To process all kinks without prompting after each one:

npm run auto

To process a batch of kinks automatically:

npm run auto-batch

Force Start from Beginning

To force the script to start from the beginning, ignoring progress:

npm run force

To process just one kink, starting from the beginning:

npm run force-one

Custom Processing

You can specify the number of kinks to process, the delay between them, and whether to skip prompts:

node index.js --count 10 --delay 15 --no-prompt --force-start --model llama3

Command Line Options

Output

All generated prompts and responses are saved in the kink_descriptions directory:

Progress Tracking

Your progress is saved in progress.json. If you stop the script and run it again later, it will continue from where you left off.

How It Works

  1. The script reads the CSV file containing kink information
  2. For each kink, it generates a prompt based on the kink’s name, description, and suggested categories
  3. It calls the Ollama API with the prompt
  4. The API response is formatted as Markdown and saved to a file
  5. Progress is tracked so you can stop and resume later

Requirements

Troubleshooting

Ollama Issues