AleksNeStu/ai-real-estate-assistant

Open-source AI real estate search with RAG, vector search, multi-provider LLMs, FastAPI, Next.js, ChromaDB, and a live demo.

AI不動産アシスタント – 概要

概要 – オープンソースのAI搭載Webアプリで、ユーザーが「クラクフの2ベッドルームアパート、50万以下」のような自然言語クエリを入力するだけで、物件検索、仮想アシスタントとのチャット、財務分析ツールの実行が可能です。中核製品は、最大16のLLMプロバイダーと通信するFastAPIバックエンド(Python 3.12+)、セマンティック検索用のChromaDBベクトルストア、物件カタログ用のPostgreSQL/SQLiteデータベースです。Next.js 16 + React 19フロントエンドがUI、地図、分析ダッシュボードを提供します。


📦 主な機能(READMEに記載)

機能 提供内容 仕組み(概要)
自然言語による物件検索 文章を入力すると、一致するリスティングのリストを受け取れます。 リクエストはクエリアナライザーによって解析され、単純なベクトル検索(ChromaDB)が必要か、より複雑なRAG/エージェントフローが必要かが判断されます。
AI駆動のチャットアシスタント リスティングや近隣地域などについてフォローアップ質問ができる会話型UI。 バックエンドは会話を選択したLLMプロバイダーにルーティングします。フォールバックチェーンにより、1つのプロバイダーがダウンしても応答が保証されます。
査定・価格予測(v5.1) 物件ID(または手動入力の特徴)を入力 → 現在価値+1年、3年、5年、10年予測(信頼区間付き)。 専門のLLMプロンプトが物件属性を査定モデルに供給し、結果はUI用にJSONペイロードとして返されます。
近隣ワンライナー(v5.1) そのエリアの特徴、ライフスタイル、交通手段についてのAIによる2〜3文の要約。 同じLLMルーティングですが、ベクトルストアの近隣文書を参照する簡潔なプロンプトを使用します。
財務計算ツール 住宅ローン、賃貸vs購入、ROI、総所有コスト、CMAレポート。 純粋なPython計算。UIはリスティングと一緒に結果を表示します。
インタラクティブ地図 クラスター化された物件マーカー、エリア分析、都市概要マップ。 フロントエンドはMapbox/Leafletを使用。バックエンドはDBからGeoJSONを提供。
マルチプロバイダーLLMルーティング 16のプロバイダー(OpenAI、Anthropic、Google、Grok、DeepSeek、OpenRouter、Together AI、Fireworks AI、HuggingFace、Groq、Mistral、Qwen、ZAI、Moonshot、OpenCode、ローカルOllama)。 apps/api/models/provider_factory.pyがフォールバックチェーンを構築。リクエストごとにヘッダー/パラメーターでプロバイダーを強制可能。
9言語対応 UIとAI出力が英語、ポーランド語、ロシア語、ドイツ語、スペイン語、イタリア語、ポルトガル語、トルコ語、ウクライナ語に対応。 ロケールファイルはNext.jsアプリに同梱。AIプロンプトにはEU AI法準拠の言語タグが含まれます。
エンタープライズグレードのセキュリティ レート制限、監査ログ、SSRF保護、APIキー+JWT認証、CIセキュリティスキャン。 FastAPIミドルウェアとGitHub Actionsのハードニング手順で実装。
デモモード ライブデモ(render.com)はAPIキーなしで動作 – AI応答はシミュレートされ、即時探索が可能。 設定内のフラグにより、プロバイダーファクトリーが定型応答を返すモックプロバイダーに切り替わります。

🏗️ アーキテクチャ概要

Next.js フロントエンド  <--->  APIプロキシ  <--->  FastAPI バックエンド
                                   │
                                   ├─ クエリアナライザー → RAGエンジン (ChromaDB) またはハイブリッドエージェント
                                   ├─ ツール (LangChainラッパー)
                                   └─ LLMプロバイダー (16オプション)

データベース: PostgreSQL/SQLite (リレーショナルデータ用)
ベクトルストア: ChromaDB (セマンティック埋め込み + MMRリランキング用)

READMEの図(Mermaid)も同じフローを示しており、UIがAPIプロキシを呼び出してFastAPIに転送し、単純なRAGパイプラインを使用するか、より複雑なエージェントツールチェーンを使用するかを決定します。


🚀 はじめに(クイックスタート)

  1. クローンしてDockerを起動(Windows PowerShell推奨)

    git clone https://github.com/AleksNeStu/ai-real-estate-assistant.git
    cd ai-real-estate-assistant
    .\start-docker.ps1   # DB、ベクトルストア、API、Webコンテナを起動
    

    フロントエンド: http://localhost:3082 バックエンド: http://localhost:8082/docs

  2. または手動で実行 バックエンド – 仮想環境を作成し、uv pip install -e "[dev]" を実行後、uvicorn api.main:app --reload。 フロントエンド – apps/web 内で npm install && npm run dev。

  3. デモモード – LLM APIキーは不要です。アプリは事前生成された回答を返すモックプロバイダーを使用します。本番環境では、.envファイルにプロバイダーキーを設定してください(deploy/compose/.env.example参照)。


📚 ドキュメントとリソース

エリア 参照先
アーキテクチャ詳細 docs/architecture/large-saas-overview.md
ローカルデモ設定 scripts/demo/README.md(Docker起動、データ生成、シャットダウン用のPowerShellスクリプト)
APIリファレンス Swagger UI at http://localhost:8082/docs(FastAPI自動ドキュメント)
フロントエンドコンポーネント apps/web/src/components/ – 例:オンボーディングツアー、検索バー、地図ウィジェット
リリースノート CHANGELOG.md – 最新v5.1では査定、インライ決済、近隣ワンライナーが追加
ロードマップ docs/roadmap.md(ライブMLSフィード、AI-CRM、マルチエージェントOSなどの将来機能)

🛠️ 技術スタック(記載通り)

  • バックエンド – FastAPI(Python 3.12+)、Pydantic、SQLAlchemy、uvicorn
  • フロントエンド – Next.js 16、React 19、TypeScript 5.x、Tailwind(UIから推測)
  • ベクトルDB – ChromaDB(セマンティック検索+Max-Marginal-Relevanceリランキング)
  • リレーショナルDB – PostgreSQL(デフォルト)、SQLiteフォールバック(クイックデモ用)
  • LLMプロバイダー – 16の主要商用API+ローカルOllama。カスタムファクトリーでルーティング。
  • コンテナ化 – Docker&Docker-Compose。パブリックデモにはRenderの無料枠を使用。
  • CI/CD – GitHub Actions(ユニットテスト、セキュリティスキャン、Dockerイメージビルド、Renderデプロイ)
  • モニタリング – Uptime Kuma+構造化ログ

📈 プロジェクト健全性

  • スター/フォーク – GitHubバッジで確認可能。リポジトリは小規模ながら活発なコミュニティ(7人のコントリビューター、1,000以上のコミット)。
  • テスト – CIで7,000以上のテスト(バックエンド+フロントエンド)を実行。READMEには完全なテストスイートが記載。
  • リリース頻度 – 頻繁なパッチリリース(例:2026年9月のCVE修正)と機能リリース(v5.1)。
  • メモリ最適化 – Renderの512 MiB無料枠にデプロイ時は遅延プロバイダー読み込み。それ以外はVPS/Dockerで即時読み込み。

🎯 誰が使うべきか?

  • 開発者 – セルフホストまたは拡張可能なSaaSスタイルのAI拡張不動産プラットフォームのスターターを求める方。
  • プロダクトチーム – マルチプロバイダーLLMルーティング、ハイブリッドRAG/エージェントパイプライン、多言語AI出力のリファレンス実装を探している方。
  • 研究者 – 現実的な不動産データセットでのLLM駆動の査定や近隣説明プロンプトの評価に興味がある方。

📌 結論

ai-real-estate-assistantは、自然言語検索、会話型アシスタント、不動産リスティングの財務分析を組み合わせた本格的なフルスタックAIアプリケーションです。そのアーキテクチャ、マルチプロバイダールーティング、デモ対応のデプロイメントは、最新のLLM拡張SaaSの優れた例であり、リポジトリにはローカルで実行したり、本番グレードのインスタンスを立ち上げるために必要なすべてが含まれています。

関連

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