LibreChat-AI/rag-api

ID-based RAG FastAPI: Integration with Langchain and PostgreSQL/pgvector

何を解決するか

このプロジェクトは、IDベースの検索拡張生成(RAG)に特化したスケーラブルで非同期なAPIを提供します。ユーザーは file_id で埋め込みを整理でき、特定のファイルやメタデータに基づいたターゲット検索が可能になります。これはLibreChatのようなアプリケーションにとって不可欠です。

動作方法

FastAPIとLangchainで構築され、デフォルトでPostgreSQL/pgvectorまたはAtlas MongoDBをベクトルストアとして使用します。OpenAI、Bedrock、Azure、Hugging Face、Googleなど、さまざまなプロバイダーを使用してドキュメントを埋め込みに変換し、非同期バッチ処理によりパフォーマンスと低メモリ使用を維持します。重要なセキュリティ層により、ユーザーは検証済みのJWTトークンに基づき、自身が所有するコンテンツのみを読み取りまたは削除できます。

対象ユーザー

ドキュメントが特定のIDに関連付けられ、ユーザー所有権が厳格に管理されるファイルレベルのRAGシステムを必要とするAIアプリケーションを開発する開発者。

主な特徴

  • マルチプロバイダー埋め込み対応: OpenAI、Azure、Bedrock、VertexAI、Ollama、Hugging Faceに対応。
  • IDベースの検索: file_id で埋め込みを整理し、正確でメタデータ駆動のクエリを可能に。
  • 所有権ベースのセキュリティ: ユーザーが所有するチャンクのみにアクセスできる厳格なスコープ制御を実装。
  • スケーラブルなインジェスト: メモリ制約環境でも大規模ファイルを非同期バッチ処理で処理可能。
  • 柔軟なベクトルストレージ: pgvectorとAtlas MongoDBの両方をサポート。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト