Flamehaven FileSearch — セルフホスト可能なオープンソースRAGドキュメント検索エンジン
(github.com/flamehaven01)🔥Flamehaven FileSearch
- Flamehaven FileSearchは、ドキュメントベースのRAG(Retrieval-Augmented Generation)システムを誰でも5分で構築できるようにする、セルフホスト可能なオープンソースのセマンティック検索エンジンです。
- Python、FastAPI、SQLiteベースで動作し、Google Gemini Embeddingを活用してPDF/DOCX/TXT/MDなど多様な文書に対する自然言語での質問応答を実行します。
なぜ作ったのか?
- 多くのオープンソースRAG実装はColabやJupyter環境ではうまく動きますが、実際のサーバーに載せて運用するには構造が複雑だったり、安定性が不足していたりします。
- Flamehaven FileSearchは**「実際に動く軽量RAGスタック」**を目標に、研究者・スタートアップ・個人開発者が誰でも自分のデータでセマンティック検索をすぐに試せるよう設計されました。
なぜ注目すべきか?
- 完全な自律性: 外部サーバーやクラウドに依存せず、データはすべてローカルに保存されます。
- 開発者中心の構成: Python SDK + REST API、FastAPIベースのSwaggerドキュメントを自動提供。
- PyPIパッケージ配布: PyPIからすぐにインストール可能 —
pip install flamehaven-filesearch[api]の1行で完全自動インストール。 - 即時実行: インストール後、
flamehaven-apiコマンドですぐにサーバーを起動でき、ブラウザで/docsにアクセスしてAPIをテスト可能。 - 拡張性: SQLiteストレージ、プラグインアーキテクチャ、Dockerデプロイをサポート。
- 教育・研究との親和性: Gemini Embeddingを使用し、最新のLLMベースのセマンティック検索の実習に最適。
何が含まれているのか?(ハイライト)
-
Python SDK:
from flamehaven_filesearch import FlamehavenFileSearch→ 文書アップロード / 検索 / ストア管理の全機能を提供。
-
REST API:
/upload,/search,/storesエンドポイント + Swagger UI。 -
Docker対応:
docker run -e GEMINI_API_KEY=... -p 8000:8000 flamehaven/filesearch:latest -
構成:
core(エンジン)/api(FastAPI)/data(SQLite)/examples/docs
すぐに試す
1️⃣ PyPIパッケージ
Flamehaven FileSearchはPyPIからすぐにインストールできます。
最新バージョンの確認: https://pypi.org/project/flamehaven-filesearch
pip install flamehaven-filesearch[api]
2️⃣ インストール
pip install flamehaven-filesearch[api]
export GEMINI_API_KEY="your-google-gemini-key"
flamehaven-api
3️⃣ 文書アップロードと検索
curl -X POST "http://localhost:8000/upload" -F "file=@handbook.pdf"
curl "http://localhost:8000/search?q=vacation+policy"
4️⃣ SDK使用例
from flamehaven_filesearch import FlamehavenFileSearch
fs = FlamehavenFileSearch()
fs.upload_file("handbook.pdf")
print(fs.search("vacation policy")["answer"])
性能と仕様
- 環境: Ubuntu 22.04 / 2vCPU / 4GB RAM / SSD
- 10MB PDFのアップロード → 約5秒
- 検索応答の平均 → 2秒(ソース5件を引用した場合)
- ストア削除/作成 → 1秒以内
- ストレージオーバーヘッド → 文書サイズの約5 %
ロードマップ
- v1.1 : キャッシュおよびクォータ管理
- v1.2 : バッチ検索 + WebSocketストリーミング
- v2.0 : 多言語文書対応、分析ダッシュボード
- 今後 : Pinecone/WeaviateベクトルDB統合、OCR、コラボレーションストア
ライセンス
- MIT License(完全オープンソース)
🛡️ Flamehaven GitHubセキュリティおよびアカウントに関するお知らせ
最近、Flamehaven GitHubアカウント(本アカウント)で不審なログイン試行が検知され、アカウントが一時停止状態となっています。現在、GitHubセキュリティチームと協力して問題を確認中です。
今回の件により、dir2md、flashrecord、crom-efficient、Arr-medic-cyp3a4 などを含むアカウントは当面の間、利用を中止している状態です。
ご利用の皆さまにご不便をおかけし、心よりお詫び申し上げます。セキュリティ点検が完了するまで、今しばらくご理解のほどお願いいたします。
4件のコメント
更新: v1.2.2 リリース
既存の記事を投稿した後、本日時点で v1.2.2 まで更新されました。
変更点だけを簡単にまとめると:
テスト/安定性の強化
暗号化サービス: env キーベースの encrypt/decrypt ラウンドトリップ + invalid token 経路のテスト
バッチ検索: 並列優先度キュー、初期化されていないサービス → 503、クエリごとの例外分離
Redis キャッシュ: in-memory fake client による get/set/delete/clear + 利用可否テスト
これまでカバレッジから漏れていた cache_redis.py をカバレッジ対象に含めました
サービス準備性(Service readiness)
サーバー初回起動時に基本ストアと小さな fallback ドキュメントを自動生成
何もアップロードしていなくても /search と /health がすぐに 200 応答
→ デモ/CI ヘルスチェック/エージェント起動にそのまま利用可能
運用面の整理
バージョン文字列、ログメタデータ、Prometheus ラベル、OpenAPI タイトルを v1.2.2 に統一
Redis は引き続きオプションで、なくても in-process LRU キャッシュに自然にフォールバック
破壊的変更はなく、既存ユーザーはそのままアップグレードしていただけます。
少しずつ「そのまま運用に使える方向」へ磨き込んでいるところです.
🚀 Flamehaven Filesearch v1.2.1 リリース!
前回のアップデート以降、継続的に改善してきた Flamehaven Filesearch の最新バージョン v1.2.1 を公開します。今回のリリースは、セキュリティ強化、管理ツールの拡張、そして運用の利便性向上に重点を置いています。
🔐 主なアップデート内容
🔺Admin Cache Controls を追加
/api/admin/cache/stats、/api/admin/cache/flushパスでキャッシュ状態の確認およびフラッシュが可能(Admin 専用)🔺API Key 権限を強化
Admin 権限のないキーは、管理者機能の利用時に 403 を返します
新規作成される API キーにはデフォルトで admin 権限を含みます
🔺IAMProvider Hook を導入
今後の OIDC/IAM バックエンド統合に向けた構造を準備
🔺Metrics を拡張
Cache、health_status、prometheus placeholder の追加により、ダッシュボードの活用性が向上
🔺Frontend を更新
Cache / Metrics ページをバックエンドと連携
Upload / Admin ページに Token 入力機能を接続
新しい Landing および Dashboard ページを整備
🔺テストを強化
test_admin_cache.pyを追加し、キャッシュ関連の管理者 API テストを導入🔺ドキュメントを更新
README のバージョン更新および
FLAMEHAVEN_ENC_KEY環境変数を含むセキュリティ関連ガイドを補強🐛 Fixed
Admin 権限なしで管理者機能を要求した場合のアクセスを遮断(403)
🔗 GitHub: https://github.com/flamehaven01/Flamehaven-Filesearch
今回のバージョンでは、今後予定されている IAM 統合とダッシュボード高度化に向けた基盤もあわせて強化しました。
Flamehaven FileSearch v1.2.0 を昨日リリースしました。今回のバージョンは、サービス全体を「公開 API」から、セキュリティと拡張性を重視したエンタープライズ級プラットフォームへ移行することに重点を置いています。
主な変更点は以下のとおりです。
API 認証・権限システムを追加
すべての保護されたエンドポイントで Bearer Token 認証が必要になります。
API Key は、アップロード/検索/保存/削除などの細かな権限をサポートし、キーごとの rate limit、監査ログ、SHA256 ハッシュ保存(元のキーは保存しない)を含みます。
Admin Dashboard を追加
API Key の作成・照会・失効、リクエスト統計、エンドポイント使用量の分布などを確認できる Web UI です。
HTML/CSS/JS で完全に自己完結しており、外部依存はありません。
Batch Search API
1 回のリクエストで 1〜100 件のクエリを処理します。
並列/逐次実行モード、優先度ベースの並べ替え、クエリごとのエラー分離、詳細なタイミングメトリクスを提供します。
Redis キャッシュバックエンド
マルチワーカー環境向けの分散キャッシュオプションです。
<10ms の参照レイテンシ、自動 LRU fallback、LLM 呼び出し量を 40〜60% 削減する効果があります。
デプロイテンプレートを提供(Docker/Kubernetes)
Docker、Docker Compose、Kubernetes(ConfigMap/Secret/Deployment)の例が含まれており、すぐにデプロイできます。
パフォーマンス概要:
キャッシュヒット: <10ms
キャッシュミス(LLM 呼び出し): ~0.5–3s
Batch Search(10 件): ~2–5s
GitHub: https://github.com/flamehaven01/Flamehaven-Filesearch
セキュリティ設計、API の使い勝手、デプロイ構成などについて改善提案があれば歓迎します。
v1.2.1(管理者認証の改善、Redis 設定 UI)、v1.3.0(キーのローテーション + OAuth2/OIDC)も準備中です。
本日、v1.1.0 をリリースしました。
今回のバージョンには、主にパストラバーサル脆弱性の修正、FastAPI/Starlette のセキュリティアップデート、リクエスト ID トレーシング、レートリミット、キャッシュ(ヒット時 <10ms)、Prometheus メトリクスの追加などが含まれています。以前のバージョンよりもはるかに安定して動作します。
今回のアップデートでも、引き続き軽量でセルフホスティング可能な構成に重点を置いています。ありがとうございます。