Documentación

Inicio rápido

Ollaya ejecuta modelos de decisión abiertos en tu propia máquina. Le das a un modelo un estado (un mensaje, un correo, un ticket, un objeto JSON) y unas cuantas preguntas tipadas, y devuelve respuestas tipadas con probabilidades calibradas en una sola pasada hacia delante.

1. Instalación

En Linux y macOS:

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

En Windows, en PowerShell:

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

O consigue la aplicación de escritorio, que incluye la misma línea de comandos y el mismo servidor.

El script descarga la última versión desde GitHub y comprueba su sha256. En Linux y Windows también descarga las bibliotecas CUDA cuando encuentra una GPU NVIDIA. En Linux, donde se ejecuta systemd y tiene permisos de root, configura un servicio que sirve la API en 127.0.0.1:11435. Consulta Descargar para los requisitos y las imágenes de Docker.

2. Ejecuta un 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 el servidor si no está en marcha, descarga el modelo en el primer uso y lo carga. winnow:e4b es el modelo recomendado: 0.722 de exactitud en decisiones tipadas, cerca del Jev de TypeSafe (0.738), y 89 ms para estas cinco preguntas en una RTX 4090. Su descarga es de 8 GB.

¿No tienes GPU NVIDIA? Empieza con laya, que responde en una fracción de segundo en una CPU. Es un router: envía el texto en inglés a laya:en y los demás idiomas, el turco por ejemplo, a laya:multilingual, y descargar laya descarga ambos. Models compara la exactitud y la velocidad de todos los modelos.

  • --preset NAME usa un conjunto de preguntas integrado: triage, email, guard, moderation, router o agent. Sin él, un modelo que no tiene preguntas propias responde triage.
  • --verbose añade la probabilidad de cada opción, la decisión de enrutado y los tiempos.
  • --format json imprime la respuesta completa de la API.
  • Sin un estado, ollaya run lee de stdin por tubería o abre un prompt en un terminal.

3. Haz tus propias preguntas

Escribe las preguntas en un archivo:

{
  "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."

O sáltate el archivo y pasa el JSON en línea, como hace curl -d (un valor que empieza por { es JSON, no una ruta de archivo):

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."

O envía las mismas preguntas a la 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?"}
  }
}'

Cada respuesta vuelve tipada: un choice con una probabilidad por opción, un score como el nivel esperado y un noul como la probabilidad de que la afirmación se cumpla. Consulta la referencia de la API.

4. Usa un cliente TypeSafe existente

Ollaya también sirve la API de TypeSafe. El SDK oficial de TypeSafe para Python funciona sin cambios:

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

Consulta Compatibilidad con TypeSafe.

5. Integra tus preguntas en un modelo

Un Modelfile convierte un conjunto de preguntas en un modelo que puedes ejecutar por su nombre:

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."

Próximos pasos