Laiya

The AI layer for Ruby.

Development Status

Laiya is a play on “Layer AI”: an OpenAI-compatible HTTP API and provider proxy built on Async::HTTP.

Motivation

LLM providers expose overlapping APIs but differ in authentication, model catalogs, and protocol details. Laiya provides a shared OpenAI-compatible HTTP surface and routes requests to configured providers, while allowing compatible providers to proxy request and response bodies without buffering them.

Usage

Please browse the reference index or refer to the guides below.

Getting Started

This guide explains how to install Laiya, configure a provider, and make an OpenAI-compatible request.

Providers and Models

This guide explains how to route model IDs to providers and when to discover a provider's model catalog.

HTTP API

This guide explains how Laiya's OpenAI-compatible HTTP API handles routing, proxying, and streaming.

ChatGPT Codex Provider

This guide explains how to run the experimental Codex provider with a ChatGPT login while keeping tool execution on the client.

Releases

Please browse the releases for more details.

v0.0.3

  • Enrich discovered Ollama models with thinking controls from /api/show.
  • Discover account-visible Codex models and reasoning capabilities from the authenticated model catalog.
  • Document a Responses-compatible OpenCode provider for Codex tool calling.

v0.0.2

  • Add Laiya's OpenAI-compatible HTTP API and Async::Service launcher.
  • Add OpenAI and Ollama providers with model discovery and configurable model limits.
  • Add an experimental ChatGPT Codex provider using Codex CLI credentials.

Contributing

We welcome contributions to Laiya.

Running tests

bundle exec bake test

Running integration tests

The Ollama integration test requires Docker Compose and downloads a small CPU model on its first run:

bundle exec bake test:integration name=ollama

Making releases

bundle exec bake gem:github:release:patch

See bake-gem-github for release setup and process.

Developer Certificate of Origin

Contributions must comply with the Developer Certificate of Origin.