Zator: туториал для новичков

1. Что такое Zator

Zator — это специализированный язык (DSL), предназначенный для создания AI-генеративных пайплайнов: текста, изображений и постобработки.

Он работает поверх API сервера KoboldCpp, который запускает:

  • LLM (генерация текста)
  • Stable Diffusion (генерация изображений)

Zator превращает сложные сценарии вроде:

  • HTTP-запросов
  • JSON
  • base64
  • файловых операций

в короткий декларативный код.

Например:

var img = generate_img("elf warrior", context, 512, 512) save_img(img, "elf.png")

В Python это потребовало бы десятки строк.

2. Архитектура Zator

Система состоит из трёх компонентов.

Zator script ↓ Zator interpreter ↓ KoboldCpp API ↓ LLM / Stable Diffusion

Что делает интерпретатор

  1. парсит .zator
  2. вызывает API
  3. обрабатывает изображения
  4. сохраняет результаты

Интерпретатор не содержит моделей — только клиент. Скачать можно с официального сайта (zapor.2bd.net).

3. Основные концепции языка

Контекст

Контекст определяет роль модели.

context = "You are a fantasy writer"

Это автоматически добавляется к каждому prompt.

Типы данных

Всего 3 типа:

  • string - текст (строка)
  • int - число
  • image - изображение

4. Генерация текста

Основная функция:

generate_text(prompt, context, tokens)

Пример:

context = "You are a sci-fi writer" var story = generate_text( "Write a story about AI city", context, 300)

Под капотом вызывается API:

/api/v1/generate

KoboldCpp управляет параметрами:

  • temperature
  • top_p
  • repetition penalty

5. Генерация изображений

Функция:

generate_img(prompt, context, width, height)

Пример:

var img = generate_img( "portrait of cyberpunk hacker", context, 512, 512 )

Под капотом вызывается:

/sdapi/v1/txt2img

6. Постобработка изображений

Zator умеет изменять базовую графику прямо в пайплайне.

Хромакей

image = chroma_key_crop(image, 0, 0, 5.0)

Удаляет зелёный фон.

Масштабирование

scale_to(image, width, height)

7. F-строки

Позволяют формировать динамические промпты.

var character = "elf" var prompt = "portrait of {character} warrior"

8. Пользовательские функции

В новых версиях поддерживается def.

def create_portrait(name) { var prompt = "portrait of {name}" var img = generate_img(prompt, context, 512, 512) } call create_portrait("💀")

9. HTTP интеграция

Функция:

request()

Позволяет интегрироваться с:

  • Telegram
  • Discord
  • Webhooks
  • REST API

10. Системные команды

exec_cmd()

Позволяет:

  • запускать скрипты
  • копировать файлы
  • запускать ffmpeg
  • выполнять shell команды

Пример интеграции

Генерация ассетов для игры

Задача:

Сгенерировать:

  • персонажа
  • иконку
  • спрайт

Скрипт

context = "You are a pixel art game artist" var enemy = "goblin alchemist" var sprite = generate_img( "pixel art {enemy} with green background", context, 512, 512 ) var icon = scale_to(sprite, 64, 64) save_img(sprite, "enemy.png") save_img(icon, "enemy_icon.png")

Что делает данный pipeline

  1. Генерирует арт
  2. Масштабирует
  3. Сохраняет ассеты

Это полностью автоматическая генерация контента для игры.

Когда использовать Zator

Язык подходит для:

  • генерации игровых ассетов
  • AI-контента
  • генерации иллюстраций
  • автоматизации соцсетей
  • прототипирования AI-pipeline

Когда НЕ использовать

Не подходит для:

  • backend разработки
  • сложной логики
  • системного программирования
  • data processing
2
1 комментарий