Make OpenAI Citation for File Retrieval RAG – Workflow Erklärungen

Dieser Workflow ermöglicht die Erstellung von Zitaten durch einen OpenAI-Assistenten für die Datei-Abfrage.

Make OpenAI Citation for File Retrieval RAG – Workflow Erklärungen

Die Website nutzt die Wordpress-Infrastruktur.

Server: Unser Server befindet sich in einem Unternehmen mit Sitz in Deutschland. Er hat eine hohe und schnelle Internetverbindung. Es gibt eine Generatorunterstützung für ununterbrochenen Strom.

Workflow Überblick

Der Workflow „Make OpenAI Citation for File Retrieval RAG“ ist eine n8n-Integration, die mithilfe eines OpenAI-Assistenten und einer Vektorspeicher-Datenbank Zitate für abgerufene Dateien generiert. Das Ziel ist es, relevante Informationen aus Dateien abzurufen und diese in einem strukturierten Format mit Zitaten anzuzeigen.

Node Erklärungen

1. Aggregate

Typ: Aggregate

Zweck: Aggregiert alle ausgehenden Daten in einem einzigen Datensatz.

Einstellungen: {"aggregate":"aggregateAllItemData"} – Diese Einstellung wurde gewählt, um sicherzustellen, dass alle Elemente im Workflow als ein zusammengefasster Datensatz ausgegeben werden.

2. Window Buffer Memory

Typ: Memory Buffer Window

Zweck: Speichert Informationen über den Kontext während des Ausführungsprozesses.

Einstellungen: Keine spezifischen Parameter werden gesetzt; dies ermöglicht eine flexible Nutzung der gespeicherten Informationen.

3. Sticky Note4

Typ: Sticky Note

Zweck: Dient zur Notierung von Erinnerungshinweisen innerhalb des Workflows.

Einstellungen: {"color":3,"width":840,"height":80,"content":"## Within N8N, there will be a chat button to test"} – Ermöglicht eine visuelle Anzeige wichtiger Punkte.

4. Create a simple Trigger to have the Chat button within N8N

Typ: Chat Trigger

Zweck: Erzeugt einen Trigger, der einen Chat-Button in der n8n-Oberfläche implementiert.

Einstellungen: {"options":{}} – Dies erstellt einen sehr grundlegenden Trigger.

5. OpenAI Assistant with Vector Store

Typ: OpenAI

Zweck: Führt die Suche im Vektorspeicher durch und interagiert mit dem OpenAI-Assistenten.

Einstellungen: {"options":{"preserveOriginalTools":false},"resource":"assistant","assistantId":{"__rl":true,"mode":"list","value":"asst_QAfdobVCVCMJz8LmaEC7nlId","cachedResultName":"Teste"}} – Diese Konfiguration stellt sicher, dass die richtigen Ressourcen und IDs verwendet werden.

6. Get ALL Thread Content

Typ: HTTP Request

Zweck: Abrufen des vollständigen Inhalts des Threads von der OpenAI API.

Einstellungen: {"url":"=https://api.openai.com/v1/threads/{{ $json.threadId }}/messages"} – Der URL verwendet den Thread-ID, um alle Nachrichten abzurufen.

7. Split all message iterations from a thread

Typ: Split Out

Zweck: Teilt alle Nachrichten des Threads in Einzelelemente.

Einstellungen: {"fieldToSplitOut":"data"} – Dies ermöglicht eine feingranulare Handhabung von Dateiinhalten.

8. Retrieve file name from a file ID

Typ: HTTP Request

Zweck: Ruft den Dateinamen anhand der Datei-ID ab, die von OpenAI bereitgestellt wird.

Einstellungen: {"url":"=https://api.openai.com/v1/files/{{ $json.file_citation.file_id }}"} – Erforderlich, um den korrekten Dateinamen zu erhalten.

9. Regularize output

Typ: Set

Zweck: Normiert die Ausgabe, um eine konsistente Struktur zu gewährleisten.

Einstellungen: {"assignments":{"assignments":[{"name":"id","value":"={{ $json.id }}"},{"name":"filename","value":"={{ $json.filename }}"},{"name":"text","value":"={{ $('Split all citations from a single message').item.json.text }}"}]}} – Standardisiert die Ausgabeparameter.

10. Finnaly format the output

Typ: Code

Zweck: Formatiert die Ausgabe, um die endgültige Antwort anzupassen.

Einstellungen: let saida = $('OpenAI Assistant with Vector Store').item.json.output; – Diese Codestücke sorgen dafür, dass Zitationen in den Text eingefügt werden.

Ergebnis

Am Ende des Workflows haben wir eine strukturierte Ausgabe, die relevante Informationen aus dem OpenAI-Assistenten enthält, komplett mit Zitationen aus den Vektordateien. Diese können nun in einer benutzerfreundlichen Weise präsentiert werden.

Facebook
Twitter
LinkedIn

Andere Projekte