VectorWave – Framework zum automatischen Speichern/Cachen von Ein- und Ausgaben von Python-Funktionen in einer Vector DB mit nur einer Dekorator-Zeile
(github.com/cozymori)Hallo, ich möchte das Open-Source-Framework VectorWave vorstellen, das Ausführungsdaten von Python-Funktionen/-Methoden automatisch in einer Vektor-Datenbank (Weaviate) speichert und verwaltet.
Das Projekt entstand aus der Erfahrung, dass es beim Aufbau von RAG-Systemen oder der Entwicklung von LLM-Anwendungen umständlich war, Datenerfassung, Embeddings und Logging-Pipelines einzurichten.
Github: https://github.com/cozymori/vectorwave
Was ist VectorWave?
VectorWave verwendet den @vectorize-Dekorator, um ohne komplexe Konfiguration automatisch den Quellcode, Docstrings sowie Eingabewerte/Rückgabewerte zur Laufzeit einer Funktion zu embedden und in einer Vector DB zu speichern. Dadurch werden „semantische Suche in Codeausführungen“ und „Semantic Caching“ möglich.
Hauptfunktionen
Seamless Auto-Vectorization:
Wenn man nur den @vectorize-Dekorator hinzufügt, werden die Metadaten der Funktion (statisch) und die Ausführungslogs (dynamisch) automatisch in der Vector DB gespeichert.
Semantic Caching (Kostenreduktion):
Bei teuren Funktionen wie LLM-Aufrufen werden gecachte Ergebnisse auf Basis der semantischen Ähnlichkeit (Semantic Similarity) der Eingabewerte zurückgegeben, wodurch API-Kosten und Latenzzeiten drastisch reduziert werden.
KI-gestützte automatische Dokumentation:
Die search_description einer Funktion usw. werden automatisch durch ein LLM erzeugt, was die Suchqualität verbessert und den Dokumentationsaufwand für Entwickler verringert.
Distributed Tracing:
In Kombination mit @trace_span lassen sich komplexe Workflows mit einer einzigen trace_id verknüpfen, sodass der Ausführungsfluss visualisiert und überwacht werden kann.
Auto-Injection:
Monitoring/Logging kann von außen eingebracht werden, ohne den bestehenden Business-Logic-Code ändern zu müssen.
Docs: https://cozymori.github.io/vectorwave-docs/
In der oben genannten Dokumentation finden Sie weitere Details.
Ich freue mich über viel Feedback und Beiträge — und wenn es Ihnen gefällt, lassen Sie bitte einen Star da!
Noch keine Kommentare.