Coder Social home page Coder Social logo

llm-personalized-real-estate-agent's Introduction

llm-personalized-real-estate-agent

This is the capstone project for Udacity Genarative AI Nano Degree

Imagine you're a talented developer at "Future Homes Realty", a forward-thinking real estate company. In an industry where personalization is key to customer satisfaction, your company wants to revolutionize how clients interact with real estate listings. The goal is to create a personalized experience for each buyer, making the property search process more engaging and tailored to individual preferences.

The Challenge

Your task is to develop an innovative application named "HomeMatch". This application leverages large language models (LLMs) and vector databases to transform standard real estate listings into personalized narratives that resonate with potential buyers' unique preferences and needs.

Core Components of "HomeMatch"

Understanding Buyer Preferences:

Buyers will input their requirements and preferences, such as location, property type, budget, amenities, and lifestyle choices. The application uses LLMs to interpret these inputs in natural language, understanding nuanced requests beyond basic filters.

Integrating with a Vector Database:

Connect with a vector database (lanceDB), where all available property listings are stored. Utilize vector embeddings to match properties with buyer preferences, focusing on aspects like neighborhood vibes, architectural styles, and proximity to specific amenities.

Personalized Listing Description Generation:

For each matched listing, use an LLM to rewrite the description in a way that highlights aspects most relevant to the buyer’s preferences. Ensure personalization emphasizes characteristics appealing to the buyer without altering factual information about the property.

Listing Presentation:

Output the personalized listing(s) as a text description of the listing.

Package requirements

numpy version: 1.26.4
pandas version: 2.2.1
openai version: 1.16.2
lancedb version: 0.6.7
gradio version: 4.24.0

Installation:

Clone the repository into a direcotry

cd ~/user-defined-directory/

HTTPS

git clone https://github.com/wcy41gtc/llm-personalized-real-estate-agent.git

SSH

git clone [email protected]:wcy41gtc/llm-personalized-real-estate-agent.git

Creating a virtual environment is highly recommended for the project

Install required packages

pip

pip install -r requirements.txt

conda

conda env create -f requirements.yaml

activate the virtual environment

source ~VitualEnv/bin/activate
conda activate VitualEnv
VitualEnv is the name of the virtual environment

OpenAI API key

copy and past your OpenAI API key into a .txt file and save it in the project directory as openai_api_key.txt

Running the app

python3 HomeMatch.py

The following message should appear:

Reading listings from pre-generated file...
Reading successfull.
Creating lanceDB vector database...
Database creation successful.
Starting Gradio app...
Running on local URL:  http://127.0.0.1:7861

To create a public link, set `share=True` in `launch()`.

click the URL to access the user interface: User interface screen shot

Usage

  1. A client preference is pre-poupulated in the top textbox.
  2. Click [submit] button to search for a recommendation, an AI tailored description of the recommendation will be shown in the [Agent Recommendation] textbox.
  3. Click [Generate Client Preferences] to randomly generate another client preference.
  4. Adjust [Number of Results] to generate more different number of recommendations.

Contributor

Chaoyi Wang (wcy41gtc), April 14, 2024

llm-personalized-real-estate-agent's People

Contributors

wcy41gtc avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.