Spaces:
Sleeping
A newer version of the Gradio SDK is available: 6.22.0
title: HomeMatch AI
emoji: ๐
colorFrom: indigo
colorTo: blue
sdk: gradio
sdk_version: 4.44.0
python_version: '3.10'
app_file: app.py
pinned: false
HomeMatch AI
AI-powered property recommendations with embeddings and grounded generation.
A buyer describes what they want in free text; HomeMatch AI retrieves the most relevant listings using sentence embeddings, explains why they fit with a grounded text-to-text model, and drafts a direct buyer-to-owner inquiry message โ shown in a polished real-estate-style interface with property cards. HomeMatch is a direct owner-to-buyer platform: no brokers, agents, agencies, or realtors.
How it works
- Recommendation โ the query is embedded with the model named in
homematch_embedding_model_info.json(sentence-transformers/multi-qa-MiniLM-L6-cos-v1). Structured filters (city, property type, max price, min rooms) are applied before ranking; the rest are ranked by cosine similarity (dot product on normalized vectors). - Generation โ
google/flan-t5-base(fallbackgoogle/flan-t5-small) produces a concise buyer summary and an owner-inquiry message, deterministically (do_sample=False), grounded only in the selected listings' structured facts. - Safety โ outputs are checked and cleaned for banned broker/agent/agency/realtor wording and passed through quality checks (non-empty, length, grounding by city / neighborhood / property type).
Property images
Property photos are stored locally in assets/ and are assigned by property type
(apartment, studio, private_house, penthouse, duplex, garden_apartment),
with one of four image sets chosen deterministically from each listing's listing_id
(so a listing keeps the same images across refreshes). Images are illustrative only and
do not depict the actual property. Missing image folders/files fall back gracefully to a
styled placeholder.
Data
All recommendation artifacts are read at runtime from the Hugging Face Dataset repo
BarWachsman7/HomeMatch-AI-Dataset:
homematch_embedding_metadata.csvhomematch_embeddings.npyhomematch_embedding_model_info.jsonhomematch_generation_model_info.json(optional)homematch_generation_examples.csv(optional)
If homematch_embeddings.npy is uploaded directly into the Space, it is used as a local
fallback. Files and models are cached so they load once, not per request.
Files to upload to the Space
app.py
requirements.txt
README.md
assets/ # hero image + property images by type
hero/hero_home.jpg
apartment/set_1..4/{1,2,3}.jpg
studio/ ... duplex/ ... penthouse/ ... private_house/ ... garden_apartment/ ...
Run locally
pip install -r requirements.txt
python app.py
No API keys or secrets are required. Hugging Face models only โ no OpenAI, no paid APIs.