Observação
Este pacote deve ser um recurso de aprendizado para engenharia imediata e como obter a geração de consulta gerada pela IA com PHP/Laravel. Você provavelmente não deve usar isso na produção
O ASK DB permite que você use o GPT-3 do OpenAI para criar consultas de banco de dados de linguagem natural.
DB :: ask ( ' How many users do we have on the "pro" plan? ' );Você pode instalar o pacote via compositor:
composer require beyondcode/laravel-ask-databaseVocê pode publicar o arquivo de configuração com:
php artisan vendor:publish --tag= " ask-database-config "Este é o conteúdo do arquivo de configuração publicado:
return [
/**
* The database connection name to use. Depending on your
* use case, you might want to limit the database user
* to have read-only access to the database.
*/
' connection ' => env ( ' ASK_DATABASE_DB_CONNECTION ' , ' mysql ' ),
/**
* Strict mode will throw an exception when the query
* would perform a write/alter operation on the database.
*
* If you want to allow write operations - or if you are using a read-only
* database user - you may disable strict mode.
*/
' strict_mode ' => env ( ' ASK_DATABASE_STRICT_MODE ' , true ),
/**
* The maximum number of tables to use before performing an additional
* table name lookup call to OpenAI.
* If you have a lot of database tables and columns, they might not fit
* into a single request to OpenAI. In that case, we will perform a
* lookup call to OpenAI to get the matching table names for the
* provided question.
*/
' max_tables_before_performing_lookup ' => env ( ' ASK_DATABASE_MAXIMUM_TABLES ' , 15 ),
]; Primeiro, você precisa configurar sua chave de API do OpenAI em seu arquivo .env :
OPENAI_API_KEY = sk-... Em seguida, você pode usar o método DB::ask() para solicitar ao banco de dados:
$ response = DB :: ask ( ' How many users are there? ' );composer test Consulte Changelog para obter mais informações sobre o que mudou recentemente.
Por favor, consulte a contribuição para obter detalhes.
A licença do MIT (MIT). Consulte o arquivo de licença para obter mais informações.