L'interface VectorStoreInterface est le socle du système de RAG (Retrieval-Augmented Generation) dans Synapse Core. Elle définit comment stocker et rechercher des informations "vectorisées" (embeddings) pour donner une mémoire long-terme à votre IA.
| Méthode | Entrée | Sortie | Rôle |
|---|---|---|---|
saveMemory(array $vector, array $payload) |
Vecteurs + Métadonnées | void |
Insère de nouvelles données dans la base vectorielle. |
searchSimilar(array $vector, int $limit, array $filters) |
Vecteur de recherche | array |
Récupère les documents les plus proches sémantiquement. |
```php
namespace App\Synapse\Vector;
use ArnaudMoncondhuy\SynapseCore\Contract\VectorStoreInterface;
class InMemoryVectorStore implements VectorStoreInterface
{
private array $storage = [];
public function saveMemory(array $vector, array $payload): void
{
$this->storage[] = [
'vector' => $vector,
'payload' => $payload,
];
}
public function searchSimilar(array $vector, int $limit = 5, array $filters = []): array
{
// Ici, vous implémenteriez un calcul de similarité cosinus.
return array_slice($this->storage, 0, $limit);
}
}
```
[!TIP] Métadonnées : La méthode
addreçoit un champmetadata. Utilisez-le pour stocker le texte source ou l'URL du document original. Cela facilitera l'affichage des sources par l'IA.
EmbeddingClientInterface (ex: 1536 pour OpenAI).How can I help you explore Laravel packages today?