AI

Payload-Plugin, das Text-Embeddings für Collection-Felder über OpenAI oder NLP Cloud generiert.

Community 15 6/Wo. MIT v1.1.0

Installation

pnpm add payload-plugin-ai

Über

Das Plugin erweitert Payload um AI-Funktionen, deren Schwerpunkt aktuell auf der Generierung von Text-Embeddings für Collection-Felder liegt. Konfiguriert wird es über den Aufruf `ai({ OPENAI_SECRET, NLPCLOUD_API_KEY, embeddings: { provider } })` in der `payload.config.ts`. Zur Auswahl stehen zwei Embedding-Provider: OpenAI mit dem Modell `text-embedding-ada-002` und NLP Cloud mit `paraphrase-multilingual-mpnet-base-v2` bei 768 Dimensionen. Um Embeddings für ein Feld zu aktivieren, wird die Funktion `genEmbeddings({ visible })` innerhalb des `custom`-Objekts des jeweiligen Feldes aufgerufen. Bei jedem Speichern eines Eintrags berechnet ein `beforeChange`-Hook den Embedding-Vektor und schreibt ihn in ein automatisch hinzugefügtes numerisches Feld `<fieldName>_embeddings` mit `hasMany: true`. Über die `visible`-Option lässt sich dieses Feld in der Admin-Oberfläche einblenden. Die Vektorsuche erfolgt über MongoDB Atlas Search mit einem `knnVector`-Index. Im Demo-Ordner des Repositories findet sich ein Beispiel für die Implementierung. Das Plugin ist in TypeScript geschrieben, die Admin-Oberfläche basiert auf React. Das Plugin benötigt einen Fork von Payload (`alessiogr/payload#production-with-custom`), da es auf zwei noch nicht gemergte Pull-Requests angewiesen ist: die Unterstützung eigener Feld-Properties und `hasMany`-Number-Felder. Das Projekt befindet sich in einem frühen Entwicklungsstadium, der Autor weist darauf hin, dass Breaking Changes ohne Vorankündigung auftreten können.

Paketinformationen

Paketname
payload-plugin-ai
Neueste Version
1.1.0
Entpackte Größe
401 kB
Lizenz
MIT
Wöchentliche Downloads
6
Zuletzt veröffentlicht
18. Apr. 2023

Mehr von AlessioGr

Profil ansehen

Ähnliche Plugins

Mehr in Search