Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Synapse Core Laravel Package

arnaudmoncondhuy/synapse-core

View on GitHub
Deep Wiki
Context7

TextSplitterInterface

L'interface TextSplitterInterface définit comment découper de longs documents en segments plus petits (chunks) avant de les transformer en vecteurs. C'est une étape cruciale pour le RAG (Retrieval-Augmented Generation).

🛠 Pourquoi l'utiliser ?

  • Limites de Tokens : Les modèles d'embedding ont une taille d'entrée limitée.
  • Précision du RAG : Des segments trop longs diluent l'information ; des segments trop courts perdent le contexte.
  • Chevauchement (Overlap) : Permet de conserver le contexte entre deux segments consécutifs.

📋 Résumé du Contrat

Méthode Entrée Sortie Rôle
splitText(string $text, int $chunkSize, int $chunkOverlap) Texte source + réglages string[] Découpe le texte en un tableau de segments.

🚀 Stratégies disponibles

Synapse Core propose deux implémentations natives :

1. RecursiveTextSplitter (Recommandé)

Tente de découper le texte intelligemment en utilisant une liste de séparateurs par ordre de priorité :

  1. Doubles sauts de ligne (paragraphes)
  2. Sauts de ligne simples
  3. Espaces
  4. Caractères individuels (en dernier recours)

Cela garantit que les paragraphes restent soudés autant que possible, préservant la cohérence sémantique.

2. FixedSizeTextSplitter

Découpe brutalement tous les X caractères. Plus rapide mais peut couper au milieu d'un mot ou d'une phrase importante.


⚙️ Configuration

Le splitter est piloté par le ChunkingService qui récupère les réglages (taille, overlap) depuis la configuration globale de Synapse.

// Exemple d'utilisation manuelle
$chunks = $splitter->splitText($grosFichier, 1000, 200);
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
daikazu/eloquent-salesforce-objects
unseen-codes/chat
romalytar/yammi-jobs-monitoring-laravel
kisame76/filament-db-table-state
nqxcode/laravel-lucene-search
dpfx/laravel-livewire-wizards
workos/workos-php-laravel
sofa/laravel-global-scope
nawasara/auth-primitives
adhocrat-io/arkhe-main
make-dev/orca-harpoon
itsemon245/lamet
baks-dev/dashboard
amoifr/pickle-panther-bundle
make-dev/orca
dmstr/symfony-system-resources-bundle
dmstr/symfony-job-queue-bundle
dmstr/openapi-json-schema-bundle
dmstr/keycloak-security-bundle
dmstr/doctrine-audit-log-bundle