Forerunner для Laravel — це пакет, що надає API у стилі міграцій для опису JSON schemas. Він гарантує, що відповіді вашої LLM завжди матимуть чітку структуру. Створюйте схеми для LLM, використовуючи знайомий синтаксис міграцій Laravel:
use Blaspsoft\Forerunner\Schema\Struct;
use Blaspsoft\Forerunner\Schema\Property;
$schema = Struct::define('User', 'A user schema', function (Property $property) {
$property->string('name', 'The user\'s full name')->required();
$property->string('email', 'The user\'s email address')->required();
$property->int('age', 'The user\'s age')->min(0)->max(150);
$property->boolean('is_active', 'Is the user account active?')->default(true);
})->toArray();
Наведений вище Struct повертає масив, який також можна конвертувати у JSON:
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The user's full name"
},
"email": {
"type": "string",
"description": "The user's email address"
},
"age": {
"type": "integer",
"description": "The user's age",
"minimum": 0,
"maximum": 150
},
"is_active": {
"type": "boolean",
"description": "Is the user account active?",
"default": true
}
},
"description": "A user schema",
"required": [
"name",
"email"
],
"additionalProperties": false
}
# Основні можливості
- Створення схем структурованого виводу для LLM
- Підтримка різних типів полів: String, Integer, Float тощо
- Допоміжні методи для поширених форматів даних
- Валідація рядкових форматів
- Контроль унікальності елементів у масивах
- Підтримка Strict mode для LLM API
- Визначення метаданих схеми
- Та багато іншого
Наразі пакет перебуває на стадії pre-release, проте ми вирішили поділитися ним уже зараз. Враховуйте, що API може змінитися.
💻 Проєкт доступний на GitHub: Blaspsoft/forerunner