Início rápido
O Ollaya executa modelos de decisão abertos na sua própria máquina. Você dá a um modelo um estado (uma mensagem, um e-mail, um ticket, um objeto JSON) e algumas perguntas tipadas, e ele retorna respostas tipadas com probabilidades calibradas em um único forward pass.
1. Instalação
No Linux e no macOS:
curl -fsSL https://ollaya.dev/install.sh | sh
No Windows, no PowerShell:
irm https://ollaya.dev/install.ps1 | iex
Ou baixe o aplicativo de desktop, que inclui a mesma linha de comando e o mesmo servidor.
O script baixa a versão mais recente do GitHub e verifica seu sha256. No Linux e no Windows, ele também baixa as bibliotecas CUDA quando encontra uma GPU NVIDIA. No Linux, onde o systemd roda e ele tem direitos de root, ele configura um serviço que serve a API em 127.0.0.1:11435. Veja Baixar para os requisitos e as imagens Docker.
2. Executar um modelo
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 inicia o servidor se ele não estiver em execução, baixa o modelo no primeiro uso e o carrega. winnow:e4b é o modelo recomendado: 0.722 de exatidão em decisões tipadas, perto do Jev da TypeSafe (0.738), e 89 ms para estas cinco perguntas em uma RTX 4090. O download tem 8 GB.
Sem GPU NVIDIA? Comece com laya, que responde em uma fração de segundo em uma CPU. É um router: envia o texto em inglês para laya:en e os outros idiomas, o turco por exemplo, para laya:multilingual, e baixar laya baixa ambos. Models compara a exatidão e a velocidade de todos os modelos.
--preset NAMEusa um conjunto de perguntas integrado:triage,email,guard,moderation,routerouagent. Sem ele, um modelo que não tem perguntas próprias respondetriage.--verboseadiciona a probabilidade de cada opção, a decisão de roteamento e os tempos.--format jsonimprime a resposta completa da API.- Sem um estado,
ollaya runlê o stdin canalizado ou abre um prompt em um terminal.
3. Faça suas próprias perguntas
Escreva as perguntas em um arquivo:
{
"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."
Ou pule o arquivo e passe o JSON na linha de comando, como o curl -d faz (um valor que começa com { é JSON, não um caminho de arquivo):
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."
Ou envie as mesmas perguntas para a 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?"}
}
}'
Toda resposta volta tipada: um choice com uma probabilidade por opção, um score como o nível esperado e um noul como a probabilidade de que a afirmação seja verdadeira. Veja a referência da API.
4. Use um cliente TypeSafe existente
O Ollaya também serve a API da TypeSafe. O SDK oficial da TypeSafe para Python funciona sem alterações:
export TYPESAFE_BASE_URL=http://localhost:11435
export TYPESAFE_API_KEY=local # any value; the SDK needs one
export TYPESAFE_DEFAULT_MODEL=winnow:e4b
Veja Compatibilidade com TypeSafe.
5. Incorpore suas perguntas a um modelo
Um Modelfile transforma um conjunto de perguntas em um modelo que você pode executar pelo nome:
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."