Real Estate Lead Generation AI Chatbot with OpenAI's Assistant API: Step-by-Step Guide

Поделиться
HTML-код
  • Опубликовано: 5 янв 2025

Комментарии • 114

  • @army3565
    @army3565 4 месяца назад

    Fantastic walkthrough on setting up an AI chatbot for real estate! For anyone pondering cold email, Do You Mail has been essential for me over the past six months. I love the scalability and ease of creating new email IDs. The dedicated IPs ensure my emails always get delivered. It is a solid investment if you are looking to take cold emailing seriously.

  • @sealandland3959
    @sealandland3959 Год назад +2

    You are an amazing person, really truly amazing person, one of those very very few amazing persons! I truly am speechless at your great soul and mind. THANKS BEYOND WORDS

    • @jannismoore
      @jannismoore  Год назад

      My pleasure!

    • @sealandland3959
      @sealandland3959 Год назад

      @@jannismoore I got an error and the AI in REPLIT says this: "The error message indicates that your Flask application is trying to interact with an OpenAI assistant with the ID 'asst_'********************, but this assistant does not exist or is not accessible with the provided API key, resulting in a 404 NotFoundError." I would pay to get help to solve this... I have a client waiting... I have intermediate/advance Pythin level... although have no idea about Flask, I am pretty good at Django

  • @jhonsanchez1298
    @jhonsanchez1298 Год назад +1

    Yooo bro! You are doing great! Nice to see someone from the accelerator!!!

  • @MrDeSilva
    @MrDeSilva Год назад +2

    this is a great tutorial Jannis ,,,thank you very much for your contribution,, you got a new subscriber here,,,cheers from the City of Knowledge @ the Panama Canal

    • @jannismoore
      @jannismoore  Год назад

      Glad to be of help, and greetings to Panama!

  • @jamesfidler7727
    @jamesfidler7727 3 месяца назад

    Hi jannis you mentioned you could possibly help setting up an AI general real estate lead generator im frying to build an add for buying homes or commercial property

  • @350Jetstream
    @350Jetstream Год назад

    Thank you Jannis for sharing this template. However, I am now stuck at 6:35 from the tutorial. I cannot find this webview panel to open the new tab and get the address to put in the voiceflow template. I forked the template, registered, and set a billing account in replit.

    •  Год назад +2

      First you should add your openAI and Airtable API, then run the project and you will see the webview

  • @katimTouray-gm3ki
    @katimTouray-gm3ki 5 месяцев назад

    The assistant doesn't retrieve any information from the "resource" folder where my knowledge base is. Has anyone found a solution for this?
    Thanks

  • @connorblack-y3u
    @connorblack-y3u Год назад

    Thanks so much for this video, its amazing! I'm going to try to go a step further and connect it to a live database now.

    • @jannismoore
      @jannismoore  Год назад

      That's amazing! Feel free to share your progress! If you want to speed up your work: I've done a tutorial specifically on integrating a custom API for property listings here: ruclips.net/video/oWUSkBM8gqA/видео.htmlfeature=shared&t=627
      (I set the timestamp to jump right at what you're looking for)

  • @katimTouray-gm3ki
    @katimTouray-gm3ki 5 месяцев назад

    Does the knowledge base text documents in the "resource" folder need to be in the Mark down format or can just leave it as normal text if i wanted to?

    • @jannismoore
      @jannismoore  5 месяцев назад

      You can have markdown too. :)

    • @katimTouray-gm3ki
      @katimTouray-gm3ki 5 месяцев назад

      @@jannismoore I ask this because regardless of what format I use, the the assistant doesn't retrieve any information from the "resource" folder where my knowledge base is.

  • @davdegoev3275
    @davdegoev3275 9 месяцев назад

    Hello thanks
    How can I do for the bot search on the website available properties? ( scraping) before give information to client about available homes

    • @jannismoore
      @jannismoore  9 месяцев назад

      It depends on the amount and speed you want to achieve. You can build a solution using web scraping APIs such as Apify or ScraperAPI.
      If you want to make it performance oriented, you may want to build an index to quickly access the information

  • @johnHTC23
    @johnHTC23 11 месяцев назад

    In replit after copying the API key from AIrtable, i'm not able to find the function.py page, its not in the repo as well when I went to recheck to fork it

    • @jannismoore
      @jannismoore  11 месяцев назад

      You might have copied a newer version of the chatbot. I suggest to check out my new Chatbot playlist which is more modular: ruclips.net/video/X2ADW4191Jw/видео.html&pp=gAQBiAQB

  • @jorgedomen
    @jorgedomen 11 месяцев назад

    This is great! Whenever I run it seems to work as I get no error but I don’t get any of the HTTP dialog information, do I need to pay for the deployment service in Replit?

    • @jannismoore
      @jannismoore  11 месяцев назад

      You don't need a paid plan to try it. If it doesn't get anything back, I suggest to re-check that you've set up the Voiceflow template the right way and that both of the Endpoint URLs within the Voiceflow Widget point to the actual Replit endpoints of the chatbot (/start & /chat)

  • @AddictedGamerr
    @AddictedGamerr Год назад

    i can't open web view in Replit

    • @jannismoore
      @jannismoore  Год назад

      You need to press “Run” first :)

    • @AddictedGamerr
      @AddictedGamerr Год назад

      @@jannismoore i did still it doesn't show

    • @jannismoore
      @jannismoore  Год назад

      Is it running or does it switch back to “Run”? That sounds to me like there is an error during booting the template.
      Check whether or not there is any error in the console of the Repl.

    • @nathanielehizokhale2071
      @nathanielehizokhale2071 Месяц назад

      try inputing your api in secret first , then run

  • @nathanielehizokhale2071
    @nathanielehizokhale2071 Месяц назад

    hey jannis , nice work on the video ...i really appreciate what you do , ive been following up on this video and i got to stuck on the webhooks , how do i configure my webhook

  • @sonnygonzalez-sz5nu
    @sonnygonzalez-sz5nu Год назад

    Hello mate why won't my voiceflow doc be found on my Mac? It's done this before but I didn't rememberer what it was

    • @jannismoore
      @jannismoore  Год назад +1

      Do you mean the Voiceflow export template? It might be that it is hidden due to the file extension .vf - You might wanna search for that

    • @sonnygonzalez-sz5nu
      @sonnygonzalez-sz5nu Год назад

      @@jannismoore when I go to import the vf file I cannot select it on from my computer.

    • @jannismoore
      @jannismoore  Год назад +1

      @@sonnygonzalez-sz5nu when the uploaded appears, try to drag and drop the file into it. If that still doesn’t work, please do let me know

  • @prettyflyforanAIguy
    @prettyflyforanAIguy Год назад

    Hey dude. Quick Q
    How do I add a website's sitemap to the resources section (assuming I don't want to use text for the company details)?

    • @jannismoore
      @jannismoore  Год назад

      You need to translate it into a format that Retrieval supports. Here's a list of all available types: platform.openai.com/docs/assistants/tools/supported-files

  • @colinhines869
    @colinhines869 Год назад

    I’ve imported the replit and the functions.py file isn’t there. I’ve tried opening this template in multiple replits and it doesn’t pop up. What should I do?

    • @Alpha_living
      @Alpha_living Год назад

      im having the same problem

    • @jannismoore
      @jannismoore  Год назад

      I guess you're mixing up the templates. The very first template we created had a functions.php file, but with the revamped version of the AI chatbot template, I made things more modular so that you can simply copy-paste tools in between various extensions. I suggest to check out this playlist: ruclips.net/video/X2ADW4191Jw/видео.html&pp=gAQBiAQB

    • @jannismoore
      @jannismoore  Год назад

      Just commented this thread with an explanation - feel free to check it out

  • @JackMoss-g2e
    @JackMoss-g2e 11 месяцев назад

    How do I adjust the code when I link a property search API with a property database that contains images

    • @jannismoore
      @jannismoore  10 месяцев назад

      You can check out this video: ruclips.net/video/fA9OhRWOusI/видео.html
      And this one too: ruclips.net/video/oWUSkBM8gqA/видео.html

  • @Morikehadiafoot007
    @Morikehadiafoot007 9 месяцев назад

    Hi
    How can i create à code e-mail vérification whith Java script in voiceflow

    • @jannismoore
      @jannismoore  9 месяцев назад

      Voiceflow was very limiting if it comes to external requests through Javascript, but you can make it work by using variables in combination with their API module to send requests. I've made a video on that here: ruclips.net/video/oikr73vjvsk/видео.html

    • @Morikehadiafoot007
      @Morikehadiafoot007 9 месяцев назад

      Thank you bro i am in an i termediary lever whith chatbots but within two months i can become an expert so in case i would like to work with you

  • @raniarovich
    @raniarovich 11 месяцев назад

    whenever I run the code on voiceflow I get an api call error from my .dev url. Do I need to deploy on a vm?

    • @jannismoore
      @jannismoore  10 месяцев назад

      No need to deploy a VM. Replits free deployment should definitely be sufficient.
      What's the error about? Debugging this should give you a solution

  • @roverdrammen3977
    @roverdrammen3977 Год назад

    Your tutorial is very good, but I have several questions...
    What happens when a user responds through independent text entries? You know, when in line 1 they write "I'm looking for an apartment" and in line 2 they write "in Miami, Florida". Is the system prepared for those scenarios?
    Considering the last example, is it possible to leave a waiting margin before the AI tries to generate a response? That is, could we give a 30-second margin before the AI even attempts to analyze the user's response?
    In this example, you are providing only text-based responses, would it be possible to add responses that include galleries? Galleries are modules available on platforms like Facebook and Instagram, would it be possible to implement AI in these conversation channels?
    Although the effort that all self-proclaimed AI experts put into creating these videos is valid, they always leave aside many necessary things, and their demos are always executed in a controlled manner, knowing that in production the AI will encounter an infinity of variables due to the types of users who may come to communicate.
    I hope you can share your comments on my questions. Thanks for your time!

    • @jannismoore
      @jannismoore  Год назад

      1. It would try to send a secondary request.
      2. It would be possible - you can do that in the main.py file. Though, 30 seconds is a pretty long time and might affect the bounce rate.
      3. Yes that would be possible. You would need to instruct the AI to provide the response in a specific format (JSON). You can then predefine the required fields wihtin an example JSON and add that to the instructions of the bot.
      There will never be any "AI Expert" who will not leave out points as that's just not in the nature of humans to either teach all, and neither for the viewers to understand all. With so many variables, I focus on what I deem important in my videos to give you guidance. Yes, there will definitely be questions, and yes, there are 100% some pitfalls, issues, or problems you'll encounter when outlining a project, but mostly anyone aims to make it as simple as possible for everyone.
      Sooo, with that out of the way, addressing the issues is great. If there are enough responses about something specific, I'm glad to consider that for a video.

  • @owner761
    @owner761 Год назад

    Hey what does we put in CUSTOM API KEY ?

    • @jannismoore
      @jannismoore  Год назад

      It's an extra security mechanism to protect your endpoints against external users. In the example, basically anyone could use the endpoints when they know your Replit or Server URL. Using this custom API key, you can set a token, which acts as a password. You can then adjust it as well for both the API modules inside of the Voiceflow chatbot template, and you're good to go.

  • @markcamerontampa
    @markcamerontampa 5 месяцев назад

    Hey Jannis, I did not see this under your resource hub, is it still on there? Thanks so much, this is awesome!

    • @jannismoore
      @jannismoore  5 месяцев назад

      It probably is - I don't think I have ever removed something from there :)

  • @lessmoneylessproblems5145
    @lessmoneylessproblems5145 Год назад +1

    Are you using GPT4? I am finding it very expensive to use this assistance API, a conversation with retrieval costing me like 1 $ per session, no way I can deploy assistance api into production…

    • @jannismoore
      @jannismoore  Год назад +1

      $1 per session? That sounds like something is running in a loop. I can tell you from experience that even deploying multiple assistants, I never had a single conversation that cost me nearly as much.
      If you're using the Replit template I provide, definitely look into the console regarding the actual retrieval requests. They should be comparably cheap.

    • @lessmoneylessproblems5145
      @lessmoneylessproblems5145 Год назад

      @@jannismoore thanks for the reply I’ll double check what’s going on.

    • @jannismoore
      @jannismoore  Год назад

      @@lessmoneylessproblems5145 also note that depending on your resources that you’ve added to the assistant, the creating of the assistant itself can cause higher prices. Thoguh, this is only a one-time thing when you create your assistant and doesn’t affect each chat.
      When you delete the assistant.json file, the assistant will be recreated.
      You can also see your deployed assistants visually within the OpenAI API dashboard

  • @khalidkifayat
    @khalidkifayat Год назад

    how much we should charge client for this Real Estate Lead Generation AI Chatbot (excluding other expenses) ?

    • @jannismoore
      @jannismoore  Год назад

      It usually depends on the size of it. We usually start at $500 for very simple chatbots. If we talk about enterprise-grade chatbots, you can easily have a $50k yearly contract (even though it's usually more)

    • @katimTouray-gm3ki
      @katimTouray-gm3ki 5 месяцев назад

      ​@@jannismoorethat's great but with the assistant API being expensive, won't $500 incur a huge loses?
      Please help me understand. I want to use this template for future clients

  • @mardini777
    @mardini777 Год назад

    Thank you for sharing. Just subscribed.

  • @GermanoGiuliani
    @GermanoGiuliani 11 месяцев назад

    Thanks Jannis, great tutorial, really. Everything works really fine, but after a couple of requets, the OpenAI assistant API sometimes stops to provide responses. Have you (or someone else) also experienced issues with this API? Same happens with the implementation from Liam Ottley.

    • @jannismoore
      @jannismoore  11 месяцев назад

      Hey! Do you still see the actual requests inside of the console of Replit whenever you send a new message? The console should definitely give you some insights on what might be wrong

  • @BetterHumanz
    @BetterHumanz Год назад

    awesome great video. Could you show an example of how you could use this to call an action that would load a video tutorial in the chat window from the "sample properties". So for example the user in chat wants a video tutorial on how to install a web3 wallet, the assistant would then load a video in the chat based on what's available in the sample properties file relative to the user's request. Not just the url to the video tutorial but the actual video so the user could watch it directly in chat or expand if they wanted to. Is that possible?

    • @jannismoore
      @jannismoore  Год назад

      Not sure about videos, but definitely about images. Will look into that and do a video if I see fit and it isn't too complex for people to recreate.

  • @AndreasLepsuch
    @AndreasLepsuch 8 месяцев назад

    why should i do this, when i can do all of the stuff in voiceflow itself. ?!?

    • @jannismoore
      @jannismoore  8 месяцев назад

      Maybe at this point of time, you can integrate it directly into Voiceflow. The template I showcase was version 1 of a separate assistant setup that integrates with way more features. The latest release is 2.0 which also supports Telegram, Discord, and other channels, along with predefined actions to further enhance the template. You can learn more about it here: ruclips.net/video/pfsdtnxTgSw/видео.html

  • @AITransformers
    @AITransformers Год назад

    This is awesome. Just wondering, what if a user starts chatting about something other than a real estate query, like a general chat. Will that waste our voiceflow credits or will it make the chatbot sound like chatgpt?

    • @jannismoore
      @jannismoore  Год назад

      It doesn't take Voiceflow credits as you're using OpenAI API, so their credits are used for any kind of conversations that happen there.
      The bot is limited through prompts, so depending on the way you instruct the bot, you can often prevent other conversations, but as you know, prompting can be very tricky and could also cause other results.
      However, you can counteract that by building in extra logic to terminate conversations in case something suspicious is provided through messaging. You can run them before that through a classifier for example. Just keep in mind that all of that takes further token credits.
      Hope that helps.

  •  Год назад

    Thank you! The assistant can actually send the property link or phots to the customer?

    • @jannismoore
      @jannismoore  Год назад

      It could. I'm already working on an enhanced version of the bot to support more elements.

    •  Год назад

      Amazing, I will try as well@@jannismoore

    •  Год назад

      I Always get an API request failed as soon as I write something in the chat@@jannismoore

    • @jannismoore
      @jannismoore  Год назад

      @ What is the HTTP status code of the response? That should already give you more details where to start debugging

    •  Год назад

      @@jannismoore The error is that apparently, no assistant was found with the ID created by the function

  • @salesgurupro
    @salesgurupro Год назад

    This is amazing Jannis. Thanks for sharing. How quick were the responses for the chatbot? I've heard a lot of cases where the openAI API takes forever to give back a response.

    • @jannismoore
      @jannismoore  Год назад

      With my chatbot tests, I received all of them in a few seconds. There are also other factors you need to include, like database searches, delays of other custom APIs, etc. Especially when it takes super long, it might not even be related to openAI, but to some issue directly within the Replit app. You can then look at the console to get more details

  • @migsanja9482
    @migsanja9482 Год назад

    Hallo Jannis, realy cool stuff. Just two questions. Why your are using the assistance api here instat of the AI Modul in Voiceflow? I think it's not only because of cheaper tokens right? I am buldig up I similar Assistent but only answering FAQs and collecting the Lead and sending to Airtabel. Voiceflow only with the Website as Knowledgebase schluld be enough here I think🙄 Second one, I am building an Voiceflow Assistent for an big German ecom store, how would you set up an Knowlagebase for 1k products? I have got some different advices from the Voiceflow Discord, with an Airtabel databases or with the Shopware Api dirictly? No matter that I don't know how to do both now😅What do you think is better and why?

    • @jannismoore
      @jannismoore  Год назад +1

      At the current time, I’d put this amount of products into a custom vector database. Feel free to take a look at providers like Qdrant

    • @migsanja9482
      @migsanja9482 Год назад

      Thank you will check out Qdrant

    • @_rd_kocaman
      @_rd_kocaman Год назад

      @@jannismoore can you do an example with a vector DBs?

    • @jannismoore
      @jannismoore  Год назад +2

      @@_rd_kocaman I can certainly make a video on how to configure your very own vector database using Qdrant so you don’t rely on their paid plans. I assume thats what you’re looking for?

    • @katimTouray-gm3ki
      @katimTouray-gm3ki 5 месяцев назад

      ​@@jannismoorethey would be great

  • @brunofuentes7160
    @brunofuentes7160 Год назад

    Thank you for this amazing content Jannis! About scalability, how many customers can use it at the same time?

    • @jannismoore
      @jannismoore  Год назад +1

      This really depends on the resources you add while deploying the replit code to a live system. The more performance you have, the more people can use it. By my understanding, a standard plan should certainly be sufficient for 100s conversations at the same time.

    • @brunofuentes7160
      @brunofuentes7160 Год назад

      ​@@jannismoore, thank you for your reply. Really appreciate your content! So, while I use OpenAI tokens directly on Replit, the Voiceflow tokens are not charged, right?

    • @jannismoore
      @jannismoore  Год назад +1

      @@brunofuentes7160 That's correct

  • @ganj0rm0n
    @ganj0rm0n Год назад

    Can you make a video on angolia? I wonder how it is different or better than google programmable search

    • @jannismoore
      @jannismoore  Год назад +1

      With Algolia you can index custom data based on your needs while Google works with its own website search. Think about it that way you can use any kind of dataset with Algolia to provide a super powerful search on top of it.

  • @anirudhthakur3453
    @anirudhthakur3453 Год назад

    Great video, Jannis.
    Is Replit mandatory or can we connect our Assistant directly to Voiceflow and make this chatbot appear on the destination website?

    • @jannismoore
      @jannismoore  Год назад +1

      You can make it appear without Replit, but it won't have any functionality then. Replit is the custom code base that basically runs all of the logic (backend) and Voiceflow is the visual interface that the user sees (Frontend).
      If you have devs at your hand, you can also replace replit with any kind of other server or codebase of your choice so you are't bound to replit.
      It's just an easy way for me to share the code necessary to achieve it.

  • @szy001
    @szy001 Год назад

    Thank you for great content Jannis. I guess all real estate agents/agencies already have websites with all the available properties that are filterable and contain all the information, including contact details. Why would anyone use a chatbot to get this data? What's the chatbot advantage in this case?

    • @jannismoore
      @jannismoore  Год назад +2

      Most websites should definitely have listings. It's more of providing the flexibility to the user as you can do more via natural language. You could also add the chatbot to other platforms like Facebook Messenger and give access to properties through different services where you otherwise couldn't filter that easily. Nevertheless, this bot is more of a proof of concept for now to show you the different ways on how you can leverage the new assistants API for your own chatbot without recreating everything from scratch (That's why there are three different type of endpoint integrations)

  • @ai_basics
    @ai_basics Год назад

    Crushin it Jannis

  • @nusquama
    @nusquama Год назад

    hi
    nice video !
    where can we download template ? 🙏

    • @jannismoore
      @jannismoore  Год назад

      They are all located inside of our resource hub (linked in the description)

  • @ricardopedroza9497
    @ricardopedroza9497 Год назад

    Where can I get the template?

    • @jannismoore
      @jannismoore  Год назад

      It's available within our resource hub. The link is within the video description. :)

    • @ricardopedroza9497
      @ricardopedroza9497 Год назад

      @@jannismoorewhere I sign up to be on the waitlist right?

    • @jannismoore
      @jannismoore  Год назад

      @@ricardopedroza9497 Nope you can simply head to the Resource Hub Link :)

    • @jannismoore
      @jannismoore  Год назад

      @@ricardopedroza9497 I've just updated the link to the direct one for your convenience.

    • @ricardopedroza9497
      @ricardopedroza9497 Год назад

      @@jannismoorethanks. Keep up the great videos 🫡