Download the PHP package inerba/filament-natural-language-filter without Composer

On this page you can find all versions of the php package inerba/filament-natural-language-filter. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package filament-natural-language-filter

Filament Natural Language Filter

A simple Filament filter that converts natural language text into database queries using AI.

Installation

Configuration

  1. Publish the config file:

  2. Add your AI provider configuration to your .env file:

Usage

Add the filter to your Filament table:

Advanced Features

Relationship Filtering

Boolean Logic Support

Aggregation Queries

Real-World Implementation Examples

E-commerce Product Management

User Management System

Content Management System

Order Management System

Advanced Configuration Examples

Custom Column Mappings

Performance Optimization

Multi-Language Support

Code Implementation Patterns

Custom Filter Logic

Integration with Other Filters

API Integration

Search Modes

You can configure how the filter triggers searches:

Submit Mode (Default) - Search on Enter key

Live Mode - Search as you type

Manual Mode Configuration

When to Use Each Mode

Submit Mode (Default) - Best for:

Live Mode - Best for:

How it works

  1. User enters natural language: "show users named john created after 2023"
  2. AI processes the text: Converts it to structured filters based on your available columns
  3. Database query is built: WHERE name LIKE '%john%' AND created_at > '2023-01-01'
  4. Results are filtered: Table shows matching records

Examples

Basic Filtering Examples

Simple Text Searches:

Date Filtering:

Numeric Comparisons:

Advanced Relationship Filtering

Cross-Model Queries:

Relationship Examples:

Boolean Logic Examples

AND Operations:

OR Operations:

Complex Logic:

Aggregation Query Examples

Count Operations:

Sum/Average Operations:

Min/Max Operations:

Universal Language Support 🌍

The filter supports ANY language with automatic AI translation and understanding:

Multi-Language Examples

English:

Arabic (العربية):

Spanish (Español):

French (Français):

German (Deutsch):

Chinese (中文):

Japanese (日本語):

How It Works

  1. AI Language Detection: Automatically detects the input language
  2. Natural Understanding: Maps language-specific keywords to operators
  3. Value Preservation: Keeps original values in their native language/script
  4. Mixed Language: Handles mixed-language queries seamlessly

Mixed Language Queries

The AI can handle mixed-language queries naturally:

AI Provider Support

The package supports both OpenAI and Azure OpenAI services. You can choose your preferred provider:

OpenAI (Default)

Azure OpenAI

Configuration Options

Environment Variables

For OpenAI:

For Azure OpenAI:

Advanced Features Configuration:

Version Management

The package includes automatic version management. You can bump versions manually or automatically:

Manual Version Bumping

Automatic Version Bumping

The package includes a Git pre-push hook that automatically bumps the patch version on each push to the main branch.

Quick Bump and Push

Troubleshooting & FAQ

Common Issues

1. Filter Not Working

Problem: Natural language filter doesn't process queries Solutions:

2. Slow Performance

Problem: Filter is slow with large datasets Solutions:

3. AI Not Understanding Queries

Problem: AI returns empty results or wrong filters Solutions:

4. Relationship Filtering Issues

Problem: Relationship queries don't work Solutions:

5. Cache Issues

Problem: Results are cached and not updating Solutions:

Performance Optimization

Database Indexing

Query Optimization

Caching Strategy

Debugging

Enable Debug Mode

Check Logs

Test AI Connection

Advanced Configuration

Custom AI Prompts

Rate Limiting

Custom Validation

Migration Guide

From Basic to Advanced

Updating Configuration

Best Practices

1. Column Selection

2. Relationship Management

3. Performance Monitoring

Testing

Unit Tests

Manual Testing

Test Basic Functionality

Test AI Integration

Test Relationship Filtering

Integration Tests

Performance Testing

API Testing

Contributing

Development Setup

Adding New Features

  1. Create Feature Branch

  2. Implement Feature

  3. Add Tests

  4. Update Documentation

  5. Submit Pull Request

Code Style

The package follows PSR-12 coding standards:

Testing Guidelines

  1. Write Tests First (TDD approach)
  2. Test Edge Cases (empty queries, invalid data)
  3. Test Performance (large datasets, complex queries)
  4. Test Error Handling (API failures, invalid configurations)

Release Process

  1. Update Version

  2. Update Changelog

  3. Create Release

Requirements

License

MIT


All versions of filament-natural-language-filter with dependencies

PHP Build Version
Package Version
Requires php Version ^8.3
laravel/framework Version ^12.0
filament/filament Version ^4.0|^5.0
openai-php/laravel Version ^0.18
illuminate/support Version ^12.0
guzzlehttp/guzzle Version ^7.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package inerba/filament-natural-language-filter contains the following files

Loading the files please wait ...