As incorporações de texto do OpenAI medem a relação das seqüências de texto. Usando este pacote, você pode salvar incorporação automaticamente para o seu modelo eloqüente em um banco de dados Vector PostGresql. Para usar as incorporações em suas solicitações de IA aos pontos de extremidade da API OpenAI.
Você pode instalar o pacote via compositor:
composer require vormkracht10/laravel-embeddingsVocê pode publicar e executar as migrações com:
php artisan vendor:publish --tag= " laravel-embeddings-migrations "
php artisan migrateVocê pode publicar o arquivo de configuração com:
php artisan vendor:publish --tag= " laravel-embeddings-config "Este é o conteúdo do arquivo de configuração publicado:
return [
' enabled ' => env ( ' EMBEDDINGS_ENABLED ' , true ),
' driver ' => env ( ' EMBEDDINGS_DRIVER ' , ' null ' ), // 'null' / 'openai'
' queue ' => true ,
' database ' => [
' connection ' => env ( ' EMBEDDINGS_DATABASE_CONNECTION ' , ' pgsql ' ),
' table ' => env ( ' EMBEDDINGS_DB_TABLE ' , ' embeddings ' ),
],
' openai ' => [
' key ' => env ( ' OPENAI_API_KEY ' ),
' model ' => env ( ' OPENAI_EMBEDDING_MODEL ' , ' text-embedding-ada-002 ' )
],
/*
|--------------------------------------------------------------------------
| Chunk Sizes
|--------------------------------------------------------------------------
|
| These options allow you to control the maximum chunk size when you are
| mass importing data into the embed engine. This allows you to fine
| tune each of these chunk sizes based on the power of the servers.
|
*/
' chunk ' => [
' embeddable ' => 500 ,
' unembeddable ' => 500 ,
],
];Preencha as seguintes variáveis Env
EMBEDDINGS_DRIVER = openai
OPENAI_API_KEY = // Add the Embeddable trait to your Model(s).
class MyModel {
use Embeddable {
Laravel Scout Searchable::usesSoftDelete insteadof Vormkracht10 Embedding Embeddable ;
}
}
// You can override the embeddable content
class MyModel {
// ...
public function toEmbeddableString ()
{
return strip_tags ( implode ( ' , ' , $ this -> toArray ()));
}
}composer test Consulte Changelog para obter mais informações sobre o que mudou recentemente.
Por favor, consulte a contribuição para obter detalhes.
Revise nossa política de segurança sobre como relatar vulnerabilidades de segurança.
A licença do MIT (MIT). Consulte o arquivo de licença para obter mais informações.