Документация

Быстрый старт

Ollaya запускает открытые модели решений на вашей собственной машине. Вы даёте модели состояние (сообщение, письмо, тикет, объект JSON) и несколько типизированных вопросов, и она за один прямой проход возвращает типизированные ответы с калиброванными вероятностями.

1. Установка

В Linux и macOS:

curl -fsSL https://ollaya.dev/install.sh | sh

В Windows, в PowerShell:

irm https://ollaya.dev/install.ps1 | iex

Или возьмите десктопное приложение, которое включает ту же командную строку и сервер.

Скрипт загружает последний выпуск с GitHub и проверяет его sha256. В Linux и Windows он также загружает библиотеки CUDA, когда находит GPU NVIDIA. В Linux, где работает systemd и есть права root, он настраивает службу, которая обслуживает API на 127.0.0.1:11435. Требования и образы Docker см. в разделе Скачать.

2. Запуск модели

ollaya run winnow:e4b "Third time this year you've double-charged me. Refund it today or I'm cancelling and moving to a competitor."
intent            refund                                ███████████████░ 0.91
is_urgent         yes                                   ███████████████░ 0.92
frustration       2.89 / 3  very angry or using stron…  ██████████████░░ 0.86
refund_requested  yes                                   ████████████████ 0.99
churn_risk        yes                                   ████████████████ 0.99

ollaya run запускает сервер, если он не работает, загружает модель при первом использовании и загружает её в память. winnow:e4b — рекомендуемая модель: точность 0.722 на типизированных решениях, близко к Jev от TypeSafe (0.738), и 89 мс на эти пять вопросов на RTX 4090. Загрузка занимает 8 ГБ.

Нет GPU NVIDIA? Начните с laya, которая отвечает за доли секунды на CPU. Это router: он отправляет английский текст в laya:en, а другие языки, например турецкий, в laya:multilingual, и загрузка laya тянет оба. Models сравнивает точность и скорость каждой модели.

  • --preset NAME использует встроенный набор вопросов: triage, email, guard, moderation, router или agent. Без него модель, у которой нет своих вопросов, отвечает triage.
  • --verbose добавляет вероятность каждого варианта, решение маршрутизации и тайминги.
  • --format json выводит полный ответ API.
  • Без состояния ollaya run читает stdin из конвейера или открывает приглашение в терминале.

3. Задайте свои вопросы

Запишите вопросы в файл:

{
  "topic": {
    "type": "choice",
    "instructions": "What is this message about?",
    "criteria": {
      "billing": "Payments, invoices and refunds",
      "access": "Login, passwords and permissions",
      "other": "Anything else"
    }
  },
  "urgency": {
    "type": "score",
    "instructions": "How urgent is this?",
    "criteria": ["Can wait", "Needs attention this week", "Needs attention today"]
  },
  "angry": {
    "type": "noul",
    "instructions": "Is the customer angry?"
  }
}
ollaya run winnow:e4b --questions questions.json "Hi, I cannot log in since this morning and I have a demo at 3pm."

Или пропустите файл и передайте JSON прямо в командной строке, как это делает curl -d (значение, начинающееся с {, — это JSON, а не путь к файлу):

ollaya run winnow:e4b --questions '{"angry":{"type":"noul","instructions":"Is the customer angry?"}}' "Hi, I cannot log in since this morning and I have a demo at 3pm."

Или отправьте те же вопросы в API:

curl http://localhost:11435/api/decide -d '{
  "model": "winnow:e4b",
  "state": "Hi, I cannot log in since this morning and I have a demo at 3pm.",
  "questions": {
    "angry": {"type": "noul", "instructions": "Is the customer angry?"}
  }
}'

Каждый ответ возвращается типизированным: choice с вероятностью для каждого варианта, score как ожидаемый уровень и noul как вероятность того, что утверждение верно. См. справочник API.

4. Используйте существующий клиент TypeSafe

Ollaya также обслуживает API TypeSafe. Официальный Python SDK TypeSafe работает без изменений:

export TYPESAFE_BASE_URL=http://localhost:11435
export TYPESAFE_API_KEY=local        # any value; the SDK needs one
export TYPESAFE_DEFAULT_MODEL=winnow:e4b

См. Совместимость с TypeSafe.

5. Запеките свои вопросы в модель

Modelfile превращает набор вопросов в модель, которую можно запускать по имени:

FROM laya
QUESTIONS ./questions.json
DESCRIPTION Support inbox triage
ollaya create inbox -f Modelfile
ollaya run inbox "Hi, I cannot log in since this morning and I have a demo at 3pm."

Дальнейшие шаги