Быстрый старт
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
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."