Practical overview
When it fits
Use Ferryai when a PHP application needs supported model inference in its own process and the team can meet the PHP and backend requirements.
Who it is for
- PHP developers adding model inference to server-side applications.
- Teams building PHP chat, embedding, classification or retrieval workflows.
Documented uses
- Generate chat replies or stream tokens from a GGUF model.
- Create text embeddings, store vectors and search them.
- Run ONNX classification or moderation models.
- Perform tabular prediction with CPU-native operations or RubixML models.
Requirements & limits
The repository is public and lists the MIT license. Ferryai is a library for developers to integrate, rather than a hosted inference service.
- Requires PHP 8.3 or later.
- ONNX and llama.cpp use native shared libraries through FFI; GPU operation has backend-specific dependencies.
- The documented ONNX path can fall back to CPU when GPU providers are unavailable.
- The repository describes the release as early and notes that the public API may change before 1.0.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Set up an ONNX embedding and vector-search flow
Configure Ferryai with an ONNX embedding model, then add and search vectors in its documented example.
Before you start
- PHP 8.3 or later
- Ferryai
- An ONNX embedding model at a configured model path
Steps
Configure the
onnxbackend and set the embedding model path.Call
AI::embed()on text to obtain its vector.Create a vector store with
AI::vector(), add the vector with an identifier and metadata, then search using an embedded query.
Expected outcome
A PHP code path that embeds text, stores a vector and retrieves matching vector-search results.
Guide limitations
- The example does not document installation commands or how to obtain the model.
- The example demonstrates the vector API but does not describe production data management.
Configure and call a GGUF chat model
Configure the llama backend with a GGUF model path and make a chat or streaming call.
Before you start
- PHP 8.3 or later
- A GGUF model file
- The llama.cpp wrapper shared library, configured through
FERRY_AI_LLAMA_WRAPPERorFERRY_AI_LLAMA_LIBand made available onPATH
Steps
Set the backend to
llamaand configure itsmodel_pathto the GGUF file.Configure the wrapper location using one of the documented environment variables and add the relevant directory to
PATH.Call
AI::chat()for a complete reply or iterate overAI::stream()for tokens.
Expected outcome
PHP code configured to request chat output from a GGUF model, either as a full reply or a token stream.
Guide limitations
- The README links to separate wrapper build instructions; this guide does not cover building the native wrapper.
- The repository identifies the release as early and says its public API may change before 1.0.
Compare options for Model inference and serving
These projects document a common task and share a project role. This is a source-based comparison, not an execution benchmark or a guarantee of interchangeability.
| Project | Documented purpose | Platform | Access and requirements |
|---|---|---|---|
| Ferryai | Generate chat replies or stream tokens from a GGUF model. | Self-hosted, Server | The repository is public and lists the MIT license. Ferryai is a library for developers to integrate, rather than a hosted inference service. |
| Cloud AI SDK | Adapt and run documented model recipes for computer-vision and NLP inference. | Cloud, Server | The GitHub repository is public. Its public visibility does not establish license terms. |
| Turboquant | Replace a model’s existing inference cache with a compressed cache. | Cloud, Linux, macOS, Self-hosted | The project describes itself as open source. The README documents installation through pip or from a source checkout. |
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 14 October 2026
- Original website title
- MADEVAL/FerryAI · Official homepage title · retained in its source language

