VectorWave - デコレーター1行でPython関数の入出力をVector DBに自動保存・キャッシュするフレームワーク
(github.com/cozymori)こんにちは。Pythonの関数/メソッドの実行データを自動的にベクターデータベース(Weaviate)に保存し、管理してくれるオープンソースフレームワーク VectorWave を開発したので紹介します。
RAGシステムを構築したり、LLMアプリケーションを作ったりするときに、データ収集と埋め込み、そしてロギングパイプラインを構築するのが煩雑だった経験から始まったプロジェクトです。
Github: https://github.com/cozymori/vectorwave
VectorWaveとは?
VectorWave は @vectorize デコレーターを使って、複雑な設定なしに関数のソースコード、docstring、実行時の入力値/戻り値などを自動的に埋め込み、Vector DB に保存します。これにより "コード実行の意味的検索" と "セマンティックキャッシュ" を可能にします。
主な機能
Seamless Auto-Vectorization:
@vectorize デコレーターを1つ付けるだけで、関数のメタデータ(静的)と実行ログ(動的)が自動的に Vector DB に保存されます。
Semantic Caching(コスト削減):
LLM呼び出しのようにコストの高い関数の場合、入力値の意味的類似性(Semantic Similarity)に基づいてキャッシュ済みの結果を返し、APIコストとレイテンシー(Latency)を大幅に削減します。
AIベースの自動ドキュメント化:
関数の search_description などを LLM が自動生成し、検索品質を高め、開発者のドキュメント作成負担を減らします。
分散トレーシング(Distributed Tracing):
@trace_span と組み合わせることで、複雑なワークフローを1つの trace_id にまとめ、実行フローを可視化して監視できます。
Auto-Injection:
既存のビジネスロジックコードを修正せずに外部から機能を注入し、モニタリング/ロギングを適用できます。
Docs: https://cozymori.github.io/vectorwave-docs/
上記のドキュメントで詳しい内容をご覧いただけます。
ぜひ多くのフィードバックとコントリビュートをお願いします。気に入っていただけたらスターもぜひお願いします!
まだコメントはありません。