房地产MCP
它解决了什么问题?
澳大利亚的房地产网站通常提供严格的、基于郊区的过滤器,与人们实际搜索的方式不符。例如,像“博克斯山高中区翻新的三居室住宅”这样的查询根本不可能。
该项目利用LLM和MCP实现灵活的自然语言属性搜索。
它允许用户使用公开的房地产数据搜索和询问有关澳大利亚房地产的问题。该项目提供工具并运行FastAPI服务器,为自然语言属性搜索API提供服务。
该系统包括:
- 一个索引管道,用于下载属性数据并填充矢量数据库以进行语义搜索
- 具有不同搜索工具的MCP服务器
- 发送查询并显示结果的演示客户端
例子
Enter your query (or type 'quit' to exit): list 3 renovated houses with 4 bedrooms in Camberwell high school zone
Here are some renovated houses with 4 bedrooms located in the Camberwell High School zone:
1. **3/2-4 Georgina Parade, Camberwell VIC 3124**
- Immaculately renovated throughout, this property boasts sleek modern style in a peaceful and private location. It's close to Hartwell Shopping Centre, Willison Park, and public transport.
2. **2/22 Russell Street, Camberwell VIC 3124**
- This single-level boutique residence has been stylishly refurbished. Located on a prestigious tree-lined street, it offers sun-drenched dimensions for luxurious living and is near Camberwell Junction.
3. **6 Donna Buang Street, Camberwell VIC 3124**
- Positioned in a picturesque, tree-lined street, this property presents an opportunity to build a family home or develop further. It's conveniently located for access to local schools.
Each property offers unique features and is ideally situated within the Camberwell High School zone.1.使用下载数据 run_ingest_pipeline
此脚本下载给定城市和日期范围的房产详细信息和拍卖结果。
用途:
python -m cli.run_ingest_pipeline - `
:城市名称(例如。,melbourne`) - `
:开始日期YYYY-MM-DD格式(例如。,2025-02-01`) - `
:结束日期YYYY-MM-DD格式(例如。,2025-05-10`)
例子:
python -m cli.run_ingest_pipeline melbourne 2025-02-01 2025-05-10这将下载2025年2月1日至2025年5月10日期间墨尔本的房产数据。
______________________________________________________________________
2.用以下内容填充矢量数据库 populate_collection
此脚本用语义搜索的属性详细信息填充Chroma矢量数据库集合。
用途:
python -m cli.populate_collection.py
- `
:要填充的ChromaDB集合的名称(例如。,melbourne`) - `
:属性详细信息JSONL文件的路径(例如。, downloaded_data/property_details.jsonl`)
例子:
python -m cli.populate_collection.py melbourne downloaded_data/property_details.jsonl______________________________________________________________________
3.运行服务器和演示客户端
python -m cli.server和
python -m cli.client